Fecha y hora actual: Miércoles 26 Sep 2018 04:30
Índice del Foro

Foros de programación informática, diseño gráfico y Web

En esta comunidad intentaremos dar soporte de programación a todos los niveles, desde principiantes a profesionales de la informática, desarrollo de programas, programación web y mucho más.

como obtener una contraseña que ha sido olvidada

Responder al Tema

Índice del Foro > PHP > como obtener una contraseña que ha sido olvidada

Autor Mensaje
zendit
Usuario Iniciado


Registrado: 12 Nov 2014
Mensajes: 24

Mensaje Publicado: Martes 23 Feb 2016 15:15

Título del mensaje: como obtener una contraseña que ha sido olvidada

Responder citando

Tengo un formulario con un input type text y un boton para obtener la contraseña olvidada de unos usuarios que se encuentran en una base de datos.
Y solamente esta funcionando para un usuario.
¿Existe algun metodo en la clase PHPMailer que facilite este procedimiento? ¿Podria alguien ayudarme en esto?

Este es el codigo del formulario:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>CONSULTA DE CITAS</title>

</head>
<body>
<form action="generarcontrasena.php" method='POST'>
      <label>Email:</label>
      <input type="email" name="email" /><br />
      <input type="submit" value="Recuperar Contraseña" /><br  /><br />
  <?php
  error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
   if(isset($_POST["respuesta"])){
      echo "<span>".$_POST["respuesta"] ."</span>";
   
   }
 
  ?>
</form>
</body>
</html>


y Este es el codigo que procesa el aleatorio y crea la contraseña olvidada:

Código:
<?php
$conexion = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=movilnet");
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
require("PHPMailer-master/class.phpmailer.php");
require("PHPMailer-master/class.smtp.php");
$email = $_POST['email'];
$e_mail="SELECT email FROM usuarios WHERE email = '$email'";
$res = pg_query($conexion,$e_mail);
if(pg_num_rows($res)>0)
 {
     $cadena = '0123456789';
      $passw ='';
    $lng_cadena = strlen($cadena);
    $longitud = 6;
       for($x=1;$x<=$longitud;$x++)
      {
            $aleatorio = mt_rand(0,$lng_cadena-1);
            $passw .= substr($cadena,$aleatorio,1);
            $contrasena = "UPDATE usuarios SET usuario_pass = '$passw' WHERE email = '$email'";
            $actualiza = @pg_query($conexion,$contrasena);
            ///////
            $smtp=new PHPMailer();
            $smtp->IsSMTP();
            # Definimos el formato del correo con UTF-8
            $smtp->CharSet="UTF-8";
            $smtp->SMTPDebug = 1;
            # autenticación contra nuestro servidor smtp
            $smtp->SMTPAuth = true; // enable SMTP authentication
            $smtp->SMTPSecure = "tls";
            $smtp->Host = "smtp.gmail.com"; // sets MAIL as the SMTP server
            $smtp->Username = $email; // MAIL username
            $smtp->Password = "1234"; // MAIL password
            $smtp->Port = 587;
                $smtp->SetFrom('cuelloa70@gmail.com', 'First Last');
               $smtp->From = "cuelloa70@gmail.com";             
            # datos de quien realiza el envio
            //$smtp->FromName = "Alejandro"; // from mail name
            # Indicamos la dirección donde enviar el mensaje
            $smtp->AddAddress($email);
                $smtp->Subject = "Nueva CONTRASEÑA";
            //$smtp->Subject = $passw;
             $smtp->Body = $passw;
            $smtp->WordWrap = 50;
            $smtp->Timeout=50;
            $smtp->IsHTML(true);
                $smtp->MsgHTML($passw);
            
     }         
               if (!$smtp->Send())
                 {
                  $respuesta ="El mensaje no se pudo enviar";
               echo $respuesta .="Error: " .$smtp->ErrorInfo;
                 }
               else
                 {
                  $respuesta ="El mensaje ha sido enviado";
                 }
/////////////
}
else
{
       echo' <script language="javascript">alert("Atencion, su correo no existe");</script> ';
     echo "<script>location.href='passw.php'</script>";

}


?>



[/code]

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Capilla
Colaborador


Registrado: 07 Mar 2007
Mensajes: 619
Ubicación: Valencia - España

Mensaje Publicado: Miércoles 23 Mar 2016 09:18

Título del mensaje: como obtener una contraseña que ha sido olvidada

Responder citando

¿Manda el correo electrónico?
Según leo, todos los usuarios tienen un correo electrónico "gmail" y la contraseña del correo electrónico es "1234"
Si el problema es que no llegan los correos electrónicos, proablemente es porque los datos SMTP de envio no son correctos, prueba a dejar el "Username" fijo.

Código:
  1. $smtp->Username = "correo@fijo.es";
  2. $smtp->Password = "ContraseñaDeEsteCorreo";


Es importante adquirir el conocimiento de diferentes lugares, si lo haces desde uno solo, se vuelve rígido y tedioso, si entiendes al resto, te ayudarán a ser más completo.
Volver arriba
Ver perfil del usuario Enviar mensaje privado Yahoo Messenger MSN Messenger
zendit
Usuario Iniciado


Registrado: 12 Nov 2014
Mensajes: 24

Mensaje Publicado: Martes 09 Ago 2016 02:53

Título del mensaje: como obtener una contraseña que ha sido olvidada

Responder citando

Disculpa la tardanza con la respuesta pero hace tiempo que resolví el problemilla. La verdad es que habia olvidado la contraseña para entrar al foro. Gracias.

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Responder al Tema
Mostrar mensajes anteriores:   
Ir a:  
Todas las horas están en GMT + 2 Horas

Temas relacionados

Tema Autor Foros Respuestas Publicado
El foro no contiene ningún mensaje nuevo

COmo puedo entrar a los Menus de una Verifone V...

manuelomeli Temas generales 0 Miércoles 23 May 2018 19:58 Ver último mensaje
El foro no contiene ningún mensaje nuevo

AYUDA: COMO RECONECTO VB6 A MYSQL SIN PERDER LA...

rjaguin Visual Basic y VBA 1 Miércoles 09 May 2018 22:27 Ver último mensaje
El foro no contiene ningún mensaje nuevo

[C] Como se libera la memoria en estructura din...

DanielC C, C#, Visual C++ 1 Miércoles 11 Ene 2017 22:32 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Como saber que una base de datos fue modificada...

yoannepd SQL Server 1 Martes 10 Ene 2017 22:08 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Como saber que una base de datos fue modificada...

yoannepd ASP, ASP.NET 0 Martes 10 Ene 2017 22:04 Ver último mensaje
Panel de Control
No puede crear mensajes, No puede responder temas, No puede editar sus mensajes, No puede borrar sus mensajes, No puede votar en encuestas,