Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Registrazione utenti

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2000
    Messaggi
    194

    Registrazione utenti

    Ciao a tutti!
    ho un dubbio per la registrazione utenti essendo alle prime armi.

    Se ho un form di inserimento NUOVO UTENTE con Username e Password e devo verificare se lo username è già presente a Db per avvertire l'utente di cambiarlo, come devo fare?

    ES. Io ho provato con:

    1) Ho il form che salvando manda i dati con POST ad una pagina salva_utente.php
    2) Se lo username inserito è uguale ad uno username già presente a db lo avverto.
    3) Altrimenti salvo i dati nel db.

    Beh, il fatto è che se qualcuno mi posta un metodo di controllo della fase 2 me ne faccio un'idea... altrimenti io lavorerei con gli IF/ELSE ma con scarso risultato...

    ES.
    1) Ricevo i nuovi dati dal form con POST
    2) faccio una query a db confrontando i valori username_nuovo con username_vecchi a db con IF/ELSE.

    Solo che ci ho provato... ma o mi salva lo stesso i dati, oppure mi da una pagina bianca e non me li salva...

  2. #2
    fai una query che estrae dal database tutti i record con username uguale a quello del form... se il numero di record è maggiore di zero esiste già altrimenti lo puoi inserire...
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2000
    Messaggi
    194
    Grande! non ci avevo pensato...
    TNX!

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    La logica è molto semplice.
    Tu invii username e password dal tuo form.

    Una volta che li hai recuperati fai una query sul database del tipo

    select nomeutente,password from tabella where username = '$username' and password = '$password';

    a questo punto usi la funzione mysql_num_rows()
    $righe = mysql_num_rows(della tua query)
    e fai un if in base al valore contenuto in $righe.
    Se è pari a 0 vuol dire che non è presenti e quindi lo inserisci con la tua query di insert.
    Se è > 0 (e quindi è uguale a 1) vuol dire che esiste già e quindi stampi un messaggio e magari un link verso il form.

  5. #5
    non fare il controllo anche sulla password altrimenti rischi di inserire comunque doppi utenti però...
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2000
    Messaggi
    194
    OK! FATTO E FUNZIONA.
    LO TRASCRIVO PER CHI NE HA NECESSITA!.

    // RECUPERO I DATI DAL FORM DI REGISTRAZIONE
    $form_username = $_POST['username'];
    $form_pwd = $_POST['password'];

    // Query di verifica esistenza username
    $query = "SELECT * FROM utenti WHERE username='$form_username'";
    $rs = @mysql_query($query) or die("Errore query database: " . mysql_error());

    $num_righe = mysql_num_rows($rs);

    //TEST PER VEDERE SE EFFETTIVAMENTE C'E' UN CONTROLLO SUL NUM ROW
    //echo "$num_righe RIGHE";

    // VERIFICO LA CONDIZIONE CHE SE IL NUM ROW E' MAGGIORE DI ZERO
    // ALLORA MI DEVE AVVERTIRE DI CAMBIARE USERNAME
    if ($num_righe > 0) {

    // STAMPO IL MESSAGGIO DI ERRORE ALL'UTENTE
    echo "[b]ATTENZIONE!
    Lo Username scelto risulta già esistente.

    Tornare indietro e riprovare";
    } ELSE {

    // SE INVECE LO USERNAME NON E' ESISTENTE ALLORA SALVO L'UTENTE
    //IN TABELLA

    $query = "INSERT INTO utenti (username,pwd) VALUES ('$form_username','$form_pwd')";
    $risultato = @mysql_query($query) or die("Errore query database: " . mysql_error());

    // STAMPO IL MESSAGGIO DI CONFERMA ALL'UTENTE
    echo "

    Salvataggio effettuato con successo.

    ";
    }


    GRAZIE A TUTTI PER L'AIUTO!
    CIAOOOO

  7. #7
    grazie ardand, cercavo la stessa cosa anche io oggi
    "Frase di elevato spessore culturale che ti lascia a riflettere con stupore misto a invidia per non aver pensato di metterla nella tua firma"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.