Visualizzazione risultati 1 fino 6 di 6
Like Tree2Likes
  • 1 Post By socialedge

Discussione: Chi conosce qualche script funzionarte per la funzione "pass dimenticata?"

  1. #1
    socialedge non è connesso Utente giovane
    Data registrazione
    24-07-2016
    Residenza
    Aversa
    Messaggi
    60

    Exclamation Chi conosce qualche script funzionarte per la funzione "pass dimenticata?"

    Ho provato tantissimi script in rete che promettevano un medoto sicuro per spedire mail e modificare la password in seguito a una dimenticanza.
    Nessuno è stato ingrando di funzionare.
    Mi trovo qui a chiedervi se qualcuno ha qualche script che funge al caso mio di reimpostazione della password tramite la mail.

  2. #2
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Hai cercato con query in inglese?
    Eg: http://codingcyber.com/send-forgotte...-and-mysql-35/

  3. #3
    socialedge non è connesso Utente giovane
    Data registrazione
    24-07-2016
    Residenza
    Aversa
    Messaggi
    60

    Predefinito

    si lo vidi già, solo che mi chiede il PhpMailer che è la libery.
    pensavo di poterne fare a meno perche lo trovo lungo e pesante

    ---

    Ho trovato questo di script solo che mi dice che effettivamente ha trovato la mia mail nel db ma non la spedisce, qualche suggerimento ?
    Ti giuro questo problema mi sta mandando il cervello in tilt.

    Codice PHP:
    <html>
    <head>
    <style type="text/css">
    input{
    border:1px solid olive;
    border-radius:5px;
    }
    h1{
    color:darkgreen;
    font-size:22px;
    text-align:center;
    }

    </style>
    </head>
    <body>
    <h1>Forgot Password<h1>
    <form action='#' method='post'>
    <table cellspacing='5' align='center'>
    <tr><td>Email id:</td><td><input type='text' name='mail'/></td></tr>
    <tr><td></td><td><input type='submit' name='submit' value='Submit'/></td></tr>
    </table>
    </form>
    <?php
    if(isset($_POST['submit']))
    {
    mysql_connect('localhost','phppratico','') or die(mysql_error());
    mysql_select_db('my_phppratico') or die(mysql_error());
    $mail=$_POST['mail'];
    $q=mysql_query("select * from users where userEmail='".$mail."' ") or die(mysql_error());
    $p=mysql_affected_rows();
    if(
    $p!=0)
    {
    $res=mysql_fetch_array($q);
    $to=$res['mail'];
    $subject='Remind password';
    $message='Your password : '.$res['password'];
    $headers='***@***.it';
    $m=mail($to,$subject,$message,$headers);
    if(
    $m)
    {
    echo
    'Controlla nella tua mail.';
    }
    else
    {
    echo
    'La mail non è stata inviata per motivi interni.';
    }
    }
    else
    {
    echo
    'La tua mail non è presente nel sito.';
    }
    }
    ?>
    </body>
    </html>
    Ultima modifica di darkwolf : 20-05-2017 alle ore 11.44.00

  4. #4
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Mi sembra roba vecchiotta: tabelle, mysql invece di mysqli ... insomma, se proprio non lo fai da te almeno cerca/trova qualcosa di più "fresco".
    detto ciò, non la spedisce vuol dire? errori? avvisi?

    scusa se te mi permetto ma... vuoi integrare questa funzione su socialedge?
    sicuro non abbia già di suo uno script/plugin per il recupero della password? :)

  5. #5
    socialedge non è connesso Utente giovane
    Data registrazione
    24-07-2016
    Residenza
    Aversa
    Messaggi
    60

    Predefinito

    no ti assicuro che non lo tiene, perche il l'ho programmato io.
    utilizzando tante guide.

    ora mi sono ricardato che ho anche questo di script che fa al caso mio, ovvero mi spedice la mail correttamente solo che la cripta in md5 e io vorrei criptarla in sha2 ovvero in 256 e quindi attuando questa modifica sicuramente funzionerà.
    suggerimenti su come impostare lo sha2 in 256?

    Codice PHP:
    <?php
    include ("config.php");
    //This code runs if the form has been submitted
    if (isset($_POST['submit']))
    {

    // check for valid email address
    $email = $_POST['remail'];
    if(!
    filter_var($email, FILTER_VALIDATE_EMAIL)){
    $error[] = 'Please enter a valid email address';
    }

    // checks if the username is in use
    $check = mysql_query("SELECT userEmail FROM users WHERE userEmail = '$email'")or die(mysql_error());
    $check2 = mysql_num_rows($check);

    //if the name exists it gives an error
    if ($check2 == 0) {
    $error[] = 'Sorry, we cannot find your account details please try another email address.';
    }

    // if no errors then carry on
    if (!$error) {

    $query = mysql_query("SELECT userName FROM users WHERE userEmail = '$email' ")or die (mysql_error());
    $r = mysql_fetch_object($query);

    //create a new random password

    $password = substr(md5(uniqid(rand(),1)),3,10);
    $pass = md5($password); //encrypted version for database entry

    //send email
    $to = "$email";
    $subject = "Recupero password";
    $body = "Hi $r->userName, nn you or someone else have requested your account details. nn Here is your account information please keep this as you may need this at a later stage. nnYour username is $r->username nn your password is $password nn Your password has been reset please login and change your password to something more rememberable.nn Regards Site Admin";
    $additionalheaders = "Da: <***@***.it>rn";
    $additionalheaders .= "Reply-To: [email]***@***.it[/email]";
    mail($to, $subject, $body, $additionalheaders);

    //update database
    $sql = mysql_query("UPDATE users SET userPass='$pass' WHERE userEmail = '$email'")or die (mysql_error());
    $rsent = true;


    }
    // close errors
    }// close if form sent

    //show any errors
    if (!empty($error))
    {
    $i = 0;
    while (
    $i < count($error)){
    echo
    "<div class='msg-error'>".$error[$i]."</div>";
    $i ++;}
    }
    // close if empty errors


    if ($rsent == true){
    echo
    "<p>You have been sent an email with your account details to $email</p>n";
    } else {
    echo
    "<p>Please enter your e-mail address. You will receive a new password via e-mail.</p>n";
    }

    ?>

    <form action="" method="post">
    <p>Email Address: <input type="text" name="remail" size="50" maxlength="255">
    <input type="submit" name="submit" value="Get New Password"></p>
    </form>

    Ti volevo ringraziare visto che sei molto disponibile e veloce.

    ---

    comunque ho risolto hahaha

    ho sostituito a md5 - hash('sha256', $password);


    grazie ancora di tutto =)
    alla prossima
    Ultima modifica di darkwolf : 20-05-2017 alle ore 12.49.01 Motivo: +php -email (attento agli spammer) e uniti i due messaggi!
    darkwolf likes this.

  6. #6
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Figurati xD
    Praticamente hai fatto tutto tu

Regole di scrittura

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