Visualizzazione risultati 1 fino 25 di 25

Discussione: [php]problema registrazione con email

  1. #1
    L'avatar di scope
    scope non è connesso Utente giovane
    Data registrazione
    21-01-2006
    Residenza
    /home/scope
    Messaggi
    93

    Exclamation [php]problema registrazione con email

    ciao a tutti, ho un problema cn uno script di registrazione: mi iscrivo, mi arriva l'email e clikko sul link per attivare l'user; ma mi da l'errore che i dati sn scorretti...Quando clikko sul link per attivare l'account dovrebbe iscrivere l'user su mysql ma mi che i dati inseriti sn scorretti...non capisco..
    ...SeGuImOs En PiE...!!!

  2. #2
    Guest

    Predefinito

    posta il link dell'email

  3. #3
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

  4. #4
    L'avatar di scope
    scope non è connesso Utente giovane
    Data registrazione
    21-01-2006
    Residenza
    /home/scope
    Messaggi
    93

    Predefinito registrazione

    questo è il file registrazione.php
    Codice PHP:
    <?php
    include "config.php";
    include
    "funzioni.php";
    $DB = new DB();

    // Si connette
    $DB->connect();
    IF(
    $_POST[mail]=='' or $_POST[nick]=='' or $_POST[pass]==''){
    if(
    $_POST[mail]=='' and $_POST[invia]!=''){$valore_1 ="Campo Obbligatorio";}
    if(
    $_POST[nick]=='' and $_POST[invia]!=''){$valore_2 ="Campo Obbligatorio";}
    if(
    $_POST[pass]=='' and $_POST[invia]!=''){$valore_3 ="Campo Obbligatorio";}

    echo
    "<form action='' method='post' name='registrazione'>
    Registrati
    <table><tr><td>Email</td><td><input type='text' name='mail' value='"
    ;
    echo
    stripslashes($_POST[mail]);
    echo
    "'> $valore_1</td></tr>
    <tr><td>Login</td><td><input type='text' name='nick' value='"
    ;
    echo
    stripslashes($_POST[nick]);
    echo
    "'> $valore_2</td></tr>
    <tr><td>Password</td><td><input type='password' name='pass' value='"
    ;
    echo
    stripslashes($_POST[pass]);
    echo
    "'> $valore_3</td></tr>
    <tr><td><input type='submit' name='invia' value='Registrati'></td><td><input type='reset' name='reset' value='reset'></td></tr>
    </table>
    "
    ; }
    else
    {
    //inizio ad elebarorare la registrazione
    $m = $_POST[mail];
    $corrispondenza_email = checkMail($m);
    if(
    $corrispondenza_email=="1")
    {

    $numero_a_caso = rand (1234,5678);
    $nickname = trim(addslashes($_POST[nick]));
    $pass = trim(addslashes($_POST[pass]));
    $controllo_db = mysql_query ("SELECT *
    FROM `utenti`
    WHERE `email` = '
    $m'
    or `nick` = '
    $nickname'
    LIMIT 0 , 1 "
    );
    $risultato_controllo = mysql_num_rows($controllo_db);
    if(
    $risultato_controllo=="0"){
    $psw_per_db = criptpass($pass);
    $inserisco_dati_di_registrazione = mysql_query("
    INSERT INTO `utenti` ( `id` , `email` , `nick` , `pass` , `stato` , `caso` )
    VALUES (
    NULL , '
    $m', '$nickname', '$psw_per_db', '0', '$numero_a_caso'
    )

    "
    );
    $id_user = mysql_insert_id();
    $messaggio = "Gentile utente $nickname,
    ricevi questo messaggio in quanto ti sei registrato sul sito
    $urldelvostrosito.
    Per completare la tua registrazione e diventare un membro attivo della nostra community non dovrai far altro che cliccare il link qui sotto"
    . $urldelvostrosito ."completa.php?user=$id_user&check=$numero_a_caso";
    mail($m, "Benvenuto su $urldelvostrosito", $messaggio,
    "From: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .
    "Reply-To: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .
    "X-Mailer: PHP/" . phpversion());
    echo
    "L'indirizzo di posta <b>$m</b> è corretto ed ho inviato una email con i dati della tua registrazione";
    }
    else
    {
    echo
    "Esiste già questo nome utente ($nickname) o questo indirizzo email ($m). Nel caso ti fossi dimenticato la password <a href=".$urldelvostrosito."dimentica.php>CLICCA QUI</a>";
    }

    }
    //FINE IF CON EMAIL CORRETTA
    else
    {
    Echo
    "L'indirizzo email <b>$m</b> da te inserito non è corretto";
    }

    }



    // Chiude
    $DB->disconnect();
    ...SeGuImOs En PiE...!!!

  5. #5
    Guest

    Predefinito

    io ribadisco: mi mandi il link che trovi nella email... forse si capisce meglio.

    $urldelvostrosito non è stata settata da nessuna parte

    completa.php cosa fa? ce lo fai vedere?

  6. #6
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Ci serve anche completa.php
    Nella pagina da te postata viene inviato un link con una serie di codici, che (salvati sul db), la pagina completa.php dovrebbe riconoscere.

  7. #7
    L'avatar di scope
    scope non è connesso Utente giovane
    Data registrazione
    21-01-2006
    Residenza
    /home/scope
    Messaggi
    93

    Predefinito

    ok ecco qua il link che mi arriva via mail
    Gentile utente scope,
    ricevi questo messaggio in quanto ti sei registrato sul sito
    http://www.scope.altervista.org/.
    Per completare la tua registrazione e diventare un membro attivo della nostra
    community non dovrai far altro che cliccare il link qui
    sottohttp://www.scope.altervista.org/completa.php?user=2&check=2182

    ed ecco la pagina completa.php
    Codice PHP:
    <?PHP
    include "config.php";
    include
    "funzioni.php";
    $DB = new DB();
    $DB->connect();
    $id_user = $_GET[id];
    $check_user = $_GET[check];
    if(
    is_numeric($id_user)){
    $id_user = $_GET[id];
    }
    else
    {
    $id_user = "1";}

    if(
    is_numeric($check_user)){
    $check_user = $_GET[check];
    }
    else
    {
    $check_user = "1";}

    $controllo_utente = mysql_query ("SELECT *
    FROM `utenti`
    WHERE `id` = '
    $id_user'
    AND `caso` = '
    $check_user'
    LIMIT 0 , 1 "
    );

    $verita = mysql_num_rows($controllo_utente);
    if (
    $verita =="1")
    {
    $aggiorno_utente = mysql_query ("UPDATE `utenti` SET `stato` = '1' WHERE `id` = '$id_user' LIMIT 1") ;

    Echo
    "
    <meta http-equiv=\"Refresh\" content=\"3; URL=login.php\">
    Grazie per esserti registrato su
    $urldelvostrosito. Tra pochi secondi verrai reindirizzato alla home page. Se non vuoi aspettare <a href=login.php>clicca qui</a>";

    }
    else
    {
    echo
    "Dati non corretti . <a href=registra.php>Torna al form di registrazione</a>";
    }
    ?>
    Ultima modifica di seneca : 02-08-2006 alle ore 13.24.41
    ...SeGuImOs En PiE...!!!

  8. #8
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Sei sicuro al 100% che si collega al db?
    Perchè quel codice dovrebbe essere corretto...praticamente cerca un utente che abbia come "caso" il numero dato da check...se c'è lo registra, senò dà errore..

  9. #9
    L'avatar di scope
    scope non è connesso Utente giovane
    Data registrazione
    21-01-2006
    Residenza
    /home/scope
    Messaggi
    93

    Predefinito

    si sono sicuro al 100%!

    EDIT: ho sbagliato ha configurare il file config.php!? BHO
    Codice PHP:
    <?php
    $urldelvostrosito
    = "http://www.scope.altervista.orgt/";
    class
    DB {

    var
    $ident;
    var
    $sql = array('host'=>'localhost','user'=>'scope','pass'=>'mia pass','db'=>'my_scope');

    function
    connect ()
    {
    // Si connette a MySQL
    $this->ident = mysql_connect($this->sql['host'], $this->sql['user'], $this->sql['pass']);

    // Sceglie il sb
    if (!mysql_select_db($this->sql['db'])) {
    die(
    "Could not connect to DB");
    }
    }

    function
    disconnect ()
    {
    // Chiude le connessione
    if (!mysql_close($this->ident)) {
    die(
    "Could not close DB");
    }
    }

    }



    ?>
    Ultima modifica di scope : 01-08-2006 alle ore 18.35.27 Motivo: bho
    ...SeGuImOs En PiE...!!!

  10. #10
    Guest

    Predefinito

    sicuramente il sito è sbagliato
    altervista.orgt?

  11. #11
    L'avatar di scope
    scope non è connesso Utente giovane
    Data registrazione
    21-01-2006
    Residenza
    /home/scope
    Messaggi
    93

    Predefinito

    no vabbè, è lo stesso ho provato a correggerlo ma nn cambia niente...
    ...SeGuImOs En PiE...!!!

  12. #12
    Guest

    Predefinito

    ma il link che ti arriva per email? come è?

  13. #13
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da demenziale
    ma il link che ti arriva per email? come è?
    Citazione Originalmente inviato da scope
    ok ecco qua il link che mi arriva via mail
    Gentile utente scope,
    ricevi questo messaggio in quanto ti sei registrato sul sito
    http://www.scope.altervista.org/.
    Per completare la tua registrazione e diventare un membro attivo della nostra
    community non dovrai far altro che cliccare il link qui
    sottohttp://www.scope.altervista.org/completa.php?user=2&check=2182
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  14. #14
    L'avatar di scope
    scope non è connesso Utente giovane
    Data registrazione
    21-01-2006
    Residenza
    /home/scope
    Messaggi
    93

    Predefinito

    e se levassi la funzione della registrazione via mail? Mi potete aiutare...
    ...SeGuImOs En PiE...!!!

  15. #15
    Guest

    Predefinito

    x funcool: demenziale rinco! :P
    no registrazione via email?

    Codice PHP:
    <?php
    include "config.php";
    include
    "funzioni.php";
    $DB = new DB();

    // Si connette
    $DB->connect();
    IF(
    $_POST[mail]=='' or $_POST[nick]=='' or $_POST[pass]==''){
    if(
    $_POST[mail]=='' and $_POST[invia]!=''){$valore_1 ="Campo Obbligatorio";}
    if(
    $_POST[nick]=='' and $_POST[invia]!=''){$valore_2 ="Campo Obbligatorio";}
    if(
    $_POST[pass]=='' and $_POST[invia]!=''){$valore_3 ="Campo Obbligatorio";}

    echo
    "<form action='' method='post' name='registrazione'>
    Registrati
    <table><tr><td>Email</td><td><input type='text' name='mail' value='"
    ;
    echo
    stripslashes($_POST[mail]);
    echo
    "'> $valore_1</td></tr>
    <tr><td>Login</td><td><input type='text' name='nick' value='"
    ;
    echo
    stripslashes($_POST[nick]);
    echo
    "'> $valore_2</td></tr>
    <tr><td>Password</td><td><input type='password' name='pass' value='"
    ;
    echo
    stripslashes($_POST[pass]);
    echo
    "'> $valore_3</td></tr>
    <tr><td><input type='submit' name='invia' value='Registrati'></td><td><input type='reset' name='reset' value='reset'></td></tr>
    </table>
    "
    ;

    //inizio ad elebarorare la registrazione
    $m = $_POST[mail];
    $numero_a_caso = rand (1234,5678);
    $nickname = trim(addslashes($_POST[nick]));
    $pass = trim(addslashes($_POST[pass]));
    $controllo_db = mysql_query ("SELECT *
    FROM `utenti`
    WHERE `email` = '
    $m'
    or `nick` = '
    $nickname'
    LIMIT 0 , 1 "
    );
    $risultato_controllo = mysql_num_rows($controllo_db);
    if(
    $risultato_controllo=="0"){
    $psw_per_db = criptpass($pass);
    $inserisco_dati_di_registrazione = mysql_query("
    INSERT INTO `utenti` ( `id` , `email` , `nick` , `pass` , `stato` , `caso` )
    VALUES (
    NULL , '
    $m', '$nickname', '$psw_per_db', '1', '$numero_a_caso'
    )

    "
    );

    else
    {
    echo
    "Esiste già questo nome utente ($nickname) o questo indirizzo email ($m). Nel caso ti fossi dimenticato la password <a href=".$urldelvostrosito."dimentica.php>CLICCA QUI</a>";
    }


    }

    Scusami se è un po' incasinato vedi se funge... L'email puoi bypassarla cambiando lo stato da 0 a 1. Vedi se funge questo codice (purtroppo ho fretta. Devo andare a mangiare. Pausa pranzo)

    Fammi sapere


    FunCool: Usa i tag appositi quando scrivi del codice.
    Ultima modifica di funcool : 02-08-2006 alle ore 12.38.38

  16. #16
    L'avatar di scope
    scope non è connesso Utente giovane
    Data registrazione
    21-01-2006
    Residenza
    /home/scope
    Messaggi
    93

    Predefinito

    mi dispiace manco cosi:
    Parse error: syntax error, unexpected T_ELSE in /membri/mioaccount/registrazione.php on line 49
    ...SeGuImOs En PiE...!!!

  17. #17
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Codice PHP:
    <?php
    include "config.php";
    include
    "funzioni.php";
    $DB = new DB();

    // Si connette
    $DB->connect();
    IF(
    $_POST[mail]=='' or $_POST[nick]=='' or $_POST[pass]==''){
    if(
    $_POST[mail]=='' and $_POST[invia]!=''){$valore_1 ="Campo Obbligatorio";}
    if(
    $_POST[nick]=='' and $_POST[invia]!=''){$valore_2 ="Campo Obbligatorio";}
    if(
    $_POST[pass]=='' and $_POST[invia]!=''){$valore_3 ="Campo Obbligatorio";}

    echo
    "<form action='' method='post' name='registrazione'>
    Registrati
    <table><tr><td>Email</td><td><input type='text' name='mail' value='"
    ;
    echo
    stripslashes($_POST[mail]);
    echo
    "'> $valore_1</td></tr>
    <tr><td>Login</td><td><input type='text' name='nick' value='"
    ;
    echo
    stripslashes($_POST[nick]);
    echo
    "'> $valore_2</td></tr>
    <tr><td>Password</td><td><input type='password' name='pass' value='"
    ;
    echo
    stripslashes($_POST[pass]);
    echo
    "'> $valore_3</td></tr>
    <tr><td><input type='submit' name='invia' value='Registrati'></td><td><input type='reset' name='reset' value='reset'></td></tr>
    </table>
    "
    ;

    //inizio ad elebarorare la registrazione
    $m = $_POST[mail];
    $numero_a_caso = rand (1234,5678);
    $nickname = trim(addslashes($_POST[nick]));
    $pass = trim(addslashes($_POST[pass]));
    $controllo_db = mysql_query ("SELECT *
    FROM `utenti`
    WHERE `email` = '
    $m'
    or `nick` = '
    $nickname'
    LIMIT 0 , 1 "
    );
    $risultato_controllo = mysql_num_rows($controllo_db);
    if(
    $risultato_controllo=="0"){
    $psw_per_db = criptpass($pass);
    $inserisco_dati_di_registrazione = mysql_query("
    INSERT INTO `utenti` ( `id` , `email` , `nick` , `pass` , `stato` , `caso` )
    VALUES (
    NULL , '
    $m', '$nickname', '$psw_per_db', '1', '$numero_a_caso'
    )

    "
    );
    }
    else
    {
    echo
    "Esiste già questo nome utente ($nickname) o questo indirizzo email ($m). Nel caso ti fossi dimenticato la password <a href=".$urldelvostrosito."dimentica.php>CLICCA QUI</a>";
    }


    }
    Così?

  18. #18
    L'avatar di scope
    scope non è connesso Utente giovane
    Data registrazione
    21-01-2006
    Residenza
    /home/scope
    Messaggi
    93

    Predefinito

    nn mi da più quell'errore ma quando vado a registrarmi, alla fine della registrazione mi da una pagina bianca, e quando vado a fare il login mi da che i dati sono scorretti!!
    ...SeGuImOs En PiE...!!!

  19. #19
    Guest

    Predefinito

    hai provato a vedere cosa c'è nella tabella se hai effettivamente fatto la registrazione?

    [edit]posta lo script del login

  20. #20
    L'avatar di scope
    scope non è connesso Utente giovane
    Data registrazione
    21-01-2006
    Residenza
    /home/scope
    Messaggi
    93

    Predefinito

    ok eccolo:
    Codice PHP:
    <?php
    include "config.php";
    include
    "funzioni.php";
    $DB = new DB();
    session_start();
    unset(
    $_SESSION['login']);
    unset(
    $_SESSION['psw']);
    // Si connette
    $DB->connect();
    $login = trim(addslashes($_POST[login]));
    $pass = trim(addslashes($_POST[psw]));
    if (
    $login=='' or $pass==''){
    echo
    "<form name='login' action='' method='post'>
    <table>
    <tr><td>Login</td><td><input type='text' name='login'></td></tr>
    <tr><td>Password</td><td><input type='password' name='psw'></td></tr>
    <tr><td><input type='submit' name='Accedi' value='Accedi'></td><td></td></tr></table>"
    ;}
    else
    {
    $psw_per_db = criptpass($pass);
    $verifico_user = mysql_query("SELECT *
    FROM `utenti`
    WHERE `nick` ='
    $login'
    AND `pass` = '
    $psw_per_db' and `stato` = '1'
    LIMIT 0 , 1"
    );
    $ok_login = mysql_num_rows($verifico_user);
    if(
    $ok_login=="1")
    {
    $_SESSION[login] = $login;
    $_SESSION[psw]= $psw_per_db;
    Echo
    "<meta http-equiv=\"Refresh\" content=\"3; URL=set.php\">Login effettuato correttamente . <a href=set.php>Clicca qui per entrare</a>";
    }
    else
    {
    Echo
    "<meta http-equiv=\"Refresh\" content=\"3; URL=login.php\">Login incorretto o utente che non ha ancora completato il processo di registrazione. In questo caso controlla la tua email<a href=login.php>Premi qui per riprovare</a>";
    }
    }
    ...SeGuImOs En PiE...!!!

  21. #21
    Guest

    Predefinito

    Ha visto nella tabella se è stato effetuato l'inserimento? molto probabilmente l'utente non è stato inserito

  22. #22
    L'avatar di scope
    scope non è connesso Utente giovane
    Data registrazione
    21-01-2006
    Residenza
    /home/scope
    Messaggi
    93

    Predefinito

    no, avevi ragione: nn mi inserisce l'utenti...
    ...SeGuImOs En PiE...!!!

  23. #23
    Guest

    Predefinito

    $inserisco_dati_di_registrazione = mysql_query("
    INSERT INTO `utenti` ( `id` , `email` , `nick` , `pass` , `stato` , `caso` )
    VALUES (
    NULL , '$m', '$nickname', '$psw_per_db', '1', '$numero_a_caso'
    )

    ");

    MODIFICA la riga sopra così

    $sqlQuery = "INSERT INTO utenti VALUES( NULL, \"$m\", \"$nickname\", \"$ps_per_db\", 1, $numero_a_caso) ";

    echo $sqlQuery; // debugghino

    mysql_query( $sqlQuery ) or die ( "Errore nell'inserimento: " . mysql_error());

    e dicci quale è il problema

  24. #24
    L'avatar di scope
    scope non è connesso Utente giovane
    Data registrazione
    21-01-2006
    Residenza
    /home/scope
    Messaggi
    93

    Predefinito

    uguale a prima nn mi registra l'utenti nel mysql...
    ...SeGuImOs En PiE...!!!

  25. #25
    Guest

    Predefinito

    uguale va bene ma da qualche parte ti avrà fatto un echo... e ce lo devi postare.... il risultato della query...
    magari sostituisci così

    $sqlQuery = "INSERT INTO utenti VALUES( NULL, \"$m\", \"$nickname\", \"$ps_per_db\", 1, $numero_a_caso) ";

    echo $sqlQuery; // debugghino

    die();

    così interrompe tutto però se non ci fai sapere che scrive è difficilotto

Regole di scrittura

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