Buenas , yo ya tengo mi sistema para recuperar contraseñas
asi q lo comparto :
y sobre lo de que quieres que al pincharle en el enlace del correo se te habra tu página cambiandole automáticamente a otra sobre lo que quieras que al pincharle al inlace ahorita q lo pienso lo veo simple , solamente cuando pongas el email , en tu código php sacas el nick o tu nombre del usuario que este registrado con dicho correo y mandas el enlace de tu página para que aparesca en tu correo pero le agregas el nick
osea q si pusiste un correo que SI existe entonces sacaras los datos de dicha persona
$email = $_POST['email'];
$sq = "SELECT * FROM usuarios WHERE email = '$email' ";
require("connectar.php"); <--- aqui llamas al archivo para que conecte con tu BD
$consu = mysql_query($sq);
while($row = mysql_fetch_assoc($consu))
{
$nick = $row['nick'];
}
entonces cuando manes el link
por ejemplo si tu página es :
www.holaa.com
le envias el nick que sacaste respecto al correo
y envias la página y claro el archivo donde cambiara la contraseña automáticamente
supongamos que en el archivo para cambiar tu contra se llame cambiarcontra.php
entonces mandas el link con el nick en la url, osea asi
www.holaa.com/cambiarcontra.php?nick=<?php echo $Nick ?>
y entonces cuando vayas a tu correo y habras el link
se te habrira tu página
ahora en el archivo cambiarcontra.php chapas por GET el nick
y verificas que existe en la BD
y si existe , pasas a una parte donde automáticamente se te genere una contraseña nueva
(eso puedes buscarlo por internet , algún código que te genere una contraseña neva )
y luego haces un UPDATE según al nick que hayas recibido por GET
$nick = $_GET['nick'];
y actualizas la contraseña de ese nick
$sql = "UPDATE usuarios SET contra = 'aqui iria la nueva contra' WHERE nick = '$nick' ";
y listo lo muestras en un mensaje ahi mismo
que diga por ejemplo :
´´Su contraseña ah sido actualizada a esta : 000000
ya puede loguearse en la página y poder modificar su contraseña´´
aqui te paso mi código : y como deberias hacer :
Código PHP:
Ver original<?php
function verificar() {
$email = $_POST['email'];
if ($reqlen > 0) {
$ssql = ("SELECT * FROM usuarios WHERE Email ='$email'");
require("conectar.php");
$emailusuario=$_POST['email'];
$sql = ("SELECT Nick FROM usuarios WHERE Email='$email'");
$nombreusuario=$row['Nick'];
// enviamos el email de recuperacion
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
mail($emailusuario, "Recuperación", "www.holaa.com/cambiarcontra.php?nick=$nombreusuario", $headers);
header("Refresh: 4; URL=http://www.holaa.com"); ?>
<script type="text/javascript">
jAlert("Se te envio un correo con tus datos").validate();
</script>
<?php
}
else
{
?>
<script type="text/javascript">
jAlert("Datos incorrectos , este mail no esta registrado").validate();
</script>
<?php
}
}
else
{
?>
<script type="text/javascript">
jAlert("Por favor llena el campo o no podremos ayudarte").validate();
</script>
<?php
}
}
?>
<div class="inicio">
<center><form action="" method="post" class="login">
<div><label>Email </label><input name="email" type="text"></div> </center>
<center><input name="sesionxd" type="submit" value="Enviar" id="enviar" class="button"></center>
<p></p>
<center><a href="index.html">Volver</a></center>
</div>
<?php
if(isset($_POST['sesionxd'])) {
verificar();
}
?>