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");
}
?>