Foros del Web » Programando para Internet » PHP »

recuperar contraseña validando email+captcha

Estas en el tema de recuperar contraseña validando email+captcha en el foro de PHP en Foros del Web. hola estoy tratando de validar email + captcha para recuperar_contraseña de mis usuarios olvidadisos este es el codigo de recuperar_contraseña.php Código PHP: <?php      include( ...
  #1 (permalink)  
Antiguo 03/11/2011, 21:49
(Desactivado)
 
Fecha de Ingreso: octubre-2011
Mensajes: 164
Antigüedad: 12 años, 6 meses
Puntos: 1
recuperar contraseña validando email+captcha

hola estoy tratando de validar email + captcha para recuperar_contraseña de mis usuarios olvidadisos

este es el codigo de recuperar_contraseña.php

Código PHP:
<?php
    
include("include/conn.inc.php");
    if(isset(
$_POST['enviar'])) { // comprobamos que se han enviado los datos del formulario
        
if(empty($_POST['usuario_nombre'])) {
            echo 
"<p><center>No ha ingresado el usuario.</p><p> <a href='javascript:history.back();'>Reintentar</a></center></p>";
        }else{
                
$usuario_nombre mysql_real_escape_string($_POST['usuario_nombre']);
                
$usuario_nombre trim($usuario_nombre);
                
$sql mysql_query("SELECT usuario_nombre, usuario_clave, usuario_email FROM usuarios WHERE usuario_nombre='".$usuario_nombre."'",$link) or die(mysql_error()); 
                if(
mysql_num_rows($sql)) {
                    
$row mysql_fetch_array($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
                    
$usuario_nombre $row['usuario_nombre'];
                    
$usuario_clave $nueva_clave// la nueva contraseña que se enviará por correo al usuario
                    
$usuario_clave2 md5($usuario_clave); // encriptamos la nueva contraseña para guardarla en la BD
                    
$usuario_email $row['usuario_email'];
                
// actualizamos los datos (contraseña) del usuario que solicitó su contraseña
                    
mysql_query("UPDATE usuarios SET usuario_clave='".$usuario_clave2."' WHERE usuario_nombre='".$usuario_nombre."'");
                
// Enviamos por email la nueva contraseña
                    
$remite_nombre "Miguelin"// 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 <strong>".$usuario_nombre."</strong>. La nueva contraseña es: <strong>".$usuario_clave."</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($usuario_email,$asunto,$mensaje,$cabeceras);
                        if(
$enviar_email) {
                            echo 
"La nueva contraseña ha sido enviada al email asociado al usuario ".$usuario_nombre.".";
                        }else {
                            echo 
"No se ha podido enviar el email. <a href='javascript:history.back();'>Reintentar</a>";
                        }
                }else{
                    echo 
"El usuario <strong>".$usuario_nombre."</strong> no está registrado. <a href='javascript:history.back();'>Reintentar</a>";
                }
            }
    }else {
?>

<center>
    <p></p>
    <form action="<?php $_SERVER['PHP_SELF']?>" method="post">
        <label>Usuario:</label><br />
        <p></p>
          <input type="text" name="usuario_nombre" /><br />
        <p></p>
          <input name="action" type="hidden" value="checkdata">
        <p></p>
          <input type="submit" name="enviar" value="Enviar" />
    </form>
</center>
<?php
    
}
?>
de esta forma envio la nuevacontraseña al email, previamente valido que el email sea el mismo quel de la basededatos.
ademas de validar el email en el formulario quiero añadir tambien un codigo captcha y preguntar por ambos para recien enviar la contraseña al email del usuario. como hago esto algun archivo parecido para estudiarlo y adaptaarlo al mio
  #2 (permalink)  
Antiguo 03/11/2011, 22:07
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 5 meses
Puntos: 48
Respuesta: recuperar contraseña validando email+captcha

Al igual que pides el nombre de usuario, pide el email & ya luego en la consulta quedaria asi:

Código PHP:
Ver original
  1. $usuario_email = mysql_real_escape_string($_POST['usuario_email']);
  2. $usuario_email = trim($usuario_email);
  3. $sql = mysql_query("SELECT usuario_nombre, usuario_clave, usuario_email FROM usuarios WHERE usuario_nombre='".$usuario_nombre."' AND usuario_email='".$usuario_email."'",$link) or die(mysql_error());

Podria hacerse asi si lo deceas tmb luego de buscar
solo por usuario luego despues del if(mysql_num_rows($sql))
poner
Código PHP:
Ver original
  1. if($usuario_email != $row['usuario_email'])
  2. {
  3.     echo "Email Erroneo";
  4. }


Bueno algo asi podrias hacerlo n_n
Saludos*!
  #3 (permalink)  
Antiguo 03/11/2011, 22:48
(Desactivado)
 
Fecha de Ingreso: octubre-2011
Mensajes: 164
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: recuperar contraseña validando email+captcha

bien eso es una parte pero que valide el captcha para recien recuperar contraseña

Etiquetas: contraseña, formulario, html, mysql, sql, validador, 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 21:15.