problema con l'invio della password tramite email

7 Ago 2012
11
0
0
ho creato un sito ma ho un problema con "password dimenticata".... il problema è ke io ho fatto in modo ke alla registrazione la password si salvi in md5 .. ora nn è più possibile decriptarla,,,, quindi ho fatto in modo ke una volta inserita l'email ... all'email stessa venga inviata una nuova password casuale di 12 caratteri ... fatto ciò all'email arriva questa password di 12 caratteri ma andando ad effettuare il login scopro ke la password nn è stata modificata ... questo pezzo di sito è composto da:

password.php dove sta la form
HTML:
<form action="password2.php" method="post" id="form_register">  
<br>
<tr><td><b>E-Mail:</b></td><td> 
<input type="text" name="email" id="email"> </td></tr> 
<tr><th colspan="2"><input type="submit" name= "submit" value="Invia Password" class="button-2"></th></tr></table></form> 
</div> </div><div id="home"><form action="index.php" method="post" ><input type="submit" value="Ritorna Alla Home" class="button">


password2.php dove stanno tutti i calcoli

PHP:
<?php
session_start();
require_once('lib/Users.class.php');
$login = New Users;
$login->esegui_login();
include("header.html");
include("content-2.html");
include("content.html");
include("footer.html");
include("area_login.html");
?>
<html>
  <head>
    <title>Password Dimenticata</title>
    <link rel="stylesheet" href="css/omini.css" type="text/css">
    <link rel="stylesheet" href="css/password2.css" type="text/css">
    <script type="text/javascript" src="js/jquery.js"></script> 
    <script type="text/javascript" src="js/jquery_validate.js"></script> 
    <script type="text/javascript" src="js/validation_login.js"></script> 
    <script src="js/script_javascript.js" type="text/javascript"></script> 
    </head>  


<?php 
        $username = "cgfsito2"; 
        $password = "cakdasapko80"; 
        $host = "localhost"; 
        $database = "my_cgfsito2"; 
      
          $db=mysql_connect($host, $username, $password) or die("Errore durante la connessione al database"); 
