Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/12/2009, 21:11
h3greed
 
Fecha de Ingreso: septiembre-2008
Mensajes: 67
Antigüedad: 15 años, 7 meses
Puntos: 0
¿Olvidó su contraseña? php y mysql

Hola a todos hace poco postee un registro de usuarios que nos genera una pass boleana que se envia una vez terminado

aqui les dejo el codigo
Código PHP:
 <?php 
function gen_pass () { 
$i=0
$password=""
// Aqui colocamos el largo del password 
$pw_largo 8
// Colocamos el rango de caracteres ASCII para la creacion de el password 
$desde_ascii 50// "2" 
$hasta_ascii 122// "z" 
// Aqui quitamos caracteres especiales 
$no_usar = array (58,59,60,61,62,63,64,73,79,91,92,93,94,95,96,108111); 
while (
$i $pw_largo) { 
mt_srand ((double)microtime() * 1000000); 
// limites aleatorios con tabla ASCII 
$numero_aleat mt_rand ($desde_ascii$hasta_ascii); 
if (!
in_array ($numero_aleat$no_usar)) { 
$password $password chr($numero_aleat); 
$i++; 


return 
$password


// Y aqui ejecutamos la funcion y la guardamos en $p_generado, luego simplemente la cargamos 
$p_gen gen_pass(); 
?> 
<? 
   
include("dbconexion.php"); 
   if (isset(
$_POST["usuario"])) { 
   
$usuario $_POST["usuario"]; 
   
$email $_POST["email"]; 
   
$responsable $_POST["responsable"]; 
   
$telefono $_POST["telefono"]; 
   if(
$usuario==NULL|$email==NULL|$responsable==NULL|$telefono==NULL) { 
   echo 
"un campo est&aacute; vacio."
   }else{ 
   
$usuario=str_replace(" ","",$usuario); 
   
$email=str_replace(" ","",$email); 
   
$usuario=str_replace("%20","",$usuario);// Quitar posiblesespacios escapados 
   
$email=str_replace("%20","",$email); 
   
$usuario=addslashes($usuario);// add slashes to stop hacking 
   
$email=addslashes($email); 
   
$minuser_len 6//username minimum length 
   
if (strlen($usuario) < $minuser_len || strlen($email) < $minemail_len){ 
   echo 
"El usuario debe tener como mínimo 6 digitos"
   }else{ 
   
$checkuser mysql_query("SELECT usuario FROM usuarios WHERE usuario='$usuario'"); 
   
$username_exist mysql_num_rows($checkuser); 
   
$checkemail mysql_query("SELECT email FROM usuarios WHERE email='$email'"); 
   
$email_exist mysql_num_rows($checkemail); 
   if (
$email_exist>0|$usuario_exist>0) { 
   echo 
"EL nombre de usuario $usuario o la cuenta de correo $email estan ya en uso"
   }else{ 
   
$query "INSERT INTO usuarios (usuario, email, responsable, telefono, pass1) VALUES('$usuario','$email','$responsable','$telefono','$p_gen')"
   
mysql_query($query) or die(mysql_error()); 
   echo 
"El usuario $usuario se ha generado correctamente con la contraseña le estará llegando al correo brindado por usted"
   
$email $_POST['email'];  
   
$usuario $_POST['usuario']; 
   
$asunto =    'Confirmacion de registro.';  
   
$mensaje =   "El registro se ha realizado correctamente tu password es    $p_gen";  
   
$cabeceras 'From: [email protected]"\r\n" .  
                         
'Reply-To: [email protected]"\r\n" .  
                         
'X-Mailer: PHP/' phpversion();  

   
mail($email$asunto$mensaje$cabeceras);   




?>
Ahora lo que necesito es generar un ¿Olvidó su contraseña? de la misma manera, que genere una contraseña nueva que la vuelva a ingresar en la base de datos y que nos la envie por correo.

desde ya muchas gracias a los que me puedan aportar.