Aporte al Foro de PHP Venezuela:
aqui les dejo una forma de recuperar la clave de usuario registrado desde una Tabla llamada XXXXX de una BD
Aqui tenemos el formulario
<form id="recupera" name="recupera" method="post" action="recuperar.php">
<table width="290" height="106" border="0">
<tr>
<td height="30" colspan="2">Olvido su clave?</td>
</tr>
<tr>
<td height="14">Nombres:</td>
<td><input name="nombres" type="text" id="nombres" value="" size="30" /></td>
</tr>
<tr>
<td height="14">E-Mail:</td>
<td height="14"><input name="email" type="text" id="email" maxlength="45" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Enviar" name="Submit" id="Submit" /></td>
</tr>
</table>
</form>
Aqui el archivo que lo llamamos recupercion, este es el quele indica si el correo que se escribio en nuestro formulario se encuentra o no en nuestra tabla, luego si exite nos envia a dicho correo registrado la clave que inicialmente escribimos al registrarnos. de lo contrario nos devuelve al formulario, ya sea para registrarno o volver a escribir nuestro correo para la recuperacion de la clave.
<!--Author: Anna Carolina Diaz Riera-->
<?php
$data_root = $_SERVER[DOCUMENT_ROOT];
$nombreusuario=$_POST['nombres'];
$emailusuario=$_POST['email'];
include ($data_root . "/site/sec/funciones.php");//Llamada de la BD
$res = mysql_query("SELECT * FROM registro WHERE nombres='$nombreusuario' AND email='$emailusuario'");
if (mysql_num_rows($res)==0) {
header("Location:registro2.php");
}
else {
$res=mysql_query("SELECT * FROM registro WHERE nombres='$nombreusuario' AND email='$emailusuario'");
$row=mysql_fetch_assoc($res);
$claveusuario=$row['password'];
foreach ($_POST as $campo=>$str){
$valor_campo = strip_tags("$str");
$valor_campo = trim("$valor_campo");
$$campo = $valor_campo ;
//echo "$campo<br>";
if ($valor_campo == ""){
$mensaje_error .= "El campo <b>$campo</b> es de uso obligatorio<br />";
$error = 1;
}
}
if (!empty($emailusuario)){
## advertir que 2,4 --> para aceptar nuevos dominios (.info, etc)
$control_mail="^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$";
if(!eregi($control_mail,$emailusuario)){
$mensaje_error .= "La <b>sintáxis de tu email</b> no es válida<br />\n";
$error = 1;
}
}
if ($error == 1){
$salida_errores= <<< HTML
Se han producido los siguientes errores:<br /><br />
$mensaje_error
<br />
HTML;
echo $salida_errores;
exit;
}else{
$texto = strip_tags("$comentario");
// enviamos el email de recuperacion
$header = 'From: xxxxx@nombredominio.com' ."\r\n";
$header .= 'Reply-to: noresponder@cross-home.com' ."\r\n";
$header .= "X-Mailer:PHP" .phpversion ()."\r\n";
$header .= "Mime-Version:1.0 \r\n";
$header .= "Content-type: text/html; charset=iso-8859-1\r\n";
$asunto = "Recuperación de la Clave" ;
$contenido = "
Estimado(a) cliente $nombreusuario, su clave es: $claveusuario
Motivo de la recomendación
$texto
**********************************************************************
Porfavor no respondas este mensaje, si no conoces el origen.
La administración de www.nombredominio.com
";
$mail = mail($email,$asunto,$contenido,$header);
if($email){
echo "Gracias. $nombres";
}
else
{
echo "Error al envia. Podría haber problemas con el servidor, intente más tarde por favor";
}
}
}
?>
<script type="text/javascript">
location.href="http://www.nombredominio.com/registro2.php";
</script>