Visualizzazione risultati 1 fino 7 di 7

Discussione: [php][mysql] Recupero password utente

  1. #1
    Guest

    Predefinito [php][mysql] Recupero password utente

    il codice per inviare una nuova password all'utente non funziona, mi dice che la mail non è stata trovata, ma in realtà c'è.


    ecco il codice della mia pagina delle azioni:

    Codice PHP:
    <?php
    if(@$_GET["act"] == "recuperaPassword")
    {
    $Sql = "SELECT `email` FROM `utenti` WHERE `email`='".@$_POST["email"]."' AND `stato`='1';";
    $Query = mysql_query($Sql);
    if(
    mysql_num_rows($Query) == 1)
    {
    $Dati = mysql_fetch_array($Query);

    $Password = PasswordRandom();

    $Sql = "UPDATE `utenti` SET `password` = '".md5($Password)."' WHERE `codUtente`='".$Dati["codUtente"]."' LIMIT 1 ;";
    $Query = mysql_query($Sql);

    $Messaggio = "
    Buongiorno "
    .$Dati["username"].",\n
    questa e-mail ti giunge dall'area riservata del sito "
    .NOMESITO.".\n\n
    Di seguito trovi il dati di accesso all'area riservata del sito.\n\n
    Username: "
    .$Dati["username"].",\n
    Password: "
    .$Password.",\n\n\n
    In caso di problemi ti inviatiamo a contattarci direttamente.
    "
    ;

    mail($_POST["email"], "NOMESITO - Recupero Password", $Messaggio);

    header('Location: index.php?act=RecuperoOn');
    }
    else
    {
    header('Location: index.php?act=RecuperoOff');
    }
    }

    ?>


    ed ecco i codici recuperoOn e recuperoOff:

    Codice PHP:
    <?php
    }
    else if(@
    $_GET["act"] == "RecuperoOn")
    {
    ?>
    <p>
    <table width="600" align="center">
    <tr>
    <td align="left" valign="middle"><h2>Recupero password</h2></td>
    </tr>
    <tr>
    <td height="50" align="left" valign="middle">Ti è stata inviata una e-mail con i dati di accesso.</td>
    </tr>
    <tr>
    <td height="24" align="center" valign="middle"><a href="index.php" title="Torna alla pagina di log-in">Vai alla pagina di log-in</a><a href="recuperPassword.php" title="Ho smarrito la password"></a></td>
    </tr>
    </table>
    </p>
    <?php
    }
    else if(@
    $_GET["act"] == "RecuperoOff")
    {
    ?>
    <p>
    <table width="600" align="center">
    <tr>
    <td align="left" valign="middle"><h2>Recupero password</h2></td>
    </tr>
    <tr>
    <td height="50" align="left" valign="middle">L'e-mail indicata non corrisponde ad alcun account attivo.</td>
    </tr>
    <tr>
    <td height="24" align="center" valign="middle"><a href="index.php?act=Recovery" title="Ho smarrito la password">Ho smarrito la password</a></td>
    </tr>
    </table>
    </p>
    <?php
    }
    else
    {
    ?>

  2. #2
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Non è che ci sono due utenti con la stessa e-mail cosicchè la condizione fallisca e ti dia errore?

    Se esegui manualmente quella query in phpMyAdmin funziona?
    Apprezzi l'aiuto? Offrimi un caffè!

  3. #3
    Guest

    Predefinito

    no, di utenti ci sono solo io.
    la query:

    MySQL ha restituito un insieme vuoto (i.e. zero righe). ( La query ha impiegato 0.0380 sec )
    Ultima modifica di tia96 : 24-07-2011 alle ore 13.28.08 Motivo: aggiunta

  4. #4
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Prova così:

    Codice PHP:
    <?php
    if(@$_GET["act"] == "recuperaPassword")
    {
    $Sql = "SELECT 'email' FROM 'utenti' WHERE 'email' = '".@$_POST["email"]."' AND stato = '1';";
    $Query = mysql_query($Sql);
    if(
    mysql_num_rows($Query) == 1)
    {
    $Dati = mysql_fetch_array($Query);

    $Password = PasswordRandom();

    $Sql = "UPDATE 'utenti' SET 'password' = '".md5($Password)."' WHERE 'codUtente'= '".$Dati["codUtente"]."' LIMIT 1 ;";
    $Query = mysql_query($Sql);

    $Messaggio = "
    Buongiorno "
    .$Dati["username"].",\n
    questa e-mail ti giunge dall'area riservata del sito "
    .NOMESITO.".\n\n
    Di seguito trovi il dati di accesso all'area riservata del sito.\n\n
    Username: "
    .$Dati["username"].",\n
    Password: "
    .$Password.",\n\n\n
    In caso di problemi ti inviatiamo a contattarci direttamente.
    "
    ;

    mail($_POST["email"], "NOMESITO - Recupero Password", $Messaggio);

    header('Location: index.php?act=RecuperoOn');
    }
    else
    {
    header('Location: index.php?act=RecuperoOff');
    }
    }

    ?>
    Apprezzi l'aiuto? Offrimi un caffè!

  5. #5
    Guest

    Predefinito

    non cambia nulla, ma scusa cosa hai cambiato?

  6. #6
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Ho sostituito i caratteri ` con semplici apostrofi perchè a volte a me il problema è quello.
    Apprezzi l'aiuto? Offrimi un caffè!

  7. #7
    Guest

    Predefinito

    purtroppo non funziona nemmeno così

Regole di scrittura

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