mysql_select_db($database, $db) or die("Errore durante la selezione del database"); 
if (isset($_POST['submit'])) {  

//nessun campo deve essere lasciato vuoto                                                             
if (!$_POST['email']) { 
die('<div id="content-2"><center><h1><b>Si &egrave verificato un errore</b></h1></center></div><div id="center"></div>
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Completa tutti i campi richiesti!</font></h2></b></div><div id="omino-3"></div><div id="finestra-login-effettuato">
<br><br><b><a>Ritorna indietro e inserisci i dati richiesti</a></b>
</div> </div><div id="home"><form action="password.php" method="post" ><input type="submit" value="Ritorna Indietro" class="button"></form></b></div>'); 
} 
//controllo che l'email messa via effettivamente un'email 
$email=$_POST['email'];  
function chkEmail($email)    
{    
    // elimino spazi, "a capo" e altro alle estremità della stringa    
    $email = trim($email);    
   
    // se la stringa è vuota sicuramente non è una mail    
    if(!$email) {    
        return false;    
    }    
   
    // controllo che ci sia una sola @ nella stringa    
    $num_at = count(explode( '@', $email )) - 1;    
    if($num_at != 1) {    
        return false;    
    }    
   
    // controllo la presenza di ulteriori caratteri "pericolosi":    
    if(strpos($email,';') || strpos($email,',') || strpos($email,' ')) {    
        return false;    
    }    
   
    // la stringa rispetta il formato classico di una mail?    
    if(!preg_match( '/^[\w\.\-][email protected]\w+[\w\.\-]*?\.\w{1,4}$/', $email)) {    
        return false;    
    }    
   
    return true;    
}       
   
if(!chkEmail($email)) {    
    die('<div id="content-2"><center><h1><b>Si &egrave verificato un errore</b></h1></center></div><div id="center"></div>
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Indirizzo Email non valido!</font></h2></b></div><div id="errore-omino"></div><div id="finestra-login-effettuato">
<br><b><a>Ritorna indietro e inserisci un indirizzo <br> Email con una sintassi corretta<br>es: [email][email protected][/email]</a></b>
</div> </div><div id="home"><form action="password.php" method="post" ><input type="submit" value="Ritorna Indietro" class="button"></form></b></div>'); 
}  
$email = $_POST['email'];  
$emailcheck = $_POST['email'];  

//controllo che la vecchia email salvata nel db sia uguale a quella immessa 
$check= mysql_query ("SELECT email FROM users WHERE email = '$emailcheck'") or die(mysql_error());  
$riga = mysql_fetch_assoc($check);  
if ($riga['email'] != $_POST['email']) {  
die('<div id="content-2"><center><h1><b>Si &egrave verificato un errore</b></h1></center></div><div id="center"></div>
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Email non esistente nel sito </font></h2></b></div><div id="errore-omino"></div><div id="finestra-login-effettuato">
<br><b><a>Ritorna indietro e inserisci <br> L\' indirizzo Email Corretto</a></b>
</div> </div><div id="home"><form action="password.php" method="post" ><input type="submit" value="Ritorna Indietro" class="button"></form></b></div>');  
}


function rand_string($len, $chars = ‘Labcdefghijklmnopqrstuvwxyz0123456789)

{

    $string = "40";

    for ($i = 0; $i < $len; $i++)

    {

        $pos = rand(0, strlen($chars)-1);

        $string .= $chars{$pos};

    }

    return $string;

}

}  

$random_string = rand_string(10);  
$invio_password = $random_string;  
$sql = "UPDATE `utenti` SET `user_password` = ‘".md5($random_string)."‘ WHERE `user_id` =’".$user_id."‘  LIMIT 1?";  
$result = mysql_query($sql);  
$intestazioni= "From:[email protected]\r\n"; 
$intestazioni .= "X-Mailer: PHP/".phpversion(); 
mail($_POST['email'],"Nuova Password","Caro $username , La tua nuova password &egrave $invio_password", $intestazioni); 



   
?> 
<div id="content-2"><center><h1><b>Invio Riuscito Con Successo</b></h1></center></div><div id="center"></div>
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Complimenti!</font></h2></b></div><div id="omino-5"></div><div id="finestra-login-effettuato">
<br><b><a>Password inviata con successo<br>A breve riceverai la nostra Email<br>Contentente la Password</a></b>
</div> </div><div id="home"><form action="index.php" method="post" ><input type="submit" value="Ritorna Alla Home" class="button"></form></b></div> 
 <?php 

?>

il sito dove si trova la demo è : http://cgfsito2.altervista.org/1/password.php

attendo risposte .. grazie in anticipo =)
 
Ultima modifica di un moderatore:

f107

Utente Attivo
7 Ago 2012
203
6
18
Roma
Allora...
$user_id non mi pare sia dichiarata...

Se ho capito bene il tuo codice dovresti cambiare questo
Codice:
$check= mysql_query ("SELECT email FROM users WHERE email = '$emailcheck'") or die(mysql_error()); 
$riga = mysql_fetch_assoc($check);
con
Codice:
$check= mysql_query ("SELECT id, email FROM users WHERE email = '$emailcheck'") or die(mysql_error()); 
$riga = mysql_fetch_assoc($check);
$user_id = $riga['id'];
Logicamente questo se il campo dell'id nel tuo db si chiami 'id'.

Prova cosi e fammi sapere :)

P.S.
Codice:
$sql = "UPDATE `utenti` SET `user_password` = ‘".md5($random_string)."‘ WHERE `user_id` =’".$user_id."‘ LIMIT 1?";
a cosa serve il '?' ??
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Come mai tutti quei controlli per validare la mail? Snellisci il codice con le funzioni filtro:
PHP:
if(!filter_var($email, FILTER_VALIDATE_EMAIL))
  {
  echo "Non valida";
  }
else
  {
  echo "Valida";
  }
?>
 
7 Ago 2012
11
0
0
ho inserito il codice da te descritto .. ma non va come facciamo?

Allora...
$user_id non mi pare sia dichiarata...

Se ho capito bene il tuo codice dovresti cambiare questo
Codice:
$check= mysql_query ("SELECT email FROM users WHERE email = '$emailcheck'") or die(mysql_error()); 
$riga = mysql_fetch_assoc($check);
con
Codice:
$check= mysql_query ("SELECT id, email FROM users WHERE email = '$emailcheck'") or die(mysql_error()); 
$riga = mysql_fetch_assoc($check);
$user_id = $riga['id'];
Logicamente questo se il campo dell'id nel tuo db si chiami 'id'.

Prova cosi e fammi sapere :)

