En primer lugar os cuento la mecánica de la página que me da error.
Es un formulario de login (http://misitio.es/login) el cual se envía a sí mismo la información y la procesa.
En caso de ser un login correcto redirige la página a la zona restringida (http://misitio.es/admin).
En caso de ser incorrecto se queda en la página del login y muestra el formulario de nuevo con un aviso:
Código HTML:
<div style="color:#FF0000;">Usuario o contraseña no válidos</div>
Una vez incluida, ejecuto una función que me evalua si se ha ejecutado el formulario, y en ese caso evalua si es correcto o no. Aquí os pongo la función:
Código PHP:
function crear_sesion()
{
if(isset($_POST["user"]) && isset($_POST["pass"]))
{
if($_POST["user"]=="unusuario" && $_POST["pass"]=="unacontraseña")
{
$_SESSION['Administracion']="admin";
sesion_admin();
}else{
$msg='<div style="color:#FF0000;">Usuario o contraseña no válidos</div>\n';
}
}
}
NOTA: Las sesiones session_start(); ya han sido iniciadas previamente.
Por otra parte la variable $msg contiene un mensaje en caso de que los datos introducidos sean erróneos, aquí podeis ver donde lo muestro:
Código HTML:
<div class="titulo">Acceso al área restringida</div> <?php echo($msg); ?> <form action="../login" method="post" name="f_login"> <fieldset id="login"> <legend>Introduzca sus datos de acceso</legend> <table border="0"> <tr><td>Usuario: </td><td><input type="text" name="user" value=""></td></tr> <tr><td>Contraseña: </td><td><input type="password" name="pass" value=""></td></tr> <tr><td></td><td><input type="button" value="Entrar" onClick="javascript:comprobar_f('f_login')"></td></tr></table> </fieldset> </form>
El problema es que no consigo que me reconozca el envío del formulario, es como si no viniera de la propia página o no enviara el formulario. Para eliminar más dudas pongo aquí la función de js que me comprueba y envía el formulario (comprobar_f('f_login'))
Código HTML:
if(document.f_login.user.value=="") { alert("Introduzca el nombre de usuario"); document.f_login.user.focus(); }else{ if(document.f_login.pass.value=="") { alert("Debe introducir la contraseña"); document.f_login.pass.focus(); }else{ document.f_login.submit(); } }
Se agradecen todo tipo de sugerencias!
Un saludo y gracias a todos por adelantado!