Ver Mensaje Individual
  #7 (permalink)  
Antiguo 28/11/2010, 12:50
Enfermin
 
Fecha de Ingreso: septiembre-2009
Mensajes: 54
Antigüedad: 15 años, 3 meses
Puntos: 0
De acuerdo Respuesta: Script php para recuperar contraseña MD5

como dice el error, tienes un error de sintaxis pero el error no es en la linea que describes, a veces hace referencia a una linea posterior o anterior porque dicha linea no es erronea, solo devuelve un pass unico, bueno el codigo completo sin error se ve asi:

Código PHP:
Ver original
  1. <?php  
  2. // Este fichero recibe y procesa los datos del formulario de recuperacion de contraseña  
  3. // en el que se escriben usuario y email  
  4.  
  5. // recogemos las variables enviadas por el formulario  
  6. $nombreusuario=$_POST['nombreusuario'];  
  7. $emailusuario=$_POST['emailusuario'];  
  8.  
  9. // Conectamos a la base de datos  
  10. // Las variables de conexion se suelen poner en un fichero de configuracion que se incluye  
  11. include "bdconfigmail.php";  
  12. $con = mysql_connect($dbhost, $dbusername, $dbpass);  
  13. if(!$con) {
  14.         die('Failed to connect to server: ' . mysql_error());
  15.     }
  16.      
  17.     //Select database
  18.     $db = mysql_select_db($dbname);
  19.     if(!$db) {
  20.         die("Unable to select database");
  21.     }
  22.    
  23. // Consultamos si existe $nombreusuario + $emailusuario  
  24. $res=mysql_query("SELECT COUNT(*) FROM members WHERE login='$nombreusuario' AND email='$emailusuario'");  
  25.  
  26. if (mysql_num_rows($res)==0) {  
  27. // Si no existe, datos incorrectos y fin del proceso y volvemos al formulario de recuperacion  
  28. header("Location:formulario.php");  
  29. }  
  30. else {  
  31.     $better_token = md5(uniqid(mt_rand(), true));
  32.     $better_token = substr($better_token, 0, 6);
  33.    
  34.     $res = mysql_query("UPDATE members SET passwd = '$better_token' WHERE login='$nombreusuario' AND email='$emailusuario'");
  35.    
  36.     if($res) {
  37.         mail($emailusuario, "Recuperacion de Contraseña", "Tu contraseña nueva es: $better_token");
  38.     }
  39. }
  40. ?>

si luego de esto te da error, es porque debes personalizar los campos de la bd del script de ejemplo con los de tu bd
saludos