26/10/2011, 09:03
|
(Desactivado) | | Fecha de Ingreso: octubre-2011
Mensajes: 164
Antigüedad: 12 años, 6 meses Puntos: 1 | |
apoyo con codigo de un Post recuperar clave tengo el sgte codigo de un POST acerca de sistema de recuperacion de clave , y no funciona o esque estoy haciendo algo mal
cuando ingreso el email pulso en boton ir y me muestra pantalla en blaco y en la parte de la url muestra esto:
http://localhost/recuperar_clave/ [email protected] om&ir=Ir
ayuda porf. Cita: tabla: usuario
campos:id,email,usuario,password,activate,estado index1.php Código HTML: <head>cual es su mail</head>
<p></p>
<body>
<form name="form_a" 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 HTML: <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)) { } } } } ?> |