Foros del Web » Programando para Internet » PHP »

Recuperar contraseña

Estas en el tema de Recuperar contraseña en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 26/01/2015, 12:12
 
Fecha de Ingreso: mayo-2014
Ubicación: Valencia
Mensajes: 63
Antigüedad: 9 años, 11 meses
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 
    

?>
  #2 (permalink)  
Antiguo 26/01/2015, 12:41
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Recuperar contraseña

Estoy probando un compilador mental, pero esta en fase de diseño. Así que por el momento seria útil si explicas que clase de error se produce en tu código o el comportamiento que tiene cuando lo ejecutas.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 26/01/2015, 13:40
 
Fecha de Ingreso: mayo-2014
Ubicación: Valencia
Mensajes: 63
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Recuperar contraseña

Digamos que valida que se ha escrito el email y después, pongas lo que pongas pasa a ejecutar el "El usuario con el email XXXX no está registrado. Reintentar"

Ni cambia la clave ni envía el mail, siendo el email valido.
  #4 (permalink)  
Antiguo 26/01/2015, 22:32
 
Fecha de Ingreso: enero-2015
Mensajes: 32
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Recuperar contraseña

Yo tengo este codigo para enviar mensaje !
Lo uso mas para contacto que para recuperar contraseña.
Pero capas que lo puedas amoldar a tu necesidad.
Aca te lo dejo:
Código PHP:
Ver original
  1. if (isset ($_POST['enviar'])) {
  2. $headers .= "Email: ".$_POST['email']."
  3. Mensaje:
  4. ".$_POST['mensaje']."";
  5. if ( mail ($mail_destinatario, "Nombre: ".$_POST['nombre']." ".$_POST['apellido']."", $headers )) echo '
  6. Su mensaje a sido enviado correctamente.
  7. ';
  8. else echo '
  9. Error al enviar el formulario.
  10. '; }

Etiquetas: contraseña, formulario, html, mysql, select, sql, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:55.