Ciao a tutti,
ho un grande problema... in un db su mysql devo fare la tabella degli utenti con rispettive password e username. La password nel db non è in chiaro, la memorizzo dopo averla passata alla funzione md5. per fare il controllo sul login uso la seguente funzione:
function login($usern,$passw){
$conn = dbConnect();
$query ="
SELECT *
FROM utenti
WHERE username ='".$usern."'";
$result = mysql_query($query) or die('errore nella query');
//se non c'è nessun utente con username = $usern
echo mysql_num_rows($result);
if(mysql_num_rows($result) ==0){
echo 'nessun utente trovato';
return FALSE;}
//numero di utenti
$row = mysql_fetch_row($result) or die('errore nella fetch_row');
mysql_close($conn);
echo md5($passw)." ? ".$row[8];
if(md5($passw)!=$row[8]){ //di controllo
echo " \n le password non coincidono";
}
return md5($passw)== $row[8];
}
il problema è ciò che ottengo facendo l'md5 sulla password è più lungo (ha 32 caratteri) di quello che ho nel db (20 caratteri) e cmq fino al 20° coincidono. perchè questo??
uso php 5.3 e mysql 5.1.37 in xampp su windows vista