Visualizzazione risultati 1 fino 5 di 5

Discussione: Form cambia password

  1. #1
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Question Form cambia password

    Ciao a tutti, ormai mi conoscete.
    Dopo aver criptato le password degli utenti in md5, non si possono più recuperare, quindi l'unica cosa da fare è inviare una e-mail agli utenti contenente un codice grazie al quale essi possano cambiare la loro password.
    Quindi, dopo aver creato un sistema di conferma e-mail agli utenti, avrei bisogno di reimpostargli la password.
    Codice PHP:
    <?php
    require('connessionedb.php'); //o le vostre istruzioni per il collegamento al database

    $id = $_GET['id'];
    /* $id contiene il valore di $msgid di 32 caratteri alfanumerici che abbiamo inviato all'utente dalla pagina data_insert.php:
    $confirmmessage .= "<a href=\"http://localhost/percorso pagina confirm_reg.php" .
    "?id=$msgid\">Clicca qui per confermare la tua registrazione</a>";*/
    $sql = "SELECT * FROM confirm WHERE confirm_validator = '$id'";
    $query = mysql_query($sql) or die(mysql_error());
    $pcarray = mysql_fetch_array($query); // memoriziamo i risultati nell'array $pcarray

    if (!is_array($pcarray))
    {
    echo
    "Link non valido o utente gi&agrave; confermato";
    exit;
    }

    // Se invece l'id passato è corretto:
    $user_id = $pcarray["confirm_userid"];
    //Quindi aggiorniamo la tabella user
    $update = "UPDATE user SET " .
    "user_reg = 1 " .
    "WHERE user_id = '$user_id'";
    $result = mysql_query($update) or die(mysql_error());
    ?>
    Quindi ci sono 2 tabelle: user e confirm.
    confirm contiene il codice di conferma di ogni utente
    user contiene, oltre a tutti i dati degli utenti, il campo user_reg, che se il valore non è uguale ad 1 non fa accedere l'utente.
    Il problema è nel cambiare la password agli utenti: ho creato questo codice e figuratevi se funzionava!
    Codice PHP:
    <?php
    require_once('connessionedb.php'); //o le vostre istruzioni per il collegamento al database

    $id = $_GET['id'];
    /* $id contiene il valore di $msgid di 32 caratteri alfanumerici che ho inviato all'utente dalla pagina dell'inserimento dei dati al momento della registrazione, e adesso vorrei usare lo stesso per cambiare la password:
    $confirmmessage .= "<a href=\"http://localhost/percorso pagina confirm_reg.php" .
    "?id=$msgid\">Clicca qui per confermare la tua registrazione</a>";*/
    $sql = "SELECT * FROM confirm WHERE confirm_validator = '$id'";
    $query = mysql_query($sql) or die(mysql_error());
    $pcarray = mysql_fetch_array($query); // memoriziamo i risultati nell'array $pcarray

    if (!is_array($pcarray))
    {
    echo
    "Oops! Il link &egrave; errato!";
    }
    else
    // Se invece l'id passato è corretto:
    {
    if(isset(
    $_POST['cambia'])){// Se è stato premuti invio
    $user_id = $pcarray["confirm_userid"];
    $newpassword = md5($_POST['nuovapass']);
    //Quindi aggiorniamo la tabella user
    $update = "UPDATE user SET user_password = $newpassword WHERE user_id = $user_id";
    if(
    mysql_query($update)){
    echo
    "OK";
    }
    }
    ?>
    <br 7>
    <form name="cambia" method="post" action="">
    <input type="text" name="nuovapass" value="a">
    <input type="submit" name="cambialapass" value="Invia">
    </form>
    <br />
    <?php
    }
    ?>
    Grazie.

  2. #2
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    mancano gli apici alle $variabili nella query UPDATE...

    Codice PHP:
    $update = "UPDATE user SET user_password = '$newpassword' WHERE user_id = '$user_id'";
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  3. #3
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Grazie, ma non cambia niente.

  4. #4
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    posso consigliare per vedere eventuali errori, per le query aggiungi mysql_error(), e all'inzio del codice aggiungi error_reporting(E_ALL);

    poi controlla l'effettivo valore delle variabili utilizzate per l'update stampandole a video con echo o print....
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  5. #5
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Grazie, problema risolto. :-)

Regole di scrittura

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