Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/06/2009, 08:26
waty90
 
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..