No especificas tus conocimientos de PHP, te lo escribo teóricamente:
- Cuando se registra el usuario guardas (como minimo) usuario, contraseña y email
- En la sección de login añades la opción de recuperar la contraseña
- Pides usuario y email (o solo una de las dos cosas)
- Creas un CODIGO aleatorio/cifrado en la base de datos para ese usuario
- Se envia un email a esta direccion con un link dentro de tipo:
Código:
www.tupagina.com/recuperar.php?usuario=USUARIO&email=EMAIL&codigo=ELCODIGO
Recuperar.php
Código PHP:
<?php
$usuario = $_GET['usuario'];
$email = $_GET['email'];
$codigo = $_GET['codigo'];
//Conectas a la base de datos
mysql_connect...
mysql_db_select...
//Compruebas el codigo del usuario
$sql = mysql_query("SELECT codigo from usuarios where usuario='".$usuario."'");
$codigodb = mysql_result($sql, 0);
if ($codigodb == $codigo)
{
//Le pones una nueva contraseña
}
else
{
//El codigo no coincide -- Acceso denegado
}
?>
- El usuario tiene la opción de elegir una nueva contraseña o bien se le adjunta la contraseña que tú hayas elegido provisionalmente, hasta que el usuario quiera cambiarla