Foros del Web » Programando para Internet » PHP »

ayuda ! con scripts php recuperar contraseña.

Estas en el tema de ayuda ! con scripts php recuperar contraseña. en el foro de PHP en Foros del Web. wenas, tengo un scripts para recuperar contraseñas en mi sistema de usuarios , por seguridad ahora guardo las claves encriptadas con md5 entoncs ya no ...
  #1 (permalink)  
Antiguo 23/06/2009, 08:26
 
Fecha de Ingreso: diciembre-2006
Mensajes: 153
Antigüedad: 17 años, 11 meses
Puntos: 1
Pregunta ayuda ! con scripts php recuperar contraseña.

wenas, tengo un scripts para recuperar contraseñas en mi sistema de usuarios , por seguridad ahora guardo las claves encriptadas con md5 entoncs ya no me sirve solo enviarlas al usuario,sino que tendre que generarle una nueva.

deberia comprobar 1º el usuario y email si existen, generar una contraseña aleatoria, hacer un update de el campo "contrasena" y enviar la nueva clave en el mensaje..

pero nose como hacerlo??

si alguien me puede ayudar!!

gracias

este es el form para recuperar la clave:

recuperar.html
Código PHP:
<h3>recuperar contraseña</h3>
<
form id="loginForm" name="loginForm" method="post" action="recuperar.php">
  <
table width="300" border="0" align="center" cellpadding="2" cellspacing="0">

   <
tr>
      <
th>nombre usuario</th>
      <
td><input name="loginname" type="text" class="textfield" id="loginname" value=""/></td>
    </
tr>

<
th>email</th>
      <
td><input name="email" type="text" class="textfield" id="email" value="" /></td>
    </
tr><tr>
      <
td>&nbsp;</td>
      <
td><input type="submit" name="Submit" value="solicitar"/></td>
    </
tr>


  </
table>
</
form



y el que lo procesa:

recuperar.php


Código PHP:
<?php
// Este fichero recibe y procesa los datos del formulario de recuperacion de contraseña
// en el que se escriben usuario y email

// recogemos las variables enviadas por el formulario
$nombreusuario=$_POST['loginname'];
$emailusuario=$_POST['email'];

// Conectamos a la base de datos
// Las variables de conexion se suelen poner en un fichero de configuracion que se incluye
include "conexion.php";
$link mysql_connect(DB_HOSTDB_USERDB_PASSWORD);
if(!
$link) {
        die(
'Failed to connect to server: ' mysql_error());
    }
    
    
//Select database
    
$db mysql_select_db(DB_DATABASE);
    if(!
$db) {
        die(
"Unable to select database");
    }

// Consultamos si existe $nombreusuario + $emailusuario
$res=mysql_query("SELECT COUNT(*) FROM usuarios WHERE username='$loginname' AND email='$email'");

if (
mysql_num_rows($res)==0) {
// Si no existe, datos incorrectos y fin del proceso y volvemos al formulario de recuperacion
header("Location:recuperar.html");
}
else {
// Si existe, buscamos en la bd
$res=mysql_query("SELECT * FROM usuarios WHERE username='$loginname' AND email='$email'");
$row=mysql_fetch_assoc($res);
$claveusuario=$row['contrasena'];

// enviamos el email de recuperacion
$headers "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
mail($emailusuario"Recuperación""Sus datos en nuestra web son $loginname, $claveusuario"$headers);
}
?>

muchas gracias..
  #2 (permalink)  
Antiguo 23/06/2009, 08:49
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: ayuda ! con scripts php recuperar contraseña.

Tienes todo hecho, solo te falta implementarlo.

Primero que nada, esta parte redunda:
Código php:
Ver original
  1. $res=mysql_query("SELECT COUNT(*) FROM usuarios WHERE username='$loginname' AND email='$email'");
  2.  
  3. if (mysql_num_rows($res)==0) {
  4. // Si no existe, datos incorrectos y fin del proceso y volvemos al formulario de recuperacion
  5. header("Location:recuperar.html");
  6. }
  7. else {
  8. // Si existe, buscamos en la bd
  9. $res=mysql_query("SELECT * FROM usuarios WHERE username='$loginname' AND email='$email'");

Simplemente haz la consulta normal y luego comprueba con mysql_num_rows(), asi evitas hacer 2 consultas.

Ahora bien, lo que tienes que hacer es crear una contraseña aleatoria:
Código php:
Ver original
  1. $better_token = md5(uniqid(mt_rand(), true));
  2. $better_token = substr($better_token, 0, 6);
  3.  
  4. $result = mysql_query("UPDATE tabla SET password = '$better_token' WHERE username='$username' AND email='$email'");
  5.  
  6. if($result) {
  7.   mail($email, "Recuperacion de Contraseña", "Tu contraseña nueva es: $better_token");
  8. }
  #3 (permalink)  
Antiguo 24/02/2012, 15:37
 
Fecha de Ingreso: diciembre-2011
Mensajes: 13
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: ayuda ! con scripts php recuperar contraseña.

y que mas deberia hacer ?
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 13:02.