Pagina 2 di 3 PrimaPrima 123 UltimaUltima
Risultati da 11 a 20 di 24

Discussione: problema con l'invio della password tramite email

  1. #11
    Alessandro Màdrìd Soviero è offline Utente del Forum
    Data Registrazione
    Aug 2012
    Messaggi
    11
    Citazione Originariamente Scritto da f107 Visualizza Messaggio
    Sostituisci questo:
    Codice PHP:
    $sql "UPDATE `utenti` SET `user_password` = ‘".md5($random_string)."‘ WHERE `user_id` =’".$user_id."‘  LIMIT 1"
    con

    Codice PHP:
    $sql "UPDATE `utenti` SET `user_password` = '".md5($random_string)."' WHERE `user_id` =".$user_id."  LIMIT 1"
    Praticamente togliamo questo ’ dall'id numerico e dall'md5 ci mettiamo gli apici normali
    beh .. quell'errore non lo da ... però nn invia la pass all'email,,

  2. #12
    L'avatar di f107
    f107 è offline Utente del Forum
    Data Registrazione
    Aug 2012
    Messaggi
    71
    Allora facciamo cosi...

    sostituisci questo:

    Codice PHP:
    mail($_POST['email'],"Nuova Password","Caro $username , La tua nuova password &egrave $invio_password"$intestazioni); 
    con questo:
    Codice PHP:
    echo mail($_POST['email'],"Nuova Password","Caro $username , La tua nuova password &egrave $invio_password"$intestazioni) ?  'INVIATA' 'ERRORE INVIO EMAIL'
    Fammi sapere come va...

    Tra un po' esco, quando torno se non ho troppo da lavorare magari ti passo un mio vecchio script commentato che rigenera le pass.

    Buona serata e buona fortuna
    http://www.linkedin.com/pub/matteo-barison/53/289/831 :: http://smarriti.org
    http://link2me.it/network/7172/matteo-barison/index.htm :: http://infinitymetin.net

  3. #13
    Alessandro Màdrìd Soviero è offline Utente del Forum
    Data Registrazione
    Aug 2012
    Messaggi
    11
    Citazione Originariamente Scritto da f107 Visualizza Messaggio
    Allora facciamo cosi...

    sostituisci questo:

    Codice PHP:
    mail($_POST['email'],"Nuova Password","Caro $username , La tua nuova password &egrave $invio_password"$intestazioni); 
    con questo:
    Codice PHP:
    echo mail($_POST['email'],"Nuova Password","Caro $username , La tua nuova password &egrave $invio_password"$intestazioni) ?  'INVIATA' 'ERRORE INVIO EMAIL'
    Fammi sapere come va...

    Tra un po' esco, quando torno se non ho troppo da lavorare magari ti passo un mio vecchio script commentato che rigenera le pass.

    Buona serata e buona fortuna
    nn va...cmq se potevano servirti d'aiuto questa è la struttura della tabella users
    Codice HTML:
    CREATE TABLE IF NOT EXISTS `users` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `username` varchar(100) NOT NULL,
      `pass` varchar(50) NOT NULL,
      `email` varchar(255) NOT NULL,
      `data_reg` datetime NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ;
    cmq ti ringrazio per il tuo aiuto... e sarei molto felice se mi daresti il tuo script ...

  4. #14
    L'avatar di f107
    f107 è offline Utente del Forum
    Data Registrazione
    Aug 2012
    Messaggi
    71
    Fatto al volo prima di uscire...
    Codice PHP:
    <?php

    //funzione calcolo pass
    function PasswordCasuale($lunghezza){
        
    $caratteri_disponibili ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
        
    //$caratteri_disponibili ="abcdefghijklmnopqrstuvwxyz0123456789";
        
    $password "";
        for(
    $i 0$i<$lunghezza$i++){
            
    $password $password.substr($caratteri_disponibili,rand(0,strlen($caratteri_disponibili)-1),1);
        }
        return 
    $password;
    }
    //config
    $host_db='localhost';
    $login_db='cgfsito2';
    $pwd_db='cakdasapko80';
    $database "my_cgfsito2"

    //se è stato premuto invia e i campi non sono vuoti procedo
    if($_POST['invia'] && !empty($_POST['email']) ) {
       
       
        
    $errore '';
        
           
        
    //controllo che l'email sia in un formato valido
        
    if(!preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/'$_POST['email'])) $errore .= "<h3>L'email inserita non &egrave; in un formato valido</h3>";
        
      
        
    //mi connetto al db
        
    mysql_connect($host_db$login_db$pwd_db) OR die(mysql_error());
        
    mysql_select_db($database$db) or die("Errore durante la selezione del database"); 
        
        
    //salvo i dati in delle variabili
       
        
    $email mysql_real_escape_string($_POST['email']);
        
        
    //la query che cerca l'account
        
    $query mysql_query("SELECT id, email FROM users WHERE email = '$email'") or die('Errore!');
        
        
    //se lo trovo procedo altrimenti do un errore
        
    if($dati mysql_fetch_array($query)) 
          
    $iId $dati['id'] ;
        else 
    $errore .= "<h3>Dati errati</h3>";
        
        
    //se non ci sono errori procedo
        
    if($errore == ""){
       
    //genero la nuova pass casuale
              
    $password=PasswordCasuale(10);
              
              
    //Se l'inserimento della nuova pass va a buon fine invio l'email
              
    if(mysql_query(
                      
    sprintf("UPDATE `users` SET `pass` = '%s' WHERE `id` = %d  LIMIT 1",
                              
    md5($random_string),
                              
    $iId
                              
    )
                              )){
                   
                  
    $oggetto "Nuova Password";
                  
                  
    $headers "From:  latuaemail@tuaemail.it";
                  
                  
    $msg "Come da lei richiesto le inviamo la nuova password.\r\n".
                         
                         
    "---------- NUOVA PASS ---------- \r\n \r\n".
                         
    "$password\r\n\r\n".
                         
    "-------------------------------- \r\n".
                         
    "Le auguriamo una buona giornata, \r\n".
                         
    "Lo staff.";
                  
                  
    //se l'email è stata inviata stampo il messaggio di conferma
                  
    if(mail($_POST['email'], $oggetto$msg$headers))
                    echo 
    "<center>Richiesta inoltrata con successo,<br /> A breve ricever&agrave; un email con la nuova password nella sua email di registrazione.</center>";
                  else echo 
    "<center>Errore!!!!!! Riprovi più tardi</center>";
                  
              }
        
        }
        else{
        
          echo 
    "<center>$errore</center>";
        
        }

    }

    else {
    ?><center>

    <form action='' method="post">

        Email di registrazione:<br />
            <input type='text' name='email' /><br /><br />
      
        <input type="submit" name="invia" />
    </form>
    </center>
    <?php
    }    
    ?>
    Nei tuoi script fai riferimento a 2 tab del db, credo sia un errore di scrittura, io ho usato quella che mi hai fornito all'ultimo.

    Scrivi se va, quando torno vediamo.

    P.S.
    L'ho commentato, cosi te lo vedi un po'
    Logicamente adattalo alle tue esigenze.
    http://www.linkedin.com/pub/matteo-barison/53/289/831 :: http://smarriti.org
    http://link2me.it/network/7172/matteo-barison/index.htm :: http://infinitymetin.net

  5. #15
    Alessandro Màdrìd Soviero è offline Utente del Forum
    Data Registrazione
    Aug 2012
    Messaggi
    11
    Citazione Originariamente Scritto da f107 Visualizza Messaggio
    Fatto al volo prima di uscire...
    Codice PHP:
    <?php

    //funzione calcolo pass
    function PasswordCasuale($lunghezza){
        
    $caratteri_disponibili ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
        
    //$caratteri_disponibili ="abcdefghijklmnopqrstuvwxyz0123456789";
        
    $password "";
        for(
    $i 0$i<$lunghezza$i++){
            
    $password $password.substr($caratteri_disponibili,rand(0,strlen($caratteri_disponibili)-1),1);
        }
        return 
    $password;
    }
    //config
    $host_db='localhost';
    $login_db='cgfsito2';
    $pwd_db='cakdasapko80';
    $database "my_cgfsito2"

    //se è stato premuto invia e i campi non sono vuoti procedo
    if($_POST['invia'] && !empty($_POST['email']) ) {
       
       
        
    $errore '';
        
           
        
    //controllo che l'email sia in un formato valido
        
    if(!preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/'$_POST['email'])) $errore .= "<h3>L'email inserita non &egrave; in un formato valido</h3>";
        
      
        
    //mi connetto al db
        
    mysql_connect($host_db$login_db$pwd_db) OR die(mysql_error());
        
    mysql_select_db($database$db) or die("Errore durante la selezione del database"); 
        
        
    //salvo i dati in delle variabili
       
        
    $email mysql_real_escape_string($_POST['email']);
        
        
    //la query che cerca l'account
        
    $query mysql_query("SELECT id, email FROM users WHERE email = '$email'") or die('Errore!');
        
        
    //se lo trovo procedo altrimenti do un errore
        
    if($dati mysql_fetch_array($query)) 
          
    $iId $dati['id'] ;
        else 
    $errore .= "<h3>Dati errati</h3>";
        
        
    //se non ci sono errori procedo
        
    if($errore == ""){
       
    //genero la nuova pass casuale
              
    $password=PasswordCasuale(10);
              
              
    //Se l'inserimento della nuova pass va a buon fine invio l'email
              
    if(mysql_query(
                      
    sprintf("UPDATE `users` SET `pass` = '%s' WHERE `id` = %d  LIMIT 1",
                              
    md5($random_string),
                              
    $iId
                              
    )
                              )){
                   
                  
    $oggetto "Nuova Password";
                  
                  
    $headers "From:  latuaemail@tuaemail.it";
                  
                  
    $msg "Come da lei richiesto le inviamo la nuova password.\r\n".
                         
                         
    "---------- NUOVA PASS ---------- \r\n \r\n".
                         
    "$password\r\n\r\n".
                         
    "-------------------------------- \r\n".
                         
    "Le auguriamo una buona giornata, \r\n".
                         
    "Lo staff.";
                  
                  
    //se l'email è stata inviata stampo il messaggio di conferma
                  
    if(mail($_POST['email'], $oggetto$msg$headers))
                    echo 
    "<center>Richiesta inoltrata con successo,<br /> A breve ricever&agrave; un email con la nuova password nella sua email di registrazione.</center>";
                  else echo 
    "<center>Errore!!!!!! Riprovi più tardi</center>";
                  
              }
        
        }
        else{
        
          echo 
    "<center>$errore</center>";
        
        }

    }

    else {
    ?><center>

    <form action='' method="post">

        Email di registrazione:<br />
            <input type='text' name='email' /><br /><br />
      
        <input type="submit" name="invia" />
    </form>
    </center>
    <?php
    }    
    ?>
    Nei tuoi script fai riferimento a 2 tab del db, credo sia un errore di scrittura, io ho usato quella che mi hai fornito all'ultimo.

    Scrivi se va, quando torno vediamo.

    P.S.
    L'ho commentato, cosi te lo vedi un po'
    Logicamente adattalo alle tue esigenze.
    l'ho messo come prova chiamandolo
    http://cgfsito2.altervista.org/1/pr.php
    mi dice tutto ok .. e mi arriva anche l'email con la nuova pass... poi vado nella home , effettuo il login con il nome utente e con la pass ke mi è arrivata nell email .... solo ke nn mi fa loggare ... evidentemente la password nn è stata cambiata al database ... appena torni fammi sapere =)...


    ps... questo codice :
    <html>mysql_connect($host_db, $login_db, $pwd_db) OR die(mysql_error());
    mysql_select_db($database, $db) or die("Errore durante la selezione del database");<html>


    lo modificato in :
    <html> mysql_connect($host_db, $login_db, $pwd_db) OR die(mysql_error());
    mysql_select_db($database) or die("Errore durante la selezione del database"); <html>

    altrimenti mi dava errore al db ..
    Ultima modifica di Alessandro Màdrìd Soviero; 08-08-2012 alle 21:06

  6. #16
    L'avatar di f107
    f107 è offline Utente del Forum
    Data Registrazione
    Aug 2012
    Messaggi
    71
    sisi avevo visto

    guarda cambia
    Codice PHP:
    sprintf
    "UPDATE `users` SET `pass` = '%s' WHERE `id` = %d  LIMIT 1" ,
    md5 ($random_string ),
    $iId
    )
    )){ 
    con

    Codice PHP:
    sprintf
    "UPDATE `users` SET `pass` = '%s' WHERE `id` = %d  LIMIT 1" ,
    md5 ($password ),
    $iId
    )
    )){ 
    Fammi sapere sono da cell
    http://www.linkedin.com/pub/matteo-barison/53/289/831 :: http://smarriti.org
    http://link2me.it/network/7172/matteo-barison/index.htm :: http://infinitymetin.net

  7. #17
    Alessandro Màdrìd Soviero è offline Utente del Forum
    Data Registrazione
    Aug 2012
    Messaggi
    11
    Citazione Originariamente Scritto da f107 Visualizza Messaggio
    sisi avevo visto

    guarda cambia
    Codice PHP:
    sprintf
    "UPDATE `users` SET `pass` = '%s' WHERE `id` = %d  LIMIT 1" ,
    md5 ($random_string ),
    $iId
    )
    )){ 
    con

    Codice PHP:
    sprintf
    "UPDATE `users` SET `pass` = '%s' WHERE `id` = %d  LIMIT 1" ,
    md5 ($password ),
    $iId
    )
    )){ 
    Fammi sapere sono da cell
    va tutto ok ,, l'email arriva ,, ma quando dopo faccio il login con la nuova pass ,, nn mi fa accedere

  8. #18
    L'avatar di f107
    f107 è offline Utente del Forum
    Data Registrazione
    Aug 2012
    Messaggi
    71
    mi spiace devi aspetta che torno faccio le prove in locale
    http://www.linkedin.com/pub/matteo-barison/53/289/831 :: http://smarriti.org
    http://link2me.it/network/7172/matteo-barison/index.htm :: http://infinitymetin.net

  9. #19
    Alessandro Màdrìd Soviero è offline Utente del Forum
    Data Registrazione
    Aug 2012
    Messaggi
    11
    Citazione Originariamente Scritto da f107 Visualizza Messaggio
    mi spiace devi aspetta che torno faccio le prove in locale
    non ci sono problemi ... hai msn ke parliamo da li?

  10. #20
    L'avatar di f107
    f107 è offline Utente del Forum
    Data Registrazione
    Aug 2012
    Messaggi
    71
    skype: f107matteo
    http://www.linkedin.com/pub/matteo-barison/53/289/831 :: http://smarriti.org
    http://link2me.it/network/7172/matteo-barison/index.htm :: http://infinitymetin.net

Pagina 2 di 3 PrimaPrima 123 UltimaUltima

Tag per Questa Discussione

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •