- Home
- Categorie
- Coding e Sistemistica
- PHP
- controllo username
-
controllo username
ciao ragazzi ho questo problema:
in questo file effettuo l?inserimento dei dati degli utenti che si registrano mediante un form,
ma vorrei inserire un controllo sull?username.cioè se un utente inserisci un username già esistente deve dire che cè un errore. come posso fare?mi aiutate?<?php
//Connessione al database
mysql_connect('localhost', 'root','milano') or die('Non riesco a connettermi a MySQL');
mysql_select_db('tutoronline') or die('Non riesco a connettermi al Database');//Recupero i valori da una Form mediante il metodo POST
$username = @$_POST['username'];
$password = @$_POST['password'];
$nome= @$_POST['nome'];
$cognome = @$_POST['cognome'];
$indirizzo = @$_POST['indirizzo'];
$città = @$_POST['città'];
$CAP = @$_POST['CAP'];
$paese = @$_POST['paese'];
$provincia = @$_POST['provincia'];
$telefono1 = @$_POST['telefono1'];
$telefono2 = @$_POST['telefono2'];
$email = @$_POST['email'];
$confermaemail = @$_POST['confermaemail'];
$datanascita = @$_POST['datanascita'];
$sesso= @$_POST['sesso'];
$comunenascita = @$_POST['comunenascita'];
$codicefiscale = @$_POST['codicefiscale'];//Controllo se l' username e la password non sono vuoti if((!strlen($username) == 0) and (!strlen($password) == 0)){ $strSQL = "INSERT INTO utenti(username, password, nome, cognome, indirizzo, città, CAP, paese, provincia, telefono1, telefono2, email, confermaemail, sesso, comunenascita, codicefiscale)"; $strSQL .= "VALUES('$username', MD5('".$password."'), '$nome', '$cognome', '$indirizzo', '$città', '$CAP', '$paese', '$provincia', '$telefono1', '$telefono2', '$email', '$confermaemail', '$sesso', '$comunenascita', '$codicefiscale')"; mysql_query($strSQL); echo "<br>UTENTE INSERITO CON SUCCESSO!!!</a>"; } else{ echo "ATTENZINE!COMPILARE I CAMPI! INSERIMENTO NON EFFETTUATO !"; }
//Chiudo la connessione al db
mysql_close();//Visualizzo il link per l' homepage
?>
-
Non l'ho provato ma dovresti fare + o - così:
<?php //Connessione al database mysql_connect('localhost', 'root','milano') or die('Non riesco a connettermi a MySQL'); mysql_select_db('tutoronline') or die('Non riesco a connettermi al Database'); //Recupero i valori da una Form mediante il metodo POST $username = @$_POST['username']; $password = @$_POST['password']; $nome= @$_POST['nome']; $cognome = @$_POST['cognome']; $indirizzo = @$_POST['indirizzo']; $città = @$_POST['città']; $CAP = @$_POST['CAP']; $paese = @$_POST['paese']; $provincia = @$_POST['provincia']; $telefono1 = @$_POST['telefono1']; $telefono2 = @$_POST['telefono2']; $email = @$_POST['email']; $confermaemail = @$_POST['confermaemail']; $datanascita = @$_POST['datanascita']; $sesso= @$_POST['sesso']; $comunenascita = @$_POST['comunenascita']; $codicefiscale = @$_POST['codicefiscale']; $strSQL = "SELECT * FROM utenti WHERE username = '$username'"; $ris = mysql_query($strSQL); $trovato = mysql_num_rows($ris); //Controllo se l' username e la password non sono vuoti if(strlen($username) != 0 && strlen($password) != 0 && !trovato){ $strSQL = "INSERT INTO utenti(username, password, nome, cognome, indirizzo, città, CAP, paese, provincia, telefono1, telefono2, email, confermaemail, sesso, comunenascita, codicefiscale)"; $strSQL .= "VALUES('$username', MD5('".$password."'), '$nome', '$cognome', '$indirizzo', '$città', '$CAP', '$paese', '$provincia', '$telefono1', '$telefono2', '$email', '$confermaemail', '$sesso', '$comunenascita', '$codicefiscale')"; mysql_query($strSQL); echo "<br>UTENTE INSERITO CON SUCCESSO!!!</a>"; } else{ echo "ATTENZINE!COMPILARE I CAMPI! INSERIMENTO NON EFFETTUATO !"; } //Chiudo la connessione al db mysql_close(); //Visualizzo il link per l' homepage ?>
-
ciao, per funzionare ho uato questo
//CONTROLLO SE L'USERNAME UTILIZZATO DA UN NUOVO UTENTE E' GIA' IN USO OPPURE NO
$query = "SELECT username FROM utenti WHERE username = '$username'";
$result = mysql_query($query) or die("Errore nella query:".mysql_error());if (mysql_num_rows($result) > 0){ echo "Il nome $username è in uso"; echo "<a href=\"javascript:history.back()\">Torna Indietro</a>"; } else {
$strSQL = "INSERT INTO utenti(username, password, nome, cognome, indirizzo, città, CAP, paese, provincia, telefono1,
telefono2, email, confermaemail, datanascita, sesso, comunenascita, codicefiscale)";
$strSQL .= "VALUES('$username', MD5('".$password."'), '$nome', '$cognome', '$indirizzo', '$città', '$CAP', '$paese', '$provincia', '$telefono1',
'$telefono2', '$email', '$confermaemail', '".$datanascita."', '$sesso', '$comunenascita', '$codicefiscale')";mysql_query($strSQL)OR die("Errore nella query:".mysql_error()); echo "<br>UTENTE INSERITO CON SUCCESSO!!!</a>"; }
ma ora non mi va il controllo se il campo username o password sono vuoti.
come faccio a metterli insieme?
-
if (mysql_num_rows($result) > 0){ echo "Il nome $username è in uso"; echo "<a href=\"javascript:history.back()\">Torna Indietro</a>"; } else if((!strlen($username) == 0) and (!strlen($password) == 0)){ echo "ATTENZINE!COMPILARE I CAMPI! INSERIMENTO NON EFFETTUATO !"; echo "<a href=\"javascript:history.back()\">Torna Indietro</a>"; } else { $strSQL = "INSERT INTO utenti(username, password, nome, cognome, indirizzo, città, CAP, paese, provincia, telefono1, telefono2, email, confermaemail, datanascita, sesso, comunenascita, codicefiscale)"; $strSQL .= "VALUES('$username', MD5('".$password."'), '$nome', '$cognome', '$indirizzo', '$città', '$CAP', '$paese', '$provincia', '$telefono1', '$telefono2', '$email', '$confermaemail', '".$datanascita."', '$sesso', '$comunenascita', '$codicefiscale')"; mysql_query($strSQL)OR die("Errore nella query:".mysql_error()); echo "<br>UTENTE INSERITO CON SUCCESSO!!!</a>"; }
-
ciao ho provato come mi hai scritto ma se lascio i campi vuoti mi inserisce un utente con username nullo e non mi da nessun errore
-
Hai ragione, l'if é così:
elseif((strlen($username) == 0) || (strlen($password) == 0)){
-
ok grazie ora funziona benissimo
grazie mille