Registrace - nefunkční INSERT INTO – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Registrace - nefunkční INSERT INTO – PHP – Fórum – Programujte.comRegistrace - nefunkční INSERT INTO – PHP – Fórum – Programujte.com

 

Šimon Rácz
~ Anonymní uživatel
11 příspěvků
25. 2. 2012   #1
-
0
-

Dobrý den,

zde mám formulář:

<h2>Registrace</h2>

<form action="?page=reg" method="post">
<label>Křestní jméno:</label><br>
<input type="text" name="jmeno"><br>
<label>Přijmení:</label><br>            
<input type="text" name="prijmeni"><br>
<label>Váš E-mail:</label><br>
<input type="text" name="email"><br>
<label>Heslo:</label><br>
<input type="password" name="heslo"><br>
<label>Jsem:</label><br>
<select name="pohlavi">
<option>Muž</option>
<option>Žena</option>
</select><br>
<input type="submit" value="Přihlásit" class="button">

</form>

zde PHP kód:

<?php
require "config.php";
$jmeno = $_POST['jmeno'];
$prijmeni = $_POST['prijmeni'];
$email = $_POST['email'];
$heslo = $_POST['heslo'];
$pohlavi = $_POST['pohlavi']; 
$vysledky=mysql_query($dotaz,$db);
if($vysledky) {
$dotaz = 'INSERT INTO uziv (jmeno, prijmeni, email, heslo, pohlavi) VALUES ("'. $jmeno. '","'. $prijmeni. '","'. $email. '","'. $heslo. '","'. $pohlavi.'")';
echo "Registrace úspěšná!";
} else {
echo "Registrace nebyla provedena.";
}
?>

a zde vyvolávaný "config.php":

<?php
$host='spravne-udaje';
$uzivatel='spravne-udaje';
$heslo='spravne-udaje';
$databaze='spravne-udaje';
$db = mysql_connect($host, $uzivatel, $heslo) or die('Neda se pripojit k serveru.');
mysql_select_db($databaze ,$db) or die(mysql_error($db));
mysql_query('SET NAMES UTF8');
mysql_query('SET COLLATION_CONNECTION=utf8_czech_ci');
$vysledek=mysql_query($dotaz);
$zaznam=mysql_fetch_array($vysledek);
?>

Nevíte, proč mi to pořád vypisuje : "Registrace nebyla provedena."? Už jsem zkoušel vše tak se obracím na vás.

Nahlásit jako SPAM
IP: 85.207.18.–
zlz
~ Anonymní uživatel
634 příspěvků
25. 2. 2012   #2
-
0
-

$dotaz sestavuješ nastavuješ až po mysql_query.

A pozorně si přečti toto.

Nahlásit jako SPAM
IP: 213.211.51.–
Alex Candle0
Newbie
25. 2. 2012   #3
-
0
-

Mohl bys mi ten kód upravit a napsat, jak má být? Za to ti bych byl vděčný. V tomhle se moc nevyznám.

Nahlásit jako SPAM
IP: 85.207.18.–
Johnny
~ Anonymní uživatel
23 příspěvků
26. 2. 2012   #4
-
0
-

   

<?php
require "config.php";
$jmeno = $_POST['jmeno'];
$prijmeni = $_POST['prijmeni'];
$email = $_POST['email'];
$heslo = $_POST['heslo'];
$pohlavi = $_POST['pohlavi']; 
$vysledky = mysql_query($dotaz,$db);
$dotaz = 'INSERT INTO uziv (jmeno, prijmeni, email, heslo, pohlavi) VALUES ("'. $jmeno. '","'. $prijmeni. '","'. $email. '","'. $heslo. '","'. $pohlavi.'")';

if($vysledky) {
	echo "Registrace úspěšná!";
}else{
	echo "Registrace nebyla provedena.";
}
?>

To je správne :-)

Nahlásit jako SPAM
IP: 62.168.111.–
KIIV
~ Moderátor
+43
God of flame
26. 2. 2012   #5
-
0
-

#4 Johnny
ROTFL :D

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Johnny
~ Anonymní uživatel
23 příspěvků
26. 2. 2012   #6
-
0
-

Kurnik :-D Až teraz som si všimol, že sa to dáva do premennej :-D 

Toto je už správne :-D 

<?php
require "config.php";
$jmeno = $_POST['jmeno'];
$prijmeni = $_POST['prijmeni'];
$email = $_POST['email'];
$heslo = $_POST['heslo'];
$pohlavi = $_POST['pohlavi']; 

$dotaz = 'INSERT INTO uziv (jmeno, prijmeni, email, heslo, pohlavi) VALUES ("'. $jmeno. '","'. $prijmeni. '","'. $email. '","'. $heslo. '","'. $pohlavi.'")';
$vysledky = mysql_query($dotaz,$db);

if($vysledky) {
	echo "Registrace úspěšná!";
}else{
	echo "Registrace nebyla provedena.";
}
?>
Nahlásit jako SPAM
IP: 62.168.111.–
Alex Candle0
Newbie
26. 2. 2012   #7
-
0
-

Pořád to nefunguje. Píše to stejnou hlášku: "Registrace nebyla provedena."

Nahlásit jako SPAM
IP: 85.207.18.–
KIIV
~ Moderátor
+43
God of flame
26. 2. 2012   #8
-
0
-

a co takhle vypsat chybovou hlasku co vraci mysql? by byla o dost uzitecnejsi nez "neco nefunguje"

kazdopadne to nebude fungovat kdykoliv ti tam nekdo posle specialni znaky... a hlavne je to bezpecnostni dira velka jak svina

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Alex Candle0
Newbie
26. 2. 2012   #9
-
0
-

Jak říkám. V tomhle jsem začátečník. Jak mám tu chybu vypsat? Moc se omlouvám, ale tomuhle opravdu moc nerozumím.

Nahlásit jako SPAM
IP: 85.207.18.–
Alex Candle0
Newbie
26. 2. 2012   #10
-
0
-

A s tou bezpečností: ta tam není potřeba. Dělám to pro lidi, kteří sotva dokáží zapnout počítač.

Nahlásit jako SPAM
IP: 85.207.18.–
z_moravec
~ Redaktor
+3
Posthunter
26. 2. 2012   #11
-
0
-

#9 Alex Candle
Dej sem i strukturu tabulky.

Za řádek s mysql_query dej toto:

echo mysql_error();

#10 Alex Candle
Bezpečnost je nutné řešit vždycky!

Nahlásit jako SPAM
IP: 83.240.110.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Alex Candle0
Newbie
26. 2. 2012   #12
-
0
-

Píše to:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-jmeno, prijmeni, email, heslo, pohlavi,) VALUES ("1.údaj","2.údaj","email@email' at line 1.

A tu bezpečnost dořeším, až budu mít hotovou registraci. Nechci se teď zatěžovat dalšími chybami.

A jinak tu je struktura tabulky:

Nahlásit jako SPAM
IP: 85.207.18.–
z_moravec
~ Redaktor
+3
Posthunter
26. 2. 2012   #13
-
+1
-
Zajímavé

Zkus toto:

$dotaz = 'INSERT INTO uziv (`jmeno`, `prijmeni`, `email`, `heslo`, `pohlavi`) VALUES ("'. $jmeno. '","'. $prijmeni. '","'. $email. '","'. $heslo. '","'. $pohlavi.'")';
Nahlásit jako SPAM
IP: 83.240.110.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Alex Candle0
Newbie
26. 2. 2012   #14
-
0
-

Jo díky! Už to funguje :D

Nahlásit jako SPAM
IP: 85.207.18.–
Alex Candle0
Newbie
27. 2. 2012   #15
-
0
-

A ještě byh se chtěl zeptat: Jak udělat aby PHP ukládalo data s diakritikou? (háčky, čárky)

Nahlásit jako SPAM
IP: 85.207.18.–
KIIV
~ Moderátor
+43
God of flame
27. 2. 2012   #16
-
+1
-
Zajímavé

nastav kodovani znaku tak aby to odpovidalo jak v php tak ve spojedni do databaze (nebo primo v databazi)

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Alex Candle0
Newbie
27. 2. 2012   #17
-
0
-

Takže do index.php mám přidat: 

<meta http-equiv="Content-Type" content="text/html; charset=utf8-czech-ci">

a do config.php:

<?php
mysql_query('SET NAMES UTF8');
mysql_query('SET CHARACTER SET utf8-czech-ci');
?>

?

Nahlásit jako SPAM
IP: 85.207.18.–
KIIV
~ Moderátor
+43
God of flame
27. 2. 2012   #18
-
0
-

muze byt.. hlavne si taky cely index.php ulozit v utf8 jinak budes mit zmrseny znaky v prohlizeci (pokud bys je mel v jinem kodovani)

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 53 hostů

Podobná vlákna

Registrace — založil selkir

Registrace — založil Hierophant

FB registrace — založil Kakaku

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý