Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/01/2015, 12:12
mortisdj
 
Fecha de Ingreso: mayo-2014
Ubicación: Valencia
Mensajes: 63
Antigüedad: 10 años
Puntos: 0
Recuperar contraseña

Buenas, estoy intentando hacer un script php para recuperar la clave y que al introducir el email le envíe al usuario una nueva password, pero no hay forma y no se donde está el fallo, no me reconoce el email introducido.

Os dejo el código a ver si veis donde estoy fallando.

Gracias.
Código PHP:
<?php 
    
include('Connections/conexion.php'); // incluímos los datos de acceso a la BD 
    
if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos del formulario 
        
if(empty($_POST['strEmail'])) { 
            echo 
"Debe de introducir un email valido. <a href='javascript:history.back();'>Reintentar</a>"
        }else { 
            
$strEmail mysql_real_escape_string($_POST['strEmail']); 
            
$strEmail trim($strEmail); 
            
$sql mysql_query("SELECT strPassword, strEmail FROM tblusuarios WHERE strEmail='".$strEmail."'"); 
            if(
mysql_num_rows($sql)) { 
                
$row mysql_fetch_assoc($sql); 
                
$num_caracteres "10"// asignamos el número de caracteres que va a tener la nueva contraseña 
                
$nueva_clave substr(md5(rand()),0,$num_caracteres); // generamos una nueva contraseña de forma aleatoria 
                
$strEmail $row['strEmail']; 
                
$strPassword $nueva_clave// la nueva contraseña que se enviará por correo al usuario 
                
$usuario_clave2 md5($strPassword); // encriptamos la nueva contraseña para guardarla en la BD 
                // actualizamos los datos (contraseña) del usuario que solicitó su contraseña 
                
mysql_query("UPDATE tblusuarios SET strPassword='".$usuario_clave2."' WHERE strEmail='".$strEmail."'"); 
                
// Enviamos por email la nueva contraseña 
                
$remite_nombre "Prueba"// Tu nombre o el de tu página 
                
$remite_email "[email protected]"// tu correo 
                
$asunto "Recuperación de contraseña"// Asunto (se puede cambiar) 
                
$mensaje "Se ha generado una nueva contraseña para el usuario con el email <strong>".$strEmail."</strong>. La nueva contraseña es: <strong>".$strPassword."</strong>."
                
$cabeceras "From: ".$remite_nombre." <".$remite_email.">\r\n"
                
$cabeceras $cabeceras."Mime-Version: 1.0\n"
                
$cabeceras $cabeceras."Content-Type: text/html"
                
$enviar_email mail($strEmail,$asunto,$mensaje,$cabeceras); 
                if(
$enviar_email) { 
                    echo 
"La nueva contraseña ha sido enviada al email asociado con el email ".$strEmail."."
                }else { 
                    echo 
"No se ha podido enviar el email. <a href='javascript:history.back();'>Reintentar</a>"
                } 
            }else { 
                echo 
"El usuario con el email <strong>".$strEmail."</strong> no está registrado. <a href='javascript:history.back();'>Reintentar</a>"
            } 
        } 
    }else { 
?> 
    <form action="<?=$_SERVER['PHP_SELF']?>" method="post"> 
        <label>Introduzca su email:</label><br /> 
        <input type="text" name="strEmail" /><br /> 
        <input type="submit" name="enviar" value="Enviar" /> 
    </form> 
<?php 
    

?>