Código PHP:
Ver original<?php
include "conexion.php";
$caracteres = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; //posibles caracteres a usar
$numerodeletras=10; //numero de letras para generar el texto
$cadena = ""; //variable para almacenar la cadena generada
for($i=0;$i<$numerodeletras;$i++)
{
$cadena .= substr($caracteres,rand(0,strlen($caracteres)),1); /*Extraemos 1 caracter de los caracteres entre el rango 0 a Numero de letras que tiene la cadena */
}
if (isset($_POST["usuario"])) {
$sql = "SELECT id, usuario, nombre FROM bt_acandidatos WHERE usuario='".$usuario."' and nombre='".$nombre."'";
$_SESSION["id"]= $dato['id'];
$usuario = $_SESSION['id'];
$sql2 = "SELECT cve_btac, FechaNac, email FROM bt_datos_generales WHERE cve_btac='".$usuario."' and FechaNac='".$cumple."'";
//session_set_cookie_params(0, "/", $HTTP_SERVER_VARS["HTTP_HOST"], 0);
//cambiamos la duración a la cookie de la sesión
// inicio la sesión
$_SESSION["autentificado"]= "SI";
$_SESSION["cve_btac"]= $dato2['cve_btac'];
$_SESSION["email"]= $dato2['email'];
$email = $_SESSION['email'];
/*AQUI VERIFICA SI ESTA VACIO, NO SE DESDE DONDE LO QUIERES VALIDAR, LO COLOQUE AQUI A MANERA DE EJEMPLO
SUPONGO QUE NO QUIERES MODIFICAR "bt_acandidatos" SI ESTÁ VACIA LA VARIABLE $mail
OTRA COSA: POR QUE CREAR SESSION PARA ESTE SCRIPT? SI SOLO ESTAS REESTABLECIENDO LA CONTRASEÑA DE USUARIO??
*/
if($email !== NULL || $email !== ''){
mysql_query("UPDATE bt_acandidatos SET cambio='1' WHERE id='$usuario'"); $para="$email";
$titulo = 'Reestablecimiento de Password';
$mensaje.= "Hola: " . $_REQUEST['nombre'] ." con usuario " . $_REQUEST['usuario'] ." \n";
$mensaje.= "Para recuperar su contraseña por favor visita el siguiente enlace \n";
$mensaje.= " http://www.midominio.com.mx/recupera/pass.php?usuario=".$usuario."".$cadena."\n";
$mensaje.= "Restablecimiento de password \n";
$cabeceras = 'From: [email protected]' . "\r\n" . //La direccion de correo desde donde supuestamente se envió 'Reply-To: [email protected]' . "\r\n" . //La direccion de correo a donde se responderá (cuando el recepto haga click en RESPONDER)
'X-Mailer: PHP/' . phpversion(); //información sobre el sistema de envio de correos, en este caso la version de PHP mail($para, $titulo, $mensaje, $cabeceras); echo '<div class="exito mensajes">Se le ha enviado un email con las instrucciones para reestablecer su contraseña</div>';
}// FIN DE LA COMPROBACIÓN DE LA VARIABLE "$mail"
} else {
//si no existe le mando otra vez a la portada
echo '<div class="alerta">Verifica que tus datos sean correctos</div>';
}
} else {
//si no existe le mando otra vez a la portada
echo '<div class="error">El usuario no coincide</div>';
}
}
?>
Te recomiendo que uses identación de tu c&odigo para que sea más legible..
Saludos y espero te sirva.