hola estoy tratando de adaptar este post de Jaronu que muy gentilmente publico este codigo en php que estoy tratando de incorporar a mi sistema de usuario como recuperar la contraseña para mis usuarios olvidadisos
este es el post:
http://www.forosdelweb.com/f18/aporte-sistema-para-recuperar-contrasena-usuario-olvidadizo-569102/
para recuperar_clave lo cual estoy tratando de echar andar completando los html me podrian echar una mano yo se que no es tan dificil pero no me sale es decir una vez que doy click en el boton IR del index1.php no muestra el sgte form
Código:
tabla: usuario
campos:id,email,usuario,password,activate,estado
index1.php
Código PHP:
<head>cual es su mail</head>
<p></p>
<body>
<form name="form_a" method="post" action="recuperar.php" />
<!--<table border="0" align="center">-->
<p></p>
<input type="text" name="email" id="email" size="60"/>
<p></p>
<input type="submit" name="ir" value="Ir">
<!--</table>-->
</form>
</body>
index2.php
Código PHP:
<head>recuperar clave</head>
<body >
<form name="form_a" action="recuperar_2.php" />
<p></p>password anterior
<input type="text" name="password" id="password" />
<br>nuevo password
<input type="text" name="password2" id="password2" />
<br>
<p></p>
<input type="submit" name="btn" id="btn" value="Enviarte"/>
</form>
</body>
recuperar.php
Código PHP:
<?php
//conectamos a la BD
$conexion = mysql_connect('localhost','rreeuser','2011')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('rree')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function quitar($mensaje) //funcion para quitar caracteres no permitidos
{
$nopermitidos = array("'",'\\','<','>',"\"",";","$","%","&","/","|","{","}","[","]","+","#");
$mensaje = str_replace($nopermitidos, "", $mensaje);
return $mensaje;
}
function mysql_escape($cadena) { //funcion pasada por okram para limpiar campos escritos por usuarios
if(get_magic_quotes_gpc() != 0) { //y aplicar mysql_real_escape_string a las variables y stripslashes si la magic cuotes estan activadas
$cadena = stripslashes($cadena);
}
return mysql_real_escape_string($cadena);
}
$email = quitar(isset($_POST ['email']));
$_SESSION['email'] = $email; //guardamos email de la tabla, en una variable de session para recuperarlo en el siguiente form
if(isset($_POST['email']) ) { //comprovamos que el campo email trae algun valor
$query = "SELECT * FROM usuario WHERE email='$email'"; //seleccionamos la informacion de la BD correspondiente al email del user
$result = mysql_query($query , $conexion) or die ( mysql_error() );
while ($row = mysql_fetch_array($result)){
if (isset($row['password'])){ //compruebo que exista el password del email enviado
$_SESSION['username'] = $row['usuario'];//guardamos el usuario en una variable de sesion
//para no tener problemas con header uso el siguiente script de java para redirigir
?>
<SCRIPT LANGUAGE="javascript">
header ("location: index2.php");
</SCRIPT>
<?php
}else{
echo "El email no esta registrado en nuestra base de datos.";
}}}
?>
recuperar_2.php
Código PHP:
<?php
session_start(); //abrimos la sesion para poder despues pasar variables de una pagina a otra
//datos para establecer la conexion con la base de mysql.
$conexion=mysql_connect('localhost','rreeuser','2011')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('rree')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function quitar($mensaje) //funcion para quitar caracteres no permitidos
{
$nopermitidos = array("'",'\\','<','>',"\"",";","$","%","&","/","|","{","}","[","]","+","#");
$mensaje = str_replace($nopermitidos, "", $mensaje);
return $mensaje;
}
function mysql_escape($cadena) {
if(get_magic_quotes_gpc() != 0) {
$cadena = stripslashes($cadena);
}
return mysql_real_escape_string($cadena);
}
if (isset($_POST["password"])) {
$password = quitar($_POST["password"]); //variable que viene del campo del form pasword
$password2 = quitar($_POST["password2"]);//variable que viene del campo del form pasword2
$password = mysql_escape($password); //aplico la funcion mysql_escape
$password2 = mysql_escape($password2);
$password = md5($password); // codificamos los password con md5
$password2 = md5($password2);
$email = $_SESSION['email']; // recogemos la variable email y username que guardamos en la sesion en el script anterior
$username = $_SESSION['username'];
// Hay campos en blanco
if($password==NULL|$password2==NULL) {
echo "un campo está vacio.";
}else{
// si coiciden los codigos de seguridad
# if (quitar($_SESSION['tmptxt_seg']) !== quitar($_POST['tmptxt_seg'])) {
# echo "Introdujo mal el codigo de seguridad.";
# } else {
// ¿Coinciden las contraseñas?
if($password!=$password2) {
echo "Las contraseñas no coinciden";
formRegistro();
}else{
$query = "UPDATE usuario
SET password = '$password' WHERE usuario = '$usuario' OR email ='$email' " ;
mysql_query($query) or die(mysql_error());
//obtengo los datos del usuario para mandar el email
$result = "SELECT * FROM usuario WHERE password = '$password'";
$result = mysql_query($result) or die ( mysql_error() );
$row = mysql_fetch_array($result);
echo "La activacion de su nuevo password tuvo exito.";
// Datos del email
$nombre_origen = "Lo que sea";
$email_origen = "[email protected]";
$email_copia = "[email protected]";
$email_ocultos = "[email protected]";
$email_destino = "".$row['email']."";
//$email_destino = "[email protected]"; //cambiar esta linea por la de encima cuando se termine la aplicacion para pruebas pon tu email
$asunto = "Activacion de nueca contraseña, guarde este email.";
$mensaje = '<table width="629" border="0" cellspacing="1" cellpadding="2">
<tr>
<td width="623" align="left"></td>
</tr>
<tr>
<td bgcolor="#2EA354"><div style="color:#FFFFFF; font-size:14; font-family: Arial, Helvetica, sans-serif; text-transform: capitalize; font-weight: bold;"><strong> Estos son sus datos '.$row['usuario'].'</strong></div></td>
</tr>
<tr>
<td height="95" align="left" valign="top"><div style=" color:#000000; font-family:Arial, Helvetica, sans-serif; font-size:12px; margin-bottom:3px;"> USUARIO: '.$row['usuario'].'</strong><br><br><br>
<strong>SU EMAIL : </strong>'.$row['email'].'</strong><br><br><br>
<strong>REACTIVO SU NUEVA CONTRASEÑA SIN NINGUN INCIDENTE.</strong><br><br>
<strong>GRACIAS POR CONFIAR EN CEVIT.</strong><br>
<strong>PRONTO ACTUALIZAREMOS CONTENIDOS, ESTATE ATENTA/O.</strong><br>
</div>
</td>
</tr>
</table>';
$formato = "html";
//*****************************************************************//
$headers = "From: $nombre_origen <$email_origen> \r\n";
$headers .= "Return-Path: <$email_origen> \r\n";
$headers .= "Reply-To: $email_origen \r\n";
$headers .= "X-Sender: $email_origen \r\n";
$headers .= "X-Priority: 3 \r\n";
$headers .= "MIME-Version: 1.0 \r\n";
$headers .= "Content-Transfer-Encoding: 7bit \r\n";
//*****************************************************************//
if($formato == "html")
{ $headers .= "Content-Type: text/html; charset=iso-8859-1 \r\n"; }
else
{ $headers .= "Content-Type: text/plain; charset=iso-8859-1 \r\n"; }
if (@mail($email_destino, $asunto, $mensaje, $headers))
{ }
}
}
}
?>