- Home
- Categorie
- Coding e Sistemistica
- PHP
- Evitare registrazione con stesso username e password
-
Evitare registrazione con stesso username e password
ragazzi mi stavo sbizarrendo nella creazione di uno scriptello per la registrazione di utenti, ma mi sono accorto che permette la registrazione di due utenti con lo stesso Username o Email. Come posso ovviare al problema?
Il file in questione è il seguente:
[php]
<?/*
- Creato Da: Pixelate
- Nome File: Registrazione.php
*/
/* Connessione Al Server Mysql */
$db = mysql_connect ('localhost','root') or die ("Impossibile connettere al server Mysql, verifica i dati e successivamente riprova.");/* Selezione Del Database Mysql */
mysql_select_db('database', $db) or die ("Impossibile selezionare il database specificato, verifica i dati e successivamente riprova.");/* Acquisizione Variabili Registrazione Da Register.php */
$username = @$_POST['username'];
$password = @$_POST['password'];
$email = @$_POST['email'];/* Impostazioni Su Variabili acquisite */
// Criptazione MD5 Password
$passwordcript = md5('$password');// Controllo: Rimpiazziare Caratteri Su Variabili Acquisite
$username = str_replace("<", "<", $username);
$username = str_replace(">", ">", $username);
$password = str_replace("<", "<", $password);
$password = str_replace(">", ">", $password);// Controllo: Eliminare Spazi [Inizio - Fine] Su Variabili Acquisite
(trim($username) == "");
(trim($password) == "");// Controllo: Verifica Lunghezza Variabili Acquisite
if (strlen($username) < 6 or strlen($password) < 6) {$WarnUsr = "<strong>Username</strong> o <strong>Password</strong> troppo corti. La loro lunghezza minima è di 6 caratteri.";
echo "$WarnUsr";
}// Esecuzione Query Di Inserimento In Database Mysql
else {
$query = "INSERT INTO utenti (username, password, email) VALUES ('$username', '$passwordcript', '$email')";echo "La registrazione è avvenuta correttamente. Adesso puoi effettuare il login.";
}// Chiusura Connessione Al Server Mysql
mysql_close($db);?>[/php]
-
ops ho sbagliato sezione.. per favore mod spostate la discussione, chiedo venia..
-
Spostato.
Ciao,
puoi estrarre tutti gli username dal database con un mysql felch array e verificare se $passsword_db == $password_scelta
$password_db ovviamente è un array e contiene tutte le pass del db.
Ciao
-
sembrerà strano ma c'ero arrivato ora però un domanda, nel momento in cui la gente effettua il login posso usare sempre il mysql fetch array x verificare se nel database sono già presenti determinati nick e password?
-
Certo
Puoi fare così:
[php]if(in_array($username_di_login,$fetch_array) AND in_array($password_di_login,$fetch_array)){
//nick e password già presenti nel db
}
else{
// nick e password non esistenti
}[/php]Ciao!