index.php aqui recoge el email de acceso para recuperar contraseña
Código PHP:
Ver original
<?php require_once('../Connections/conexion.php'); ?> <div class="sidebar1"></div> <div class="content"> <form id="frmRestablecer" action="validaremail.php" method="post"> <div class="panel-heading"> Restaurar contraseña </div> <div class="panel-body"> <p></p> <div class="form-group"> <label for="email"> Escribe el email asociado a tu cuenta para recuperar tu contraseña </label> <input type="email" id="email" class="alta1" name="email" required> <input type="hidden" id="asunto" name="asunto" value="Recuperar password"> </div> <div class="form-group"> <input type="submit" class="boton" value="Recuperar datos" > </div> </form> <div id="mensaje"> </div> </div> <!-- /container --></div> <script src="js/jquery-1.11.1.min.js"></script> <script src="js/bootstrap.min.js"></script> <script> $(document).ready(function(){ $("frmRestablecer").submit(function(event){ event.preventDefault(); $.ajax({ url:'validaremail.php', type:'post', dataType:'json', data:$("frmRestablecer").serializeArray() }).done(function(respuesta){ $("mensaje").html(respuesta.mensaje); $("email").val(''); }); }); }); </script> </body>
validaremail.php recoge datos y los manda por email con phpmailer
Código PHP:
crea un link en gmail, que al clicar lo lleva a esta pagina restablecer.phpVer original
<?php include_once('../phpmailer/class.phpmailer.php'); include_once('../phpmailer/class.smtp.php'); $idusuario="idusuario"; $token="token"; function generarLinkTemporal($idusuario, $username){ // Se genera una cadena para validar el cambio de contraseña $conexion = new mysqli('localhost', 'root', 'xxx', 'carritocompras'); // Se inserta el registro en la tabla pass $sql = "INSERT INTO pass (idusuario, username, token, creado) VALUES($idusuario,'$username','$token',NOW());"; $resultado = $conexion->query($sql); if($resultado){ $enlace = $_SERVER["SERVER_NAME"]. '/pass/http://localhost/tienda cachemira/nueva carpeta/restablecer.php?idusuario='.md5($idusuario).'&token='.$token; return $enlace; } else return FALSE; } $para = $_POST['email']; $asunto = $_POST['asunto']; //$Usuario = $_POST['Usuario']; //$mensaje = $_POST['mensaje']; $mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPAuth = true; $mail->SMTPSecure = "ssl"; $mail->Host = "smtp.gmail.com"; $mail->Port = 465; $mail->Password = 'xxxx'; $mail->AddAddress($para); $mail->Subject = $asunto; $mail->Body = '?><html> <head> <title>Restablece tu contraseña</title> </head> <body> <p>Hemos recibido una petición para restablecer la contraseña de tu cuenta.</p> <p>Si hiciste esta petición, haz clic en el siguiente enlace, si no hiciste esta petición puedes ignorar este correo.</p> <p> <strong>Enlace para restablecer tu contraseña</strong><br> <a href=http://localhost/tienda%20cachemira/nueva%20carpeta/restablecer.php>Restablecer contraseña</a> </p> </body> </html>'; $enlace ='/pass/http://localhost/tienda%20cachemira/nueva%20carpeta/restablecer.php?idusuario='.md5($idusuario).'&token='.$token ; $mail->IsHTML(true); if($mail->Send()) { echo'<script type="text/javascript"> alert("Enviado Correctamente"); window.location="index.php" </script>'; } else{ echo'<script type="text/javascript"> alert("NO ENVIADO, intentar de nuevo"); window.location="index.php" </script>'; }?>
Código PHP:
gracias Ver original
<?php include_once('../phpmailer/class.phpmailer.php'); include_once('../phpmailer/class.smtp.php'); $token = $_GET['token']; $idusuario = $_GET['idusuario']; $conexion = new mysqli('localhost', 'root', 'sarat0ga76', 'carritocompras'); $sql = "SELECT * FROM pass WHERE token = '$token'"; $resultado = $conexion->query($sql); if( $resultado->num_rows > 0 ){ $usuario = $resultado->fetch_assoc(); ?> <div class="container" role="main"> <div class="col-md-4"></div> <div class="col-md-4"> <form action="cambiarpassword.php" method="post"> <div class="panel panel-default"> <div class="panel-heading"> Restaurar contraseña </div> <div class="panel-body"> <p></p> <div class="form-group"> <label for="password"> Nueva contraseña </label> <input type="password" class="form-control" name="password1" required> </div> <div class="form-group"> <label for="password2"> Confirmar contraseña </label> <input type="password" class="form-control" name="password2" required> </div> <input type="hidden" name="token" value="<?php echo $token ?>"> <input type="hidden" name="idusuario" value="<?php echo $idusuario ?>"> <div class="form-group"> <input type="submit" class="btn btn-primary" value="Recuperar contraseña" > </div> </div> </div> </form> </div> <div class="col-md-4"></div> </div> <!-- /container --> <script src="js/jquery-1.11.1.js"></script> <script src="js/bootstrap.min.js"></script> </body> </html> <?php }}?>