P.S.
Codice:
$sql = "UPDATE `utenti` SET `user_password` = ‘".md5($random_string)."‘ WHERE `user_id` =’".$user_id."‘ LIMIT 1?";
a cosa serve il '?' ??
.... cmq il punto interrogativo lo levato ,,, ora il codice è questo:


PHP:
<?php
session_start();
require_once('lib/Users.class.php');
$login = New Users;
$login->esegui_login();
include("header.html");
include("content-2.html");
include("content.html");
include("footer.html");
include("area_login.html");
?>
<html>
  <head>
    <title>Password Dimenticata</title>
    <link rel="stylesheet" href="css/omini.css" type="text/css">
    <link rel="stylesheet" href="css/password2.css" type="text/css">
    <script type="text/javascript" src="js/jquery.js"></script> 
    <script type="text/javascript" src="js/jquery_validate.js"></script> 
    <script type="text/javascript" src="js/validation_login.js"></script> 
    <script src="js/script_javascript.js" type="text/javascript"></script> 
    </head>  


<?php                                            
        $username = "cgfsito2"; 
        $password = "cakdasapko80"; 
        $host = "localhost"; 
        $database = "my_cgfsito2"; 
      
          $db=mysql_connect($host, $username, $password) or die("Errore durante la connessione al database"); 
mysql_select_db($database, $db) or die("Errore durante la selezione del database"); 
if (isset($_POST['submit'])) {  

//nessun campo deve essere lasciato vuoto                                                             
if (!$_POST['email']) { 
die('<div id="content-2"><center><h1><b>Si &egrave verificato un errore</b></h1></center></div><div id="center"></div>
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Completa tutti i campi richiesti!</font></h2></b></div><div id="omino-3"></div><div id="finestra-login-effettuato">
<br><br><b><a>Ritorna indietro e inserisci i dati richiesti</a></b>
</div> </div><div id="home"><form action="password.php" method="post" ><input type="submit" value="Ritorna Indietro" class="button"></form></b></div>'); 
} 
//controllo che l'email messa via effettivamente un'email 
$email=$_POST['email'];  
function chkEmail($email)    
{    
    // elimino spazi, "a capo" e altro alle estremità della stringa    
    $email = trim($email);    
   
    // se la stringa è vuota sicuramente non è una mail    
    if(!$email) {    
        return false;    
    }    
   
    // controllo che ci sia una sola @ nella stringa    
    $num_at = count(explode( '@', $email )) - 1;    
    if($num_at != 1) {    
        return false;    
    }    
   
    // controllo la presenza di ulteriori caratteri "pericolosi":    
    if(strpos($email,';') || strpos($email,',') || strpos($email,' ')) {    
        return false;    
    }    
   
    // la stringa rispetta il formato classico di una mail?    
    if(!preg_match( '/^[\w\.\-][email protected]\w+[\w\.\-]*?\.\w{1,4}$/', $email)) {    
        return false;    
    }    
   
    return true;    
}       
   
if(!chkEmail($email)) {    
    die('<div id="content-2"><center><h1><b>Si &egrave verificato un errore</b></h1></center></div><div id="center"></div>
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Indirizzo Email non valido!</font></h2></b></div><div id="errore-omino"></div><div id="finestra-login-effettuato">
<br><b><a>Ritorna indietro e inserisci un indirizzo <br> Email con una sintassi corretta<br>es: [email][email protected][/email]</a></b>
</div> </div><div id="home"><form action="password.php" method="post" ><input type="submit" value="Ritorna Indietro" class="button"></form></b></div>'); 
}  
$email = $_POST['email'];  
$emailcheck = $_POST['email'];  

//controllo che la vecchia email salvata nel db sia uguale a quella immessa 
$check= mysql_query ("SELECT id, email FROM users WHERE email = '$emailcheck'") or die(mysql_error()); 
$riga = mysql_fetch_assoc($check);
$user_id = $riga['id']; 
if ($riga['email'] != $_POST['email']) {  
die('<div id="content-2"><center><h1><b>Si &egrave verificato un errore</b></h1></center></div><div id="center"></div>
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Email non esistente nel sito </font></h2></b></div><div id="errore-omino"></div><div id="finestra-login-effettuato">
<br><b><a>Ritorna indietro e inserisci <br> L\' indirizzo Email Corretto</a></b>
</div> </div><div id="home"><form action="password.php" method="post" ><input type="submit" value="Ritorna Indietro" class="button"></form></b></div>');  
}


function rand_string($len, $chars = ‘Labcdefghijklmnopqrstuvwxyz0123456789)

{

    $string = "10";

    for ($i = 0; $i < $len; $i++)

    {

        $pos = rand(0, strlen($chars)-1);

        $string .= $chars{$pos};

    }

    return $string;

}

}  

$random_string = rand_string(10);  
$invio_password = $random_string;  
$sql = "UPDATE `utenti` SET `user_password` = ‘".md5($random_string)."‘ WHERE `user_id` =’".$user_id."‘  LIMIT 1";  
$result = mysql_query($sql);  
$intestazioni= "From:[email protected]\r\n"; 
$intestazioni .= "X-Mailer: PHP/".phpversion(); 
mail($_POST['email'],"Nuova Password","Caro $username , La tua nuova password &egrave $invio_password", $intestazioni); 



   
?> 
<div id="content-2"><center><h1><b>Invio Riuscito Con Successo</b></h1></center></div><div id="center"></div>
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Complimenti!</font></h2></b></div><div id="omino-5"></div><div id="finestra-login-effettuato">
<br><b><a>Password inviata con successo<br>A breve riceverai la nostra Email<br>Contentente la Password</a></b>
</div> </div><div id="home"><form action="index.php" method="post" ><input type="submit" value="Ritorna Alla Home" class="button"></form></b></div> 
 <?php 

?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
ricordatevi di racchiudere il codice tra gli appositi tag (barra formattazione post, 2° riga, ultime tre iconcine nell'ordine CODE HTML PHP)
 

f107

Utente Attivo
7 Ago 2012
203
6
18
Roma
.... cmq il punto interrogativo lo levato ,,, ora il codice è questo:


PHP:
<?php
session_start();
require_once('lib/Users.class.php');
$login = New Users;
$login->esegui_login();
include("header.html");
include("content-2.html");
include("content.html");
include("footer.html");
include("area_login.html");
?>
<html>
  <head>
    <title>Password Dimenticata</title>
    <link rel="stylesheet" href="css/omini.css" type="text/css">
    <link rel="stylesheet" href="css/password2.css" type="text/css">
    <script type="text/javascript" src="js/jquery.js"></script> 
    <script type="text/javascript" src="js/jquery_validate.js"></script> 
    <script type="text/javascript" src="js/validation_login.js"></script> 
    <script src="js/script_javascript.js" type="text/javascript"></script> 
    </head>  


<?php                                            
        $username = "cgfsito2"; 
        $password = "cakdasapko80"; 
        $host = "localhost"; 
        $database = "my_cgfsito2"; 
      
          $db=mysql_connect($host, $username, $password) or die("Errore durante la connessione al database"); 
mysql_select_db($database, $db) or die("Errore durante la selezione del database"); 
if (isset($_POST['submit'])) {  

//nessun campo deve essere lasciato vuoto                                                             
if (!$_POST['email']) { 
die('<div id="content-2"><center><h1><b>Si &egrave verificato un errore</b></h1></center></div><div id="center"></div>
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Completa tutti i campi richiesti!</font></h2></b></div><div id="omino-3"></div><div id="finestra-login-effettuato">
<br><br><b><a>Ritorna indietro e inserisci i dati richiesti</a></b>
</div> </div><div id="home"><form action="password.php" method="post" ><input type="submit" value="Ritorna Indietro" class="button"></form></b></div>'); 
} 
//controllo che l'email messa via effettivamente un'email 
$email=$_POST['email'];  
function chkEmail($email)    
{    
    // elimino spazi, "a capo" e altro alle estremità della stringa    
    $email = trim($email);    
   
    // se la stringa è vuota sicuramente non è una mail    
    if(!$email) {    
        return false;    
    }    
   
    // controllo che ci sia una sola @ nella stringa    
    $num_at = count(explode( '@', $email )) - 1;    
    if($num_at != 1) {    
        return false;    
    }    
   
    // controllo la presenza di ulteriori caratteri "pericolosi":    
    if(strpos($email,';') || strpos($email,',') || strpos($email,' ')) {    
        return false;    
    }    
   
    // la stringa rispetta il formato classico di una mail?    
    if(!preg_match( '/^[\w\.\-][email protected]\w+[\w\.\-]*?\.\w{1,4}$/', $email)) {    
        return false;    
    }    
   
    return true;    
}       
   
if(!chkEmail($email)) {    
    die('<div id="content-2"><center><h1><b>Si &egrave verificato un errore</b></h1></center></div><div id="center"></div>
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Indirizzo Email non valido!</font></h2></b></div><div id="errore-omino"></div><div id="finestra-login-effettuato">
<br><b><a>Ritorna indietro e inserisci un indirizzo <br> Email con una sintassi corretta<br>es: [email][email protected][/email]</a></b>
</div> </div><div id="home"><form action="password.php" method="post" ><input type="submit" value="Ritorna Indietro" class="button"></form></b></div>'); 
}  
$email = $_POST['email'];  
$emailcheck = $_POST['email'];  

//controllo che la vecchia email salvata nel db sia uguale a quella immessa 
$check= mysql_query ("SELECT id, email FROM users WHERE email = '$emailcheck'") or die(mysql_error()); 
$riga = mysql_fetch_assoc($check);
$user_id = $riga['id']; 
if ($riga['email'] != $_POST['email']) {  
die('<div id="content-2"><center><h1><b>Si &egrave verificato un errore</b></h1></center></div><div id="center"></div>
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Email non esistente nel sito </font></h2></b></div><div id="errore-omino"></div><div id="finestra-login-effettuato">
<br><b><a>Ritorna indietro e inserisci <br> L\' indirizzo Email Corretto</a></b>
</div> </div><div id="home"><form action="password.php" method="post" ><input type="submit" value="Ritorna Indietro" class="button"></form></b></div>');  
}


function rand_string($len, $chars = ‘Labcdefghijklmnopqrstuvwxyz0123456789)

{

    $string = "10";

    for ($i = 0; $i < $len; $i++)

    {

        $pos = rand(0, strlen($chars)-1);

        $string .= $chars{$pos};

    }

    return $string;

}

}  

$random_string = rand_string(10);  
$invio_password = $random_string;  
$sql = "UPDATE `utenti` SET `user_password` = ‘".md5($random_string)."‘ WHERE `user_id` =’".$user_id."‘  LIMIT 1";  
$result = mysql_query($sql);  
$intestazioni= "From:[email protected]\r\n"; 
$intestazioni .= "X-Mailer: PHP/".phpversion(); 
mail($_POST['email'],"Nuova Password","Caro $username , La tua nuova password &egrave $invio_password", $intestazioni); 



   
?> 
<div id="content-2"><center><h1><b>Invio Riuscito Con Successo</b></h1></center></div><div id="center"></div>
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Complimenti!</font></h2></b></div><div id="omino-5"></div><div id="finestra-login-effettuato">
<br><b><a>Password inviata con successo<br>A breve riceverai la nostra Email<br>Contentente la Password</a></b>
</div> </div><div id="home"><form action="index.php" method="post" ><input type="submit" value="Ritorna Alla Home" class="button"></form></b></div> 
 <?php 

?>
e ora funziona???

Se non funziona ho provato a fare una piccola modifica cosi vediamo che problema da...
prova cosi...

PHP:
<?php 
session_start(); 
require_once('lib/Users.class.php'); 
$login = New Users; 
$login->esegui_login(); 
include("header.html"); 
include("content-2.html"); 
include("content.html"); 
include("footer.html"); 
include("area_login.html"); 
?> 
<html> 
  <head> 
    <title>Password Dimenticata</title> 
    <link rel="stylesheet" href="css/omini.css" type="text/css"> 
    <link rel="stylesheet" href="css/password2.css" type="text/css"> 
    <script type="text/javascript" src="js/jquery.js"></script>  
    <script type="text/javascript" src="js/jquery_validate.js"></script>  
    <script type="text/javascript" src="js/validation_login.js"></script>  
    <script src="js/script_javascript.js" type="text/javascript"></script>  
    </head>   


<?php                                             
        $username = "cgfsito2";  
        $password = "cakdasapko80";  
        $host = "localhost";  
        $database = "my_cgfsito2";  
       
          $db=mysql_connect($host, $username, $password) or die("Errore durante la connessione al database");  
mysql_select_db($database, $db) or die("Errore durante la selezione del database");  
if (isset($_POST['submit'])) {   

//nessun campo deve essere lasciato vuoto                                                              
if (!$_POST['email']) {  
die('<div id="content-2"><center><h1><b>Si &egrave verificato un errore</b></h1></center></div><div id="center"></div> 
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Completa tutti i campi richiesti!</font></h2></b></div><div id="omino-3"></div><div id="finestra-login-effettuato"> 
<br><br><b><a>Ritorna indietro e inserisci i dati richiesti</a></b> 
</div> </div><div id="home"><form action="password.php" method="post" ><input type="submit" value="Ritorna Indietro" class="button"></form></b></div>');  
}  
//controllo che l'email messa via effettivamente un'email  
$email=$_POST['email'];   
function chkEmail($email)     
{     
    // elimino spazi, "a capo" e altro alle estremità della stringa     
    $email = trim($email);     
    
    // se la stringa è vuota sicuramente non è una mail     
    if(!$email) {     
        return false;     
    }     
    
    // controllo che ci sia una sola @ nella stringa     
    $num_at = count(explode( '@', $email )) - 1;     
    if($num_at != 1) {     
        return false;     
    }     
    
    // controllo la presenza di ulteriori caratteri "pericolosi":     
    if(strpos($email,';') || strpos($email,',') || strpos($email,' ')) {     
        return false;     
    }     
    
    // la stringa rispetta il formato classico di una mail?     
    if(!preg_match( '/^[\w\.\-][email protected]\w+[\w\.\-]*?\.\w{1,4}$/', $email)) {     
        return false;     
    }     
    
    return true;     
}        
    
if(!chkEmail($email)) {     
    die('<div id="content-2"><center><h1><b>Si &egrave verificato un errore</b></h1></center></div><div id="center"></div> 
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Indirizzo Email non valido!</font></h2></b></div><div id="errore-omino"></div><div id="finestra-login-effettuato"> 
<br><b><a>Ritorna indietro e inserisci un indirizzo <br> Email con una sintassi corretta<br>es: [email][email protected][/email]</a></b> 
</div> </div><div id="home"><form action="password.php" method="post" ><input type="submit" value="Ritorna Indietro" class="button"></form></b></div>');  
}   
$email = $_POST['email'];   
$emailcheck = $_POST['email'];   

//controllo che la vecchia email salvata nel db sia uguale a quella immessa  
$check= mysql_query ("SELECT id, email FROM users WHERE email = '$emailcheck'") or die(mysql_error());  
$riga = mysql_fetch_assoc($check); 
$user_id = $riga['id'];  
if ($riga['email'] != $_POST['email']) {   
die('<div id="content-2"><center><h1><b>Si &egrave verificato un errore</b></h1></center></div><div id="center"></div> 
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Email non esistente nel sito </font></h2></b></div><div id="errore-omino"></div><div id="finestra-login-effettuato"> 
<br><b><a>Ritorna indietro e inserisci <br> L\' indirizzo Email Corretto</a></b> 
</div> </div><div id="home"><form action="password.php" method="post" ><input type="submit" value="Ritorna Indietro" class="button"></form></b></div>');   
} 


function rand_string($len, $chars = ‘Labcdefghijklmnopqrstuvwxyz0123456789) 

{ 

    $string = "10"; 

    for ($i = 0; $i < $len; $i++) 

    { 

        $pos = rand(0, strlen($chars)-1); 

        $string .= $chars{$pos}; 

    } 

    return $string; 

} 

}   

$random_string = rand_string(10);   
$invio_password = $random_string;   
$sql = "UPDATE `utenti` SET `user_password` = ‘".md5($random_string)."‘ WHERE `user_id` =’".$user_id."‘  LIMIT 1";   
if(mysql_query($sql)):   
	$intestazioni= "From:[email protected]\r\n";  
	$intestazioni .= "X-Mailer: PHP/".phpversion();  
	mail($_POST['email'],"Nuova Password","Caro $username , La tua nuova password &egrave $invio_password", $intestazioni);  
else:
	echo 'Errore! Sql: '.$sql.' Error: '.mysql_error();
endif;

    
?>  
<div id="content-2"><center><h1><b>Invio Riuscito Con Successo</b></h1></center></div><div id="center"></div> 
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Complimenti!</font></h2></b></div><div id="omino-5"></div><div id="finestra-login-effettuato"> 
<br><b><a>Password inviata con successo<br>A breve riceverai la nostra Email<br>Contentente la Password</a></b> 
</div> </div><div id="home"><form action="index.php" method="post" ><input type="submit" value="Ritorna Alla Home" class="button"></form></b></div>
 
Ultima modifica:
7 Ago 2012
11
0
0
niente...

e ora funziona???

Se non funziona ho provato a fare una piccola modifica cosi vediamo che problema da...
prova cosi...

PHP:
<?php 
session_start(); 
require_once('lib/Users.class.php'); 
$login = New Users; 
$login->esegui_login(); 
include("header.html"); 
include("content-2.html"); 
include("content.html"); 
include("footer.html"); 
include("area_login.html"); 
?> 
<html> 
  <head> 
    <title>Password Dimenticata</title> 
    <link rel="stylesheet" href="css/omini.css" type="text/css"> 
    <link rel="stylesheet" href="css/password2.css" type="text/css"> 
    <script type="text/javascript" src="js/jquery.js"></script>  
    <script type="text/javascript" src="js/jquery_validate.js"></script>  
    <script type="text/javascript" src="js/validation_login.js"></script>  
    <script src="js/script_javascript.js" type="text/javascript"></script>  
    </head>   


<?php                                             
        $username = "cgfsito2";  
        $password = "cakdasapko80";  
        $host = "localhost";  
        $database = "my_cgfsito2";  
       
          $db=mysql_connect($host, $username, $password) or die("Errore durante la connessione al database");  
mysql_select_db($database, $db) or die("Errore durante la selezione del database");  
if (isset($_POST['submit'])) {   

//nessun campo deve essere lasciato vuoto                                                              
if (!$_POST['email']) {  
die('<div id="content-2"><center><h1><b>Si &egrave verificato un errore</b></h1></center></div><div id="center"></div> 
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Completa tutti i campi richiesti!</font></h2></b></div><div id="omino-3"></div><div id="finestra-login-effettuato"> 
<br><br><b><a>Ritorna indietro e inserisci i dati richiesti</a></b> 
</div> </div><div id="home"><form action="password.php" method="post" ><input type="submit" value="Ritorna Indietro" class="button"></form></b></div>');  
}  
//controllo che l'email messa via effettivamente un'email  
$email=$_POST['email'];   
function chkEmail($email)     
{     
    // elimino spazi, "a capo" e altro alle estremità della stringa     
    $email = trim($email);     
    
    // se la stringa è vuota sicuramente non è una mail     
    if(!$email) {     
        return false;     
    }     
    
    // controllo che ci sia una sola @ nella stringa     
    $num_at = count(explode( '@', $email )) - 1;     
    if($num_at != 1) {     
        return false;     
    }     
    
    // controllo la presenza di ulteriori caratteri "pericolosi":     
    if(strpos($email,';') || strpos($email,',') || strpos($email,' ')) {     
        return false;     
    }     
    
    // la stringa rispetta il formato classico di una mail?     
    if(!preg_match( '/^[\w\.\-][email protected]\w+[\w\.\-]*?\.\w{1,4}$/', $email)) {     
        return false;     
    }     
    
    return true;     
}        
    
if(!chkEmail($email)) {     
    die('<div id="content-2"><center><h1><b>Si &egrave verificato un errore</b></h1></center></div><div id="center"></div> 
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Indirizzo Email non valido!</font></h2></b></div><div id="errore-omino"></div><div id="finestra-login-effettuato"> 
<br><b><a>Ritorna indietro e inserisci un indirizzo <br> Email con una sintassi corretta<br>es: [email][email protected][/email]</a></b> 
</div> </div><div id="home"><form action="password.php" method="post" ><input type="submit" value="Ritorna Indietro" class="button"></form></b></div>');  
}   
$email = $_POST['email'];   
$emailcheck = $_POST['email'];   

//controllo che la vecchia email salvata nel db sia uguale a quella immessa  
$check= mysql_query ("SELECT id, email FROM users WHERE email = '$emailcheck'") or die(mysql_error());  
$riga = mysql_fetch_assoc($check); 
$user_id = $riga['id'];  
if ($riga['email'] != $_POST['email']) {   
die('<div id="content-2"><center><h1><b>Si &egrave verificato un errore</b></h1></center></div><div id="center"></div> 
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Email non esistente nel sito </font></h2></b></div><div id="errore-omino"></div><div id="finestra-login-effettuato"> 
<br><b><a>Ritorna indietro e inserisci <br> L\' indirizzo Email Corretto</a></b> 
</div> </div><div id="home"><form action="password.php" method="post" ><input type="submit" value="Ritorna Indietro" class="button"></form></b></div>');   
} 


function rand_string($len, $chars = ‘Labcdefghijklmnopqrstuvwxyz0123456789) 

{ 

    $string = "10"; 

    for ($i = 0; $i < $len; $i++) 

    { 

        $pos = rand(0, strlen($chars)-1); 

        $string .= $chars{$pos}; 

    } 

    return $string; 

} 

}   

$random_string = rand_string(10);   
$invio_password = $random_string;   
$sql = "UPDATE `utenti` SET `user_password` = ‘".md5($random_string)."‘ WHERE `user_id` =’".$user_id."‘  LIMIT 1";   
if(mysql_query($sql)):   
	$intestazioni= "From:[email protected]\r\n";  
	$intestazioni .= "X-Mailer: PHP/".phpversion();  
	mail($_POST['email'],"Nuova Password","Caro $username , La tua nuova password &egrave $invio_password", $intestazioni);  
else:
	echo 'Errore! Sql: '.$sql.' Error: '.mysql_error();
endif;

    
?>  
<div id="content-2"><center><h1><b>Invio Riuscito Con Successo</b></h1></center></div><div id="center"></div> 
<div id="tutto"><center><div id="finestra"><b><h2><font color="red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Complimenti!</font></h2></b></div><div id="omino-5"></div><div id="finestra-login-effettuato"> 
<br><b><a>Password inviata con successo<br>A breve riceverai la nostra Email<br>Contentente la Password</a></b> 
</div> </div><div id="home"><form action="index.php" method="post" ><input type="submit" value="Ritorna Alla Home" class="button"></form></b></div>
dopo aver inserito l'email da un errore...e non invia l'email contenente la password
 
7 Ago 2012
11
0
0
errore

Ci copi l'errore?
Errore! Sql: UPDATE `utenti` SET `user_password` = ‘79d6d653c29b24c45291409ec1877582‘ WHERE `user_id` =’15‘ LIMIT 1 Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '‘79d6d653c29b24c45291409ec1877582‘ WHERE `user_id` =’15‘ LIMIT 1' at line 1
 

f107

Utente Attivo
7 Ago 2012
203
6
18
Roma
Sostituisci questo:
PHP:
$sql = "UPDATE `utenti` SET `user_password` = ‘".md5($random_string)."‘ WHERE `user_id` =’".$user_id."‘  LIMIT 1";
con

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
 
7 Ago 2012
11
0
0
Sostituisci questo:
PHP:
$sql = "UPDATE `utenti` SET `user_password` = ‘".md5($random_string)."‘ WHERE `user_id` =’".$user_id."‘  LIMIT 1";
con

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,,
 

f107

Utente Attivo
7 Ago 2012
203
6
18
Roma
Allora facciamo cosi...

sostituisci questo:

PHP:
mail($_POST['email'],"Nuova Password","Caro $username , La tua nuova password &egrave $invio_password", $intestazioni);
con questo:
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 ;)
 
7 Ago 2012
11
0
0
Allora facciamo cosi...

sostituisci questo:

PHP:
mail($_POST['email'],"Nuova Password","Caro $username , La tua nuova password &egrave $invio_password", $intestazioni);
con questo:
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
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 ... :eek:
 

f107

Utente Attivo
7 Ago 2012
203
6
18
Roma
Fatto al volo prima di uscire...
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:  [email protected]";
              
              $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.
 
7 Ago 2012
11
0
0
Fatto al volo prima di uscire...
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:  [email protected]";
              
              $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:

f107

Utente Attivo
7 Ago 2012
203
6
18
Roma
sisi avevo visto :)

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

PHP:
sprintf
( "UPDATE `users` SET `pass` = '%s' WHERE `id` = %d  LIMIT 1" ,
md5 ($password ),
$iId
)
)){
Fammi sapere sono da cell :p
 
7 Ago 2012
11
0
0
sisi avevo visto :)

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

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