IF en cascada no funciona...
Hola muy buenas.
Estoy desarrollando una simple pagina de recuperación de contraseñas, en el cual el usuario debe introducir su correo electrónico y php verifica si existe o no, lo cual si existe le lleva al siguiente apartado que es que le muestre la pregunta que el usuario hizo a la hora de registrarse y con su debida respuesta. Hasta aquí todo funciona bien, el problema llega cuando introduce la respuesta y valida el formulario, aquí la pagina se me reinicia y no continua. Mi código es simple y de principiante, podrías ayudarme a resolver este enigma por favor.:
El código mio es:
<!DOCTYPE HTML> <html> <head> <title>Recuperación de Contraseña para Socios</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="blockbg"> <h2 align="center">Recuperar Contraseña</h2> <hr /> <div id="getmail" style="display: block;"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <form method="POST"> <tr><td width="30%"><h3>Introduce tu Correo Electronico</h3></td><td><input type="text" size="30" maxlength="40" name="email" /></td></tr> <tr><td colspan="2"><input type="submit" value="Validar" name="submit_mail" /></td></tr> </form></table></div> <? Require('config.php'); if(isset($_POST['submit_mail'])){ $count=0; $check = mysql_query("SELECT * FROM usuarios_socios WHERE email = '{$_POST['email']}'"); while($row = mysql_fetch_object($check)){ $count++; $result = $row; } if($count==1){ $pregunta = $result->pregunta; $respuesta = $result->respuesta; $usuario = $result->usuario; $id = $result->id; echo "<script type\"text/javascript\">document.getElementById('getmail').style.display='none';</script>"; echo "<div id=\"getansw\" style=\"display: none;\"> <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"> <form method=\"POST\"> <tr><td colspan=\"2\"><h2>$pregunta</h2></td></tr> <tr><td width=\"30%\"><h3>Respuesta:</h3></td><td><input type=\"text\" size=\"30\" maxlength=\"30\" name=\"answ\" /></td></tr> <tr><td colspan=\"2\"><input type=\"submit\" value=\"Validar\" name=\"submit_answ\" /></td></tr> </form></table></div>"; echo "<script type=\"text/javascript\">document.getElementById('getansw').style.display='block';</script>"; if(isset($_POST['submit_answ'])){ if($respuesta==$_POST['answ']){ echo "<script type=\"text/javascript\">document.getElementById('getansw').style.display='none';</script>"; echo "<div id=\"getpass\" style=\"display: none;\"> <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"> <form method=\"POST\"> <tr><td width=\"30%\"><h3>Nueva Contraseña</h3></td><td><input type=\"password\" size=\"30\" maxlength=\"20\" name=\"pass\" /></td></tr> <tr><td colspan=\"2\"><input type=\"submit\" value=\"Guardar\" name=\"submit_pass\" /></td></tr> </form></table></div>"; echo "<script type=\"text/javascript\">document.getElementById('getpass').style.display='block';</script>"; if(isset($_POST['submit_pass'])){ mysql_query("UPDATE usuarios_socios SET password = '{$_POST['pass']} WHERE id = '$id'"); echo "<script type=\"text/javascript\">alert('Tu nueva contraseña se ha guardado correctamente ".ucwords($usuario)."'); window.close();</script>"; } }else{ echo "<script type=\"text/javascript\">alert('La respuesta es incorrecta'); return false;</script>"; } } }else{ echo "<script type=\"text/javascript\">alert('El Correo Electronico introducido no existe');</script>"; } } ?> </div> </body> </html>
a partir del if(isset($_POST['submit_answ'])) no funciona, la cosa es que quiero que todo se haga en la misma pagina, osea, que en el form no redireccione a otra pagina.
Un saludo, espero tu respuesta.