- Home
- Categorie
- Coding e Sistemistica
- PHP
- controllo utente esiste già
-
controllo utente esiste già
ciao ragazzi,
ho creato un form dove un utente iserisce i suoi dati e sulla maggior parte dei campi effettuo un controllo su lato client con degli script js.
ma ora vorrei fare la stessa per controllare che il nome utente esista già o meno, ma non so' come fare?
-
L'utente dovrai controllarlo lato server. In ogni caso é necessario che tutti i controlli che fai lato client li ripeti lato server per evitare problemi in caso di JS disabilitato e anche per evitare SPAM.
-
fai una richiesta al db con quel nome utente.. se esiste già, dai errore!
-
oppure, fai attenzione che sul tuo DB il nome utente debba essere unico. Se è così, quando proverai ad inserire un nome utente già esistente, ti darà automaticamente errore sulla query (die("bla bla bla"))
-
io uso questo codice:
[PHP]# controlla che il nome utente scelto non sia già presente nel database
$query3 = "SELECT * FROMnometabella
";
$result3 = mysql_query($query3);
while($r3=mysql_fetch_array($result3)){
$username = "$r3[user]";
if($user == $username){
echo "Spiacente nome utente già scelto.";
die();
}
};[/PHP]
-
@Thedarkita said:
io uso questo codice:
[php]# controlla che il nome utente scelto non sia già presente nel database
$query3 = "SELECT * FROMnometabella
";
$result3 = mysql_query($query3);
while($r3=mysql_fetch_array($result3)){
$username = "$r3[user]";
if($user == $username){
echo "Spiacente nome utente già scelto.";
die();
}
};[/php]Ti sconsiglio altamente di fare un controllo in questo modo, é veramente un ciclo distruttivo leggere tutta la tabella per controllare se esiste un utente. Bastava che la query fosse:
$query3 = "SELECT * FROM
nometabella
WHERE user = '$user'";
-
Quoto e rilancio:
io farei un $query3 = "SELECT COUNT(*) FROMnometabella
WHERE user = '".$user."'";se mi da 0 procedi altrimenti errore