Visualizzazione risultati 1 fino 4 di 4

Discussione: [PHP] Vorrei migliorare il mio script per la registrazione [era:Aiuto registrazione]

  1. #1
    Guest

    Predefinito [PHP] Vorrei migliorare il mio script per la registrazione [era:Aiuto registrazione]

    Salve, ho questo script di registrazione e vorrei fare alcune cose per migliorarlo:

    _se l'utente o l'email sono già presenti nel db te lo segnala
    _criptare la password



    registration.php
    Codice PHP:
    <form method="post" action="registra.php">
    <
    table width="101%" border="0">
    <
    tr>
    <
    td width="15%">Username: </td>
    <
    td width="20%"><input type="text" name="username" id="username" size="30" /></td>
    <
    td>&nbsp;</td>
    </
    tr>
    <
    tr>
    <
    td><span class="Stile5">Password</span>:</td>
    <
    td ><input type="password" name="pass1" id="password" size="30" /></td>
    <
    td>&nbsp;</td>
    </
    tr>
    <
    tr>
    <
    td>Conferma:</td>
    <
    td><input type="password" name="pass2" id="password" size="30" /></td>
    <
    td>&nbsp;</td>
    </
    tr>
    <
    tr>
    <
    td>E-mail:</td>
    <
    td><input type="text" name="mail" id="mail" size="30" /></td>
    <
    td>&nbsp;</td>
    </
    tr>
    </
    table>
    <
    table width="100%" border="0">
    <
    tr>
    <
    td width="15%">&nbsp;</td>
    <
    td width="20%">&nbsp;</td>
    <
    td>&nbsp;</td>
    </
    tr>
    <
    tr>
    <
    td><span class="Stile5">Nome:</span></td>
    <
    td ><input type="text" name="Nome" id="Nome" size="30" /></td>
    <
    td>&nbsp;</td>
    </
    tr>
    <
    tr>
    <
    td>Cognome:</td>
    <
    td><input type="text" name="Cognome" id="Cognome" size="30" /></td>
    <
    td>&nbsp;</td>
    </
    tr>
    <
    tr>
    <
    td>Data di nascita:</td>
    <
    td><input type="text" name="Nascita" id="Nascita" size="30" value="GG/MM/AAAA" /></td>
    <
    td>&nbsp;</td>
    </
    tr>
    </
    table>
    <
    table width="100%" border="0">
    <
    tr>
    <
    td width="15%"><span class="Stile5">Indirizzo:</span></td>
    <
    td width="20%" ><input type="text" name="Indirizzo" id="Indirizzo" size="30" /></td>
    <
    td>&nbsp;</td>
    </
    tr>
    <
    tr>
    <
    td>Citt&agrave;:</td>
    <
    td><input type="text" name="Citta" id="Citta" size="30" /></td>
    <
    td>&nbsp;</td>
    </
    tr>
    <
    tr>
    <
    td height="24">CAP:</td>
    <
    td><input type="text" name="CAP" id="CAP" size="30" /></td>
    <
    td>&nbsp;</td>
    </
    tr>
    </
    table>
    <
    table width="100%" border="0">
    <
    tr>
    <
    td width="15%">Provincia:</td>
    <
    td width="20%"><input type="text" name="Provincia" id="Provincia" size="30" /></td>
    <
    td>&nbsp;</td>
    </
    tr>
    <
    tr>
    <
    td><span class="Stile5">Stato:</span></td>
    <
    td ><input type="text" name="Stato" id="Stato" size="30" /></td>
    <
    td>&nbsp;</td>
    </
    tr>
    </
    table>
    <
    p>
    <
    input type="submit" name="pulsante" value="Invia" />
    </
    p>
    </
    form>

    registra.php
    Codice PHP:
    <?php
    include ("config.inc.php");
    include(
    "connect.php");

    $username = $_POST['username'];
    $pass1 = $_POST['pass1'];
    $pass2 = $_POST['pass2'];
    $mail = $_POST['mail'];
    $Nome = $_POST['Nome'];
    $Cognome = $_POST['Cognome'];
    $Nascita = $_POST['Nascita'];
    $Indirizzo = $_POST['Indirizzo'];
    $Citta = $_POST['Citta'];
    $CAP = $_POST['CAP'];
    $Provincia = $_POST['Provincia'];
    $Stato = $_POST['Stato'];

    if ( empty(
    $username) ||empty($pass1) || empty($pass2) || empty($mail) || empty($Nome) || empty($Cognome) || empty($Nascita) || empty($Indirizzo) || empty($Citta) || empty($CAP) || empty($Provincia) || empty($Stato) ){
    echo
    'Uno o pi&ugrave; campi obbligatori sono vuoti!<br />';
    echo
    '<a href="#" onclick="history.go(-1);return false;"><h3>Torna indietro</h3></a>';
    }
    else
    {

    if(
    $password == $verifica)
    {
    if(
    get_magic_quotes_gpc())
    {
    $mail = stripslashes($mail);
    $password = stripslashes($pass1);
    $Nome = stripslashes($Nome);
    $Cognome = stripslashes($Cognome);
    $Nascita = stripslashes($Nascita);
    $Indirizzo = stripslashes($Indirizzo);
    $Citta = stripslashes($Citta);
    $CAP = stripslashes($CAP);
    $Provincia = stripslashes($Provincia);
    $Stato = stripslashes($Stato);
    }
    $mail = mysql_real_escape_string($mail);
    $password = mysql_real_escape_string($password);
    $Nome = mysql_real_escape_string($Nome);
    $Cognome = mysql_real_escape_string($Cognome);
    $Nascita = mysql_real_escape_string($Nascita);
    $Indirizzo = mysql_real_escape_string($Indirizzo);
    $Citta = mysql_real_escape_string($Citta);
    $CAP = mysql_real_escape_string($CAP);
    $Provincia = mysql_real_escape_string($Provincia);
    $Stato = mysql_real_escape_string($Stato);


    require
    'config.inc.php';
    require
    'connect.php';

    // preparo la query
    $query = "INSERT INTO utenti (Username,mail,password,nome,cognome,nascita,citta,cap,provincia,stato)
    VALUES ('
    $username','$mail','$pass1','$Nome','$Cognome','$Nascita','$Citta','$CAP','$Provincia','$Stato')";

    // lancio la query
    $result = mysql_query($query);

    // controllo l'esito
    if (!$result) {
    die(
    "Errore nella query. $query: " . mysql_error());
    }

    // chiudo la connessione a MySQL
    mysql_close();



    $mittente = "info@viaggimiraggi.it";
    echo
    'Registrazione eseguita con successo! Riceverai una mail di conferma nella tua casella di posta elettronica!';
    mail("$mail","Registrazione a Viaggi & Miraggi","

    Benvenuto in Viaggi & Miraggi.
    Siamo lieti di informarti che la registrazine è avvenuta con successo. Da adesso potrai far parte della nostra community arricchendo con il tuo materiale la banca dati che mettiamo a disposizione dei visitatori del nostro sito.

    Il tuo username è: \"
    $username\"
    La tua password è: \"
    $pass1\"

    Ti suggeriamo di conservare questa e-mail per conservare traccia della tua password.

    "
    ,"from: $mittente");
    }
    else
    {
    echo
    'Le due password che hai immesso non coincidono.<br /><a href="#" onclick="history.go(-1);return false;"><h3>Torna indietro</h3></a>';
    }
    }
    ?>

  2. #2
    Guest

    Predefinito

    Codice PHP:
    <?php
    include ("config.inc.php");
    include(
    "connect.php");

    $username = $_POST['username'];
    $pass1 = $_POST['pass1'];
    $pass2 = $_POST['pass2'];
    $mail = $_POST['mail'];
    $Nome = $_POST['Nome'];
    $Cognome = $_POST['Cognome'];
    $Nascita = $_POST['Nascita'];
    $Indirizzo = $_POST['Indirizzo'];
    $Citta = $_POST['Citta'];
    $CAP = $_POST['CAP'];
    $Provincia = $_POST['Provincia'];
    $Stato = $_POST['Stato'];

    if ( empty(
    $username) ||empty($pass1) || empty($pass2) || empty($mail) || empty($Nome) || empty($Cognome) || empty($Nascita) || empty($Indirizzo) || empty($Citta) || empty($CAP) || empty($Provincia) || empty($Stato) ){
    echo
    'Uno o pi&ugrave; campi obbligatori sono vuoti!<br />';
    echo
    '<a href="#" onclick="history.go(-1);return false;"><h3>Torna indietro</h3></a>';
    }
    else
    {

    if(
    $password == $verifica)
    {
    if(
    get_magic_quotes_gpc())
    {
    $mail = stripslashes($mail);
    $password = stripslashes($pass1);
    $Nome = stripslashes($Nome);
    $Cognome = stripslashes($Cognome);
    $Nascita = stripslashes($Nascita);
    $Indirizzo = stripslashes($Indirizzo);
    $Citta = stripslashes($Citta);
    $CAP = stripslashes($CAP);
    $Provincia = stripslashes($Provincia);
    $Stato = stripslashes($Stato);
    }
    $mail = mysql_real_escape_string($mail);
    $password = mysql_real_escape_string($password);
    $Nome = mysql_real_escape_string($Nome);
    $Cognome = mysql_real_escape_string($Cognome);
    $Nascita = mysql_real_escape_string($Nascita);
    $Indirizzo = mysql_real_escape_string($Indirizzo);
    $Citta = mysql_real_escape_string($Citta);
    $CAP = mysql_real_escape_string($CAP);
    $Provincia = mysql_real_escape_string($Provincia);
    $Stato = mysql_real_escape_string($Stato);


    require
    'config.inc.php';
    require
    'connect.php';

    //Verifico la presenza dell'username nel database
    $query = "SELECT * FROM utenti WHERE Username='$username'";
    $result = mysql_query($sql);
    $verify = mysql_fetch_row($result);

    //Verifico la presenza dell'e-mail nel database
    $query2 = "SELECT * FROM utenti WHERE mail='$mail'";
    $result2 = mysql_query($sql);
    $verify2 = mysql_fetch_row($result);

    if(
    count($verify))//Verifico se l'username esiste nel database almeno una volta
    {
    echo
    "Impossibile completare la registarzione: l'username '$userame' esiste già; scegline un altro!";
    }
    else
    if(
    count($verify2))//Verifico se l'e-mail esiste nel database almeno una volta
    {
    echo
    "Impossibile completare la registarzione: qualcuno ha già efettuato la registarzione con l'e-mail '$mail'; utilizzane un'altra!";
    }else{
    //altrimenti eseguo la query
    // preparo la query
    $query = "INSERT INTO utenti (Username,mail,password,nome,cognome,nascita,citta,cap,provincia,stato)
    VALUES ('
    $username','$mail','".md5($pass1)."','$Nome','$Cognome','$Nascita','$Citta','$CAP','$Provincia','$Stato')";

    // lancio la query
    $result = mysql_query($query);

    // controllo l'esito
    if (!$result) {
    die(
    "Errore nella query. $query: " . mysql_error());
    }

    // chiudo la connessione a MySQL
    mysql_close();


    $mittente = "info@viaggimiraggi.it";
    echo
    'Registrazione eseguita con successo! Riceverai una mail di conferma nella tua casella di posta elettronica!';
    mail("$mail","Registrazione a Viaggi & Miraggi","

    Benvenuto in Viaggi & Miraggi.
    Siamo lieti di informarti che la registrazine è avvenuta con successo. Da adesso potrai far parte della nostra community arricchendo con il tuo materiale la banca dati che mettiamo a disposizione dei visitatori del nostro sito.

    Il tuo username è: \"
    $username\"
    La tua password è: \"
    $pass1\"

    Ti suggeriamo di conservare questa e-mail per conservare traccia della tua password.

    "
    ,"from: $mittente");
    }
    }
    else
    {
    echo
    'Le due password che hai immesso non coincidono.<br /><a href="#" onclick="history.go(-1);return false;"><h3>Torna indietro</h3></a>';
    }
    }
    ?>
    Così dovrebe andare.
    In qusto modo la mail viene codificata con l'algoritmo md5, che è irreversibile, cioè che non potrà mai essere decodificato. Ciò significa che nessuno, anche accedendo al database, potrà mai risalire alla password, ma anche che nemmeno tu potrai riavere la password originale.
    In alternaiva puoi utilizare, al posto di md5, la codifica base64, che invece è decodificabile. Per codificare un valore in base64, usa la funzione base64_encode, mentre per decodificarlo base64_decode.
    In ogni caso ricorda che nella pagina di login, prima di verificare la corrispondenza tra la password inserita e quella nel database, devi codificarla nello stesso modo.

    Spero di esserti stato utile!

  3. #3
    Guest

    Predefinito

    scusate se mi intrometto ma serve anke a me uno script per la registrazione degli utenti.....mi chiedevo se potevate spiegarmi a breve parole come funziona quello scritto da enkantar...o meglio ancora, io ho utilizzato questo script:
    http://forum.it.altervista.org/php-m...tml#post663955
    ma gli utenti nn vengono registrati...sapreste dirmi il perke??
    Ultima modifica di argentinitaly : 01-04-2010 alle ore 15.32.37

  4. #4
    Guest

    Predefinito

    A me sembra che la guida sia a posto... Sicuro che il database funzioni correttamente?
    Cmq nn mi sembra una guida molto "professionale" (con tutto il rispetto per l'autore). Ce ne sn di molto migliori, prova:
    http://php.html.it/articoli/leggi/90...tenti-con-php/
    E' un articolo molto completo
    Personalmente, però, ti consiglierei, se hai una buona conoscenza di php, di crearti l'intero sistema da te: farsi le cose su misura è sempre il modo più preciso e affidabile, e scoprirai che non è una cosa complicata come pensi.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •