Autor | Zpráva | ||
---|---|---|---|
Thriller Profil * |
#1 · Zasláno: 8. 2. 2009, 12:16:26
Zdravím...
Prosím vás, kdybych chtěl dát registraci uživatelů na portál: Registrace nového uživatele: <? $link = mysql_connect("*******", "******", "*******"); mysql_select_db("*******"); $budemezobrazovat = true; if (!empty($_POST)) { $budemezobrazovat = false; echo "Nový uživatel je nyní zaregistrován"; mysql_query ("insert into uzivatele (jmeno, prijmeni, email, heslo) values ('".$_POST["jmeno"]."', '".$_POST[" prijmeni"]."', '".$_POST["email"]."', '".$_POST["heslo"]."'); $link); $lastid=mysql_insert_id(); } if ($budemezobrazovat):?> <form method="post" action="index.php?page=registrace"> Jméno: <input type="text" name="jmeno"><br> Příjmení: <input type="text" name="prijmeni"><br> E-mail: <input type="text" name="email"><br> Heslo: <input type="password" name="heslo"><br> <input type="submit" value="Zaregistrovat"> </form> <?endif;?> Tak co tam může být za chyba? Píše mi to, že na 13 řádku ("on line 13"), ale tam žádnou nevidím. |
||
nightfish Profil |
#2 · Zasláno: 8. 2. 2009, 12:23:18
„Tak co tam může být za chyba? Píše mi to, že na 13 řádku“
nevím, jestli s tebou chce někdo hrát "na schovávanou"... zřejmě by bylo obecně prospěšnější, kdybys sem tu chybovou hlášku zkopíroval, což? |
||
SwimX Profil |
#3 · Zasláno: 8. 2. 2009, 12:23:57
Thriller
mysql_query ("insert into uzivatele (jmeno, prijmeni, email, heslo) values ('".$_POST["jmeno"]."', '".$_POST[" prijmeni"]."', '".$_POST["email"]."', '".$_POST["heslo"]."'); $link); ty uvozovky nikde nekončí.. ten kód je velmi snadno zneužitelný. Koukni na SQL injection nemáš žádnou podmínku na vyplnění polí. ti tam budou lidi posílat prázdný řádky a zatěžovat db. a ty to budeš muset mazat. Takle brutálně: .$_POST["heslo"]. ukládat heslo je fuj. Ty uvidíš hesla uživatelů, nikdy bych se k tobě neregnul. hashuj je. Stačí aspon ".md5($_POST["heslo"])." |
||
Nox Profil |
#4 · Zasláno: 8. 2. 2009, 12:24:53 · Upravil/a: Nox
mysql_query ("insert into uzivatele (jmeno, prijmeni, email, heslo) values ('".$_POST["jmeno"]."', '".$_POST["prijmeni"]."', '".$_POST["email"]."', '" .$_POST["heslo"]."'); $link); => .$_POST["heslo"]."'", $link); |
||
SwimX Profil |
#5 · Zasláno: 8. 2. 2009, 12:26:00
nightfish
Parse error: syntax error, unexpected T_STRING in C:\Program Files\xampp\htdocs\www\diskuse\Novy9.php on line 13 Thriller I PSPad Editor zvýrazňuje syntaxi, takže když máš najednou třeba =mysql_insert_id(); zelený, tak bude chyba někde v uvozovkách ;) |
||
Thriller Profil * |
#6 · Zasláno: 8. 2. 2009, 12:31:27
nightfish
Chybová hláška: Parse error: syntax error, unexpected T_STRING in /home/free/ezin.cz/t/thukop/root/www/registrace.php on line 13 SwimX O tom já vím. Registrovat nové uživatele bych chtěl jenom já (na požádání). Dělám stránky pro můt tým a chci zaregistrovat jen členy týmu. Kdyby to bylo veřejné, měl bych tam hafo dalších lidí. Jinak dík za to hashování, to tam samozřejmě taky dám. Teď jenom chci otestovat jestli mi ta registrace funguje. |
||
Thriller Profil * |
#7 · Zasláno: 8. 2. 2009, 12:44:44
Teď mi to píše zase:
Parse error: syntax error, unexpected T_VARIABLE in /home/free/ezin.cz/t/thukop/root/www/registrace.php on line 10 Jinak jsem tam dal uvozovky a to hashování, ale pořád to nejde: Registrace nového uživatele: <? $link = mysql_connect("mysql.ezin.cz", "ez_thukop", "mrazek"); mysql_select_db("ez_thukop"); $BudemeZobrazovat = true; if (!empty($_POST)) { $BudemeZobrazovat = false; echo "Nový uživatel je nyní zaregistrován"; mysql_query ("insert into uzivatele (jmeno, prijmeni, email, heslo) values ('".$_POST["jmeno"]."', '".$_POST[" prijmeni"]."', '".$_POST["email"]."', '".md5$_POST["heslo"]."'"); $link); $lastid=mysql_insert_id(); } if ($BudemeZobrazovat):?> <form method="post" action="index.php?page=registrace"> Jméno: <input type="text" name="jmeno"><br> Příjmení: <input type="text" name="prijmeni"><br> E-mail: <input type="text" name="email"><br> Heslo: <input type="password" name="heslo"><br> </form> <?endif;?> |
||
SwimX Profil |
#8 · Zasláno: 8. 2. 2009, 12:48:15 · Upravil/a: SwimX
Thriller
mysql_query ("insert into uzivatele (jmeno, prijmeni, email, heslo) values ('".$_POST["jmeno"]."', '".$_POST[" prijmeni"]."', '".$_POST["email"]."', '".md5$_POST["heslo"]."'"); $link); co to tam dělá? ten link je za závorkou která ukončuje mysql_query; Jinak teď koukám že Nox [#4] ti to napsal: => .$_POST["heslo"]."'", $link); |
||
Thriller Profil * |
#9 · Zasláno: 8. 2. 2009, 12:55:27
Dobrá, ale pořád mi to píše tohle:
Parse error: syntax error, unexpected T_VARIABLE in /home/free/ezin.cz/t/thukop/root/www/registrace.php on line 10 i když jsem to opravil. |
||
nightfish Profil |
#10 · Zasláno: 8. 2. 2009, 12:57:21
„md5$_POST["heslo"]“
tady ti chybí nějaké kulaté závorky |
||
Thriller Profil * |
#11 · Zasláno: 8. 2. 2009, 13:09:40
Doplnil jsem tam :
.md5($_POST["heslo"]). a fungovalo to :-) (tedy alespoň se to zobrazilo). Ale když ty údaje všechny vyplním a odešlu, tak se mi v databázi nezobrazí. Musí tam být ještě nějaká chyba. |
||
SwimX Profil |
#12 · Zasláno: 8. 2. 2009, 13:19:49
Thriller
no v syntaxi už není takže teď už hledej a testuj. co je v proměnné $link; udělej si echo toho dotazu ať vidíš co posíláš db atd.. |
||
Thriller Profil * |
#13 · Zasláno: 8. 2. 2009, 14:04:35
Když napíšu:
<? echo $link; ?> tak mit o vypíše: Resource id #5 a když napíšu: <? $odeslat=mysql_query ("insert into uzivatele (jmeno, prijmeni, email, heslo) values ('".$_POST["jmeno"]."', '".$_POST["prijmeni"]."', '".$_POST["email"]."', '".md5($_POST["heslo"])."'", $link); echo $odeslat; ?> tak mi to nezobrazilo nic. |
||
SwimX Profil |
#14 · Zasláno: 8. 2. 2009, 15:28:41
Thriller
„a když napíšu: [...] tak mi to nezobrazilo nic.“ no asi proto, že mysql_query nevrací nic co bysme tady chtěli vypsat. Todle si nech vypsat: $odeslat="insert into uzivatele (jmeno, prijmeni, email, heslo) values ('".$_POST["jmeno"]."', '".$_POST["prijmeni"]."', '".$_POST["email"]."', '".md5($_POST["heslo"])."'"; echo $odeslat; a pak hledej chybu, proč to není v databázi.. |
||
Časová prodleva: 16 let
|
0