Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/12/2009, 00:41
Avatar de urgido
urgido
 
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: ¿Olvidó su contraseña? php y mysql

Pues no es mucha ciencia

Código PHP:
Ver original
  1. <?php
  2. function gen_pass () {
  3. $i=0;
  4. $password="";
  5. // Aqui colocamos el largo del password
  6. $pw_largo = 8;
  7. // Colocamos el rango de caracteres ASCII para la creacion de el password
  8. $desde_ascii = 50; // "2"
  9. $hasta_ascii = 122; // "z"
  10. // Aqui quitamos caracteres especiales
  11. $no_usar = array (58,59,60,61,62,63,64,73,79,91,92,93,94,95,96,108, 111);
  12. while ($i < $pw_largo) {
  13. mt_srand ((double)microtime() * 1000000);
  14. // limites aleatorios con tabla ASCII
  15. $numero_aleat = mt_rand ($desde_ascii, $hasta_ascii);
  16. if (!in_array ($numero_aleat, $no_usar)) {
  17. $password = $password . chr($numero_aleat);
  18. $i++;
  19. }
  20. }
  21. return $password;
  22.  
  23. }
  24. // Y aqui ejecutamos la funcion y la guardamos en $p_generado, luego simplemente la cargamos
  25. $p_gen = gen_pass();
  26. ?>
  27. <?
  28.    include("dbconexion.php");
  29.    if (isset($_POST["email"])) {
  30.    $email = $_POST["email"];  
  31.    $query = "UPDATE usuarios SET pass1='".$p_gen."' WHERE email='".$email."'";
  32.    mysql_query($query) or die(mysql_error());
  33.    echo "su nuevo pass ha sido enviado!";
  34.    $asunto =    'Nuevo pass.';  
  35.    $mensaje =   "su nuevo pass es: $p_gen";  
  36.    $cabeceras = 'From: [email protected]' . "\r\n" .  
  37.                          'Reply-To: [email protected]' . "\r\n" .  
  38.                          'X-Mailer: PHP/' . phpversion();  
  39.  
  40.    mail($email, $asunto, $mensaje, $cabeceras);  
  41. }  
  42. ?>

lo hice aquí en el foro igual y hay errores, peor ya te dí una mano. Saludos
__________________
Hospedaje Web al mejor costo!