Tengo un problema al que no le encuentro solución ya que creo que el código lo tengo bien. Estoy haciendo una mini-página para probar y bueno, he hecho un form para registrarse y otro para iniciar sessión. La cosa está en que el script que mira si el usuario está en la base de datos para iniciar sessión se queda calado y me tira un error...
Este es el código de inicio de sessión:
Código
<html> <title>Iniciar sessión</title> <head> <link rel="STYLESHEET" type="text/css" href="estil.css"> <script> function validar(){ if ((document.f1.n1.value == "") || (document.f1.p1.value == "")){ alert('Campos vacíos'); ok=false; }else{ ok=true; } return ok; } </script> </head> <body bgcolor="black"> <form name="f1" method="POST" onsubmit="return validar()" action="validar.php"> <div id="d1" name="d1"> <label for="Usuario">Usuario: </label><br> <input type="text" name="n1" value=""><br><br> <label for="cont">Contraseña: </label><br> <input type="password" name="p1" value=""><br> </div> <input type="submit" class="sub" value="iniciar sessión" name="s1"><br> <?php echo "<center style='color:red'>$cont</center>"; ?> </form> <form name="f2" method="GET" action="registrar.php"> <input type="submit" class="sub" value="Regístrate" name="s2"> </form> </body> </html>
Este es el de conectar:
Código
<?php $nom = $_POST['n1']; $con = $_POST['p1']; $cont= ""; $ok=false; do{ if(($nom == $registre['nombre']) && ($con == $registre['pass'])){ //si lo q hemos introducid $ok=true; //esta n la bd salimos dl bucle }else{ } }while(($registre!=false)||($ok!=true)); //Salimos del bucle y miramos si el usuario existe o no. if($ok==true){ }else{ $cont = "Usuario incorrecto"; include 'primerap.php'; } }else{ echo "ERROR AL SELECCIONAR BASE DE DATOS"; } ?><?php $nom = $_POST['n1']; $con = $_POST['p1']; $cont= ""; $ok=false; do{ if(($nom == $registre['nombre']) && ($con == $registre['pass'])){ //si lo q hemos introducid $ok=true; //esta n la bd salimos dl bucle }else{ } }while(($registre!=false)||($ok!=true)); //Salimos del bucle y miramos si el usuario existe o no. if($ok==true){ }else{ $cont = "Usuario incorrecto"; include 'primerap.php'; } }else{ echo "ERROR AL SELECCIONAR BASE DE DATOS"; } ?>
Ni idea de que pasa -.-. El error que me da es este:
Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\validar.php on line 16
La linea 16 es donde ok=true, dentro del if. Pero también hay veces que se queda calado nada más empezar el if.
¿Alguien sabe que pasa?
Un saludo y gracias por adelantado!