In fase di registrazione ho inserito un controllo per verificare se ad esempio user ed email siano già presenti nel db:
Codice PHP:
$query1 ="SELECT login,email FROM utenti";
$rs=mysql_query("$query1",$link) or die("query1 errata");
while ($riga=mysql_fetch_array($rs)) {
if ($riga[0] == $login) {
echo "Nome utente già in uso";
}elseif ($riga[1] == $email) {
echo "email già registrata";
}else{
$newpassword = sha1($password);
$query2 = "INSERT INTO utenti(login,password,email) VALUES('$login','$password','$email')";
mysql_query("$query2",$link) or die("query2 errata");
echo "registrazione effettuata";
}
}
Il ciclo non funziona correttamente...
Se utilizzo il primo user presente nel db (solo il primo), come output ottengo:
Nome utente già in usoQuery2 errata
Con qualunque altro user presente nel db invece ottengo solo il messaggio "Query2 errata" e me lo da perchè nel db il campo è settato come "unique" ma in pratica non mi fa i controlli dei primi 2 if.... il ciclo sembra ciclare solo una volta... :-s