• User Attivo

    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]


  • User Attivo

    ops ho sbagliato sezione.. per favore mod spostate la discussione, chiedo venia..


  • Bannato User Attivo

    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


  • User Attivo

    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?


  • Super User

    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!