Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    modifica pwd nel database

    Ciao! L'utente tramite form, fornendomi l'email con cui si è registrato, dovrebbe essere in grado di inserire una nuova password.

    Il codice è il seguente
    Codice PHP:
    if ((isset($_GET['newpwd'])) && (isset($_GET['newpwd2'])) && (isset($_GET['sendnew'])) && ($_GET['sendnew']=='invia')) {
                
        
    $emailpwd=trim($_GET['emailpwd']);
        
    $newpwd=addslashes(stripslashes(trim($_GET['newpwd'])));
        
    $newpwd2=addslashes(stripslashes(trim($_GET['newpwd2'])));
                
        if (
    $newpwd!=$newpwd2) {
            print(
    "<TD align=\"justify\" width=\"360px\" style=\"border-left: dashed 1px #999999; border-right: dashed 1px #999999\">");
            print 
    "<span class=\"testoverde\" style=\"margin-left:5px;display:block;\">PASSWORD DIMENTICATA</span><DIV class=\"testogenerico\" style=\"margin-left:5px;\">Errore! Il campo nuova password e il campo conferma password non coincidono!</DIV><div align=\"right\"><a href=\"javascript:history.back();\" class=\"linksx\">Indietro</a></div>";
        } else {
            
    $newpwd md5($newpwd);
            
    $query "UPDATE UTENTI SET PSW='$newpwd' WHERE EMAIL='$emailpwd'";
            
    $result mysql_query($query,$link);
            
            if (
    $result) {
                
    $mail_body = <<< EOMAILBODY

    Comunicazione da LastMinuteJob.it.
    Questa email e' stata generata automaticamente, e a solo scopo informativo, a seguito della tua richiesta di modifica password tramite l'apposito form presente nel nostro sito. 


    Qualora tu non avessi richiesto l'invio della password, ti preghiamo di contattatare l'amministratore del sito.

    Grazie.
    LastMinuteJob.it
    EOMAILBODY;

                if(
    mail($emailpwd'Modifica password - Comunicazione da LastMinuteJob.it'$mail_body,'From: [email]noreply@lastminutejob.it[/email]')) { 
                    print(
    "<TD align=\"justify\" width=\"360px\" style=\"border-left: dashed 1px #999999; border-right: dashed 1px #999999\">");
                    print 
    "<span class=\"testoverde\" style=\"margin-left:5px;display:block;\">PASSWORD DIMENTICATA</span><DIV class=\"testogenerico\" style=\"margin-left:5px;\">La password è stata modificata correttamente. Abbiamo inviato una email di conferma all'indirizzo di posta elettronico da te fornito.</DIV>";
                }
            
            } else {
                print(
    "<TD align=\"justify\" width=\"360px\" style=\"border-left: dashed 1px #999999; border-right: dashed 1px #999999\">");
                print 
    "<span class=\"testoverde\" style=\"margin-left:5px;display:block;\">PASSWORD DIMENTICATA</span><DIV class=\"testogenerico\" style=\"margin-left:5px;\">Si è verificato un errore nella modifica della password. Ti invitiamo a riprovare o a contattare l'amministratore.</DIV>";
            }
        }

    Non mi dà alcun errore.. ma non funziona

  2. #2
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    prova ad aggiungere:

    $result = mysql_query($query,$link) or die(mysql_error()

    cosi vediamo se è il db... (intanto ) posta l'eventuale errore!!!

  3. #3
    no dà nessun errore

  4. #4
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    sei sicura che esegua la query?

    metti un echo o un alert all'interno del primo ciclo ....

    if ((isset($_GET['newpwd'])) && (isset($_GET['newpwd2'])) && (isset($_GET['sendnew'])) && ($_GET['sendnew']=='invia')) {
    echo '<script language="JavaScript" type="text/JavaScript">';
    echo 'alert("sono dentro al ciclo..."); ';
    echo '</script>';

  5. #5
    sì, entra nel ciclo.. appare l'alert..

  6. #6
    mi accorgo ora che c'è qualcosa che proprio non quadra.. non mi dà alcun errore anche se io immetto una mail non presente nel database.. :master:

  7. #7
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    ok... prova a passera di livello e metti l'alert dopo l'altro if :
    Codice PHP:
    if ($newpwd!=$newpwd2) { 
            print(
    "<TD align=\"justify\" width=\"360px\" style=\"border-left: dashed 1px #999999; border-right: dashed 1px #999999\">"); 
            print 
    "<span class=\"testoverde\" style=\"margin-left:5px;display:block;\">PASSWORD DIMENTICATA</span><DIV class=\"testogenerico\" style=\"margin-left:5px;\">Errore! Il campo nuova password e il campo conferma password non coincidono!</DIV><div align=\"right\"><a href=\"java-script:history.back();\" class=\"linksx\">Indietro</a></div>"
        } else { 
    echo 
    '<script language="JavaScript" type="text/JavaScript">';
    echo 
    'alert("sono dentro secondo ciclo..."); '
    echo 
    '</script>';
            
    $newpwd md5($newpwd); 
            
    $query "UPDATE UTENTI SET PSW='$newpwd' WHERE EMAIL='$emailpwd'"
            
    $result mysql_query($query,$link); 

  8. #8
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    ma la mail la manda? se si cosa scrive(nella mail)?

  9. #9
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    guardando meglio il codice potrebbe anche suddere questo:
    lui esegue la query (UPDATE UTENTI SET PSW='$newpwd' WHERE EMAIL='$emailpwd')

    ma molto probalimente non viene sodisfatta la condizione WHERE EMAIL='$emailpwd'
    quindi controlla anche che cosa riceve da $emailpwd=trim($_GET['emailpwd']);
    inserendo un echo $emailpwd=trim($_GET['emailpwd']);

  10. #10
    hai ragione, al posto dell'email passa una stringa vuota.. come è possibile?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.