Autor Zpráva
Thriller
Profil *
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
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
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
mysql_query ("insert into uzivatele (jmeno, prijmeni, email, heslo) values ('".$_POST["jmeno"]."', '".$_POST["prijmeni"]."', '".$_POST["email"]."', '"
      .$_POST["heslo"]."'); $link);
=> .$_POST["heslo"]."'", $link);
Takto?
SwimX
Profil
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 *
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 *
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
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 *
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
md5$_POST["heslo"]
tady ti chybí nějaké kulaté závorky
Thriller
Profil *
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
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 *
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
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..

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: