Buona sera,
ho un serio problema con il mio sistema di login: una volta effettuata la registrazione la password dell'utente viene immagazzinata all'interno di un db dopo essere stata processata dalla funzione password_hash(). Nel sistema di login un if utilizza la funzione gemella password_verify() per controllare che la password immessa corrisponda a quella nel db, ma purtroppo sembra non funzionare(ho verificato di inserire la stessa passwd da ambo le parti)...
Qui le parti di codice interessate:
Registrazione:
Codice PHP:
$register = mysql_query("INSERT INTO utenti (nome, cognome, email, telefono, password, code, verifica) VALUES ('".$nome."', '".$cognome."', '".$email."', '".$telefono."', '".password_hash($pass)."', '".$code."', 'false') ") or die (mysql_error());
Login:
Codice PHP:
$controllo = mysql_query("SELECT * FROM utenti WHERE email = '".$email."' ") or die (mysql_error()); if(mysql_num_rows($controllo) == 0){ header('Location: login.php?error=1'); }
$find = mysql_fetch_array($controllo);
if($password == md5($find['password'])){ $_SESSION['id'] = $find['id']; $_SESSION['stat'] = true; echo "LOGIN ESEGUITO CON SUCCESSO"; //header('Location: home.php'); }else{ echo "<br>ERRORE, LOGIN FALLITO<br>"; //header('Location: login.php?error=2'); }
Sono ore che ci sbatto la testa, ma non sono riuscito a risolvere, cosa posso fare??