Hola. El caso es ese, tengo un formulario para loguearse. Tecleo nombre de usuario y contraseña correctamente y le doy al submit. Y me devuelve un error como si uno de los campos estuviera vacío. Sin embargo, si vuelvo a teclear el login y pass funciona. La verdad que está hecho todo muy simple y no logro comprenderlo. Ahí os dejo del código... a ver si me podéis ayudar:
Código PHP:
<?php
require("inc_db.php");
$username = $_POST['username'];
$userpass = $_POST['userpass'];
$result = "SELECT username,userpass FROM control_usuarios WHERE username='$username' and userpass='$userpass'";
$datos = mysql_query($result);
$fdatos = mysql_fetch_array($datos);
if ($username == "" || $userpass == "") //según fui probando, el error lo devuelve este if... pero sólo lo devuelve una vez -.-"
{
header("Location: login.php?error=datos_incorrectos");
}
elseif (($fdatos['username'] == $username) && ($fdatos['userpass'] == $userpass))
{
session_start();
$_SESSION['usuario'] = $username;
header("Location: index.php");
}
else //aquí, probé a borrar este else pero sigue fallando, lo cual indica que el fallo se produce en el if de arriba
{
header("Location: login.php?error=datos_incorrectos");
}
?>
Espero esas respuestas. Gracias! ^^