Te paso el que yo uso
Esta compuesta por dos funciones, una casi el 99% HTML menos una parte donde te muestra el error
Código PHP:
function pass_tabla($b="")
{
?>
</body>
<center>
<form method=post action=recuperar_pass.php>
<table border="2" bordercolor=yellow bgcolor=orange width=65% height=25%>
<td><table>
<tr><td>La nueva contraseña sera mandada por e-mail a la casilla de correo.<br><br>El nombre de usuario debe de coincidir con el e-mail para que funcione.<br><br>De caso contrario se hara imposible recibir la nueva contraseña.<br><br><hr> </td>
<tr><td>Escribi el nombre de tu user</td>
<tr><td><input tipe=text name=user></td>
<tr><td>Escribi tu e-mail</td>
<tr><td><input tipe=text name=email></td>
<tr><td><?$b?></td>
<tr><td><input type=submit value=recuperar </tr></td></td>
</table>
</table>
</center>
</html>
<?
}
Y la PHP donde se cambia el pass
Código PHP:
function enviar_pass($user,$email)
{
if ($user && $email)
{
$pass=array("pass1","pass2","pass3")
//en pass ponemos las palabra que queremos que sorteen
shuffle($pass) ;
$numero=rand(100,1000) ;
//adema le decimos que sortee un numero entre 100 y 100 para que el pass se mas seguro
$nuevo_pass=$pass.$numero;
$db=db_connect();
$result = mysql_query("update user
set pass = '$nuevo_pass'
where user = '$user'");
$result = mysql_query ("select * from user where user='$user' and email='$email'");
if (mysql_num_rows($result) ==1 )
{
$from = "[email protected] \r\n";
$mesg = "Tu contraseña de Tenisok ha sido cambiado a $nuevo_pass \r\n"
."Por favor utilízalo la próxima ver que hagas log in. \r\n";
if (mail($email, "Nueva contraseña", $mesg, $from))
return true;
else
return false;
echo "La nueva contraseña fue mandada a tu correo electronico";
}
elseif(mysql_num_rows($result) ==0)
{
echo "Los datos ingresados no concuerdan o no son validos";
}
}
}
Es la mas facil que conosco chau, espero que les sirva