Foros del Web » Programando para Internet » PHP »

recuperar pass

Estas en el tema de recuperar pass en el foro de PHP en Foros del Web. Estimados , Tengo un pequeño formulario con una función para recuperar la clave del usuario , pero no me arroja ningún error solo la pantalla ...
  #1 (permalink)  
Antiguo 23/07/2012, 14:33
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
recuperar pass

Estimados ,

Tengo un pequeño formulario con una función para recuperar la clave del usuario , pero no me arroja ningún error solo la pantalla en blanco , espero puedan darme una mano.

recuperarclave.php

Código PHP:
Ver original
  1. <form action="include/procesar.php" method="post" enctype="multipart/form-data">
  2.     <fieldset id="fieldsetBox_evento" class="fieldsetBox" style="margin:auto">
  3.         <legend>Recuperar Password</legend>
  4.             <div id="contenidos">
  5.                 <label for="email" class="label">Tu email
  6.                 <input type="text" name="email"></label><br />
  7.                 <label for="email" class="label"><input type="submit" value="Recuperar" /></label><br>
  8.                 <input name="accion" value="recuperarpass" type="hidden" />
  9.                 <input type="hidden" value="<?php echo $_POST['email'];?>" name="email">
  10.                 <label for="email" class="label"><a href="http://tarjetas/index.php">Volver a Pantalla de Ingreso</a></label>
  11.     </fieldset>
  12. </form>
  13. </div>


procesar.php

Código PHP:
Ver original
  1. function Recuperar_Pass($link) {
  2.         $query_pass = sprintf("SELECT password, email FROM tb_usuarios WHERE usuario = %s",
  3.                                 GetSQLValueString($_POST['usuario'], "text"));
  4.         $pass = mysql_query($query_pass, $link) or die(mysql_error());
  5.         $row_pass = mysql_fetch_assoc($pass);
  6.         $totalRows_pass = mysql_num_rows($pass);
  7.        
  8.         if ($totalRows_pass > 0) {
  9.             $mail = new PHPMailer();
  10.             $mail->IsSMTP();   
  11.             $mail->SMTPAuth = true;
  12.             $mail->Host = "xxxxxxxx"; // SMTP
  13.             $mail->Username = "xxxxxxx"; // Correo completo a utilizar
  14.             $mail->Password = "xxxxx"; // Contraseña
  15.             $mail->Port = 2025; // Puerto a utilizar
  16.             $mail->From = "xxxxxx"; // Desde donde enviamos (Para mostrar)
  17.             $mail->AddAddress("$email"); // Esta es la dirección a donde enviamos
  18.             $mail->IsHTML(true);
  19.             $mail->Subject = "Contraseña Sistema  ";
  20.             $mail->Body    = "Su contrase&ntilde;a  es: <strong>".$row_pass['password']."</strong>";
  21.             $mail->Send();
  22.            
  23.             header('Content-type: text/html; charset=UTF-8');
  24.             echo "<strong>la contrase&ntilde;a ha sido enviada a su cuenta de correos</strong>";
  25.         }else{
  26.                 echo "El Email no fue enviado.";   
  27.         }
  28.     }


no hay problemas con el smtp ya que esta funcionando en otro formulario de mi aplicación.

Saludos

Última edición por matt_1985; 23/07/2012 a las 14:40
  #2 (permalink)  
Antiguo 23/07/2012, 14:48
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: recuperar pass

como recuperas el
Código PHP:
Ver original
  1. $_POST['email'];
en input hidden
__________________
cada vez que aprendes algo te crees que no sabes nada
  #3 (permalink)  
Antiguo 23/07/2012, 14:54
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: recuperar pass

exacto.

Saludos
  #4 (permalink)  
Antiguo 23/07/2012, 14:58
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: recuperar pass

Cita:
Iniciado por matt_1985 Ver Mensaje
exacto.

Saludos
ya lo tienes??
__________________
cada vez que aprendes algo te crees que no sabes nada
  #5 (permalink)  
Antiguo 23/07/2012, 15:07
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: recuperar pass

tenia un error en el sql ya que primero selecciono el email y compruebo si existe que envie el email , pero aun asi no me funciona.

Código PHP:
Ver original
  1. $query_pass = sprintf("SELECT password, email FROM tb_usuarios WHERE email = %s",
  2.                                 GetSQLValueString($_POST['email'], "text"));

Saludos
  #6 (permalink)  
Antiguo 23/07/2012, 15:12
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: recuperar pass

se ves aqui :
Código PHP:
Ver original
  1. $query_pass = sprintf("SELECT password, email FROM tb_usuarios WHERE usuario = %s",
  2.                                 GetSQLValueString($_POST['usuario'], "text"));
de donde sacas el variable de usuario...
Código PHP:
Ver original
  1. $_POST['email'];
__________________
cada vez que aprendes algo te crees que no sabes nada
  #7 (permalink)  
Antiguo 23/07/2012, 15:14
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: recuperar pass

fue el error que mostre en el post anterior arros .

Saludos
  #8 (permalink)  
Antiguo 23/07/2012, 15:27
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: recuperar pass

prueba la consulta de esta manera
Código PHP:
Ver original
  1. $query_pass = sprintf("SELECT password, email FROM tb_usuarios WHERE email = '%s'",
  2.                                     mysql_real_escape_string($_POST['email'], $link));
pero aun asi tu funccion tiene solo un parametro que es el $link de donde sacas el $_POST['email']..
__________________
cada vez que aprendes algo te crees que no sabes nada
  #9 (permalink)  
Antiguo 23/07/2012, 15:53
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: recuperar pass

Sigue con el mismo problema.

gracias
  #10 (permalink)  
Antiguo 23/07/2012, 23:42
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: recuperar pass

si no pasas en la funcion el parametro $_POST['email'] nunca va a funcionar , ahora si lo dejas como esta fuera de la funcion funciona seguro
  #11 (permalink)  
Antiguo 24/07/2012, 08:12
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: recuperar pass

Hice lo que me comentas pero aun asi sigue sin funcionar.

Código PHP:
Ver original
  1. function Recuperar_Pass($link,$email)

Saludos
  #12 (permalink)  
Antiguo 24/07/2012, 08:59
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: recuperar pass

ok pero aun no has pasado la variable $_POST['email']

$email= $_POST['email'];

hacemos la llamada

Recuperar_Pass($link,$email);

Código PHP:
Ver original
  1. function Recuperar_Pass($link,$email) {
  2.             $query_pass = sprintf("SELECT password, email FROM tb_usuarios WHERE usuario = %s",
  3.                                     GetSQLValueString($email, "text"));
  4.             $pass = mysql_query($query_pass, $link) or die(mysql_error());
  5.             $row_pass = mysql_fetch_assoc($pass);
  6.             $totalRows_pass = mysql_num_rows($pass);
  7.            
  8.             if ($totalRows_pass > 0) {
  9.                 $mail = new PHPMailer();
  10.                 $mail->IsSMTP();  
  11.                 $mail->SMTPAuth = true;
  12.                 $mail->Host = "xxxxxxxx"; // SMTP
  13.                 $mail->Username = "xxxxxxx"; // Correo completo a utilizar
  14.                 $mail->Password = "xxxxx"; // Contraseña
  15.                 $mail->Port = 2025; // Puerto a utilizar
  16.                 $mail->From = "xxxxxx"; // Desde donde enviamos (Para mostrar)
  17.                 $mail->AddAddress("$email"); // Esta es la dirección a donde enviamos
  18.                 $mail->IsHTML(true);
  19.                 $mail->Subject = "Contraseña Sistema  ";
  20.                 $mail->Body    = "Su contrase&ntilde;a  es: <strong>".$row_pass['password']."</strong>";
  21.                 $mail->Send();
  22.                
  23.                 header('Content-type: text/html; charset=UTF-8');
  24.                 echo "<strong>la contrase&ntilde;a ha sido enviada a su cuenta de correos</strong>";
  25.             }else{
  26.                     echo "El Email no fue enviado.";  
  27.             }
  28.         }
  29.  
  30. $email=$_POST['email'];
  31.  
  32. Recuperar_Pass($link,$email);

Etiquetas: formulario, html, mysql, pass, 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 16:30.