Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Recuperacion de contraseñas

Estas en el tema de Recuperacion de contraseñas en el foro de PHP en Foros del Web. Estoy realizando un foro. Una de las paginas es la de recuperacion de contraseña. Para ello tengo programado este codigo. El caso es que siempre ...
  #1 (permalink)  
Antiguo 16/10/2014, 04:05
 
Fecha de Ingreso: febrero-2014
Mensajes: 13
Antigüedad: 10 años, 1 mes
Puntos: 0
Recuperacion de contraseñas

Estoy realizando un foro.

Una de las paginas es la de recuperacion de contraseña. Para ello tengo programado este codigo. El caso es que siempre me dice que el usuario no existe, pero si ejecuto las setencia directamente en la cosola si que me devuelve los valores correctos. El usuario ingresado si que existe asi que deberia devolver los valores contraseña y email. Pero no se porque no lo hace

Código PHP:
Ver original
  1. <?php
  2.     include('acceso_db.php'); // incluímos los datos de acceso a la BD
  3.     if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos del formulario
  4.         if(empty($_POST['usuario'])) {
  5.            
  6.             echo "No ha ingresado el usuario. <a href='javascript:history.back();'>Reintentar</a>";
  7.         }else {
  8.             $usuario=($_POST['usuario']);
  9.             /*$usuario = mysql_real_escape_string($usuario);*/
  10.  
  11.             $usuario = trim($usuario);
  12.            
  13.             $sql = mysql_query("SELECT usuario, clave, email FROM usuarios WHERE usuario='".$usuario."'");
  14.                 print($usuario);
  15.             if(mysql_query($sql)) {
  16.                    
  17.                 $row = mysql_fetch_assoc($sql);
  18.                 $num_caracteres = "10"; // asignamos el número de caracteres que va a tener la nueva contraseña
  19.                 $nueva_clave = substr(md5(rand()),0,$num_caracteres); // generamos una nueva contraseña de forma aleatoria
  20.                 $usuario = $row['usuario'];
  21.                 $clave = $nueva_clave; // la nueva contraseña que se enviará por correo al usuario
  22.                 $clave2 = md5($clave); // encriptamos la nueva contraseña para guardarla en la BD
  23.                 $email = $row['email'];
  24.                 // actualizamos los datos (contraseña) del usuario que solicitó su contraseña
  25.                 mysql_query("UPDATE usuarios SET clave='".$clave2."' WHERE usuario='".$usuario."'");
  26.                
  27.                 // Enviamos por email la nueva contraseña
  28.                 $remite_nombre = ""; // Tu nombre o el de tu página
  29.                 $remite_email = ""; // tu correo
  30.                 $asunto = "Recuperación de contraseña"; // Asunto (se puede cambiar)
  31.                 $mensaje = "Se ha generado una nueva contraseña para el usuario <strong>".$usuario."</strong>. La nueva contraseña es: <strong>".$clave."</strong>.";
  32.                 $cabeceras = "From: ".$nombre." <".$email.">\r\n";
  33.                 $cabeceras = $cabeceras."Mime-Version: 1.0\n";
  34.                 $cabeceras = $cabeceras."Content-Type: text/html";
  35.                 $enviar_email = mail($email,$asunto,$mensaje,$cabeceras);
  36.                 if($enviar_email) {
  37.                     echo "La nueva contraseña ha sido enviada al email asociado al usuario ".$usuario.".";
  38.                 }else {
  39.                     echo "No se ha podido enviar el email. <a href='javascript:history.back();'>Reintentar</a>";
  40.                 }
  41.             }else {
  42.                 echo "El usuario <strong>".$usuario."</strong> no está registrado. <a href='javascript:history.back();'>Reintentar</a>";
  43.             }
  44.         }
  45.     }else {
  46. ?>
  47.     <form action="recuperar.php" method="post">
  48.         <label>Usuario:</label><br />
  49.         <input type="text" name="usuario" /><br />
  50.         <input type="submit" name="enviar" value="Enviar" />
  51.     </form>
  52. <?php
  53.     }
  54. ?>
  #2 (permalink)  
Antiguo 16/10/2014, 04:19
 
Fecha de Ingreso: febrero-2014
Mensajes: 13
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Recuperacion de contraseñas

Ya he encontrado el fallo, gracias

Etiquetas: contraseñas, formulario, html, mysql, recuperacion, select, sql, 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 08:25.