Autor | Zpráva | ||
---|---|---|---|
technik Profil |
#1 · Zasláno: 3. 3. 2010, 15:02:28
Tento kód by měl zkontrolovat data z formu, vygenerovat heslo, a to pak poslat. Chyba nastane na řádku 27.
<?php include "data/db_connect.php"; if (isset($_POST['submit'])){ if (empty($_POST['username'])){ echo "Nevyplnil jste jméno!"; exit(); } else{ $jmeno=$_POST['username']; } if (empty($_POST['email'])){ echo "Nevyplnil jste email!"; exit(); } else{ $heslo=$_POST['email']; } $cestina= mysql_query("SET CHARACTER SET utf8"); $query = mysql_query("SELECT username,email FROM `auth` WHERE username = `$jmeno`, email = `$email`" , $db_spoj); while ($polozka = mysql_fetch_array($query)){ if ($jmeno == $polozka['username']&&$email == $polozka['email']){ $moznosti= array("1","2","3","4","5","6","7","8","9","0","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"); $mista="15"; $heslo=""; for ($i=0 ;$i<=$mista-1 ;$i++){ $nahoda=rand(0, count($moznosti)-1); global $heslo.="$moznosti[$nahoda]"; } } else{ echo "Zadaná data se neschodují s ničím v databázi!"; } $zmena = mysql_query("UPDATE `auth` SET `password` = '$heslo' WHERE `username` = '$jmeno' AND `email` = '$email'", $db_spoj); $mrs="no-reply@mrs.xf.cz"; $predmet="MRS - Zapomenute heslo"; $zprava="Nekdo, patrne vy, pozadal o zaslani hesla k administracnimu uctu mrs. Bylo Vam vygenerovano nove heslo $heslo. To si muzete zmenit v nastaveni MRS."; echo "Na e-mail: $email byly odeslány přihlašovací údaje."; mail("$email", $predmet, $zprava, "From: " .$mrs); } ?> Chyba je : Parse error: parse error, expecting `','' or `';'' in /3w/xf.cz/m/m-rs/admin/lost_pass.php on line 27 |
||
AM_ Profil |
#2 · Zasláno: 3. 3. 2010, 15:30:25
Stačí si přeložit chybovou hlášku, na řádku 27 chybí středník. Je to strašný syntaktický paskvil, jednak nechápu, proč tam heslo deklaruješ jako global (což zřejmě působí ten problém, "global" tam nemá co dělat), druhak mi není jasné, proč tam tu proměnnou dáváš do uvozovek.
Vidím tam hned další chybu, tomu else pod tím chybí ukončovací závorka, asi toho tam budeš mít víc. |
||
Časová prodleva: 14 let
|
0