He estado mirando tu código de manera más detenida, la verdad me deja confuso y das demasiadas vueltas para ver una cosa, y no me refiero a los IF.
Primero le metes un archivo llamado logueo.php que se supone ya debería loguear al usuario, y despues tienes un login.php que de nuevo verificas si el usuario es válido y demás, estás haciendo la misma cosa en ambos... no se cómo te funcionaba el código anteriormente ni quién desarrolló esto...
Si deseas loguear, solo le pides USER y PASS (obvio)
Compruebas si los campos están completos -- Ya lo hiciste
Compruebas que exista el usuario --- ya lo hiciste pero de manera poco práctica
Compruebas que si existe el usuario coincida con la pass que ingresó--- es dificil que lo haga si no encuentra resultados... no te voy a dar la solución exacta pero te lo pongo de esta manera...
Código PHP:
<?php
$link=mysql_connect("localhost","qpv195","Nagusia07");
mysql_select_db("qpv195",$link) or die ("Error");
function quitar($mensaje){
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"',""",$mensaje);
$mensaje = str_replace("\\\\","\\",$mensaje);
return $mensaje;
}
if(trim($_POST["nick"]) != "" && trim($_POST["pass"]) != "")
{
$nickN = quitar($_POST["nick"]);
$passN = quitar($_POST["pass"]);
$result = mysql_query("SELECT pass FROM usuarios WHERE nick='$nickN'")or die(mysql_error());
//veo cuantos resultado existen con la consulta
$num= mysql_num_rows($result);
//veo si el numero de coincidencias es mayor a 0 es decir, si existen coincidencias
if($num>0){
//recien ahora hago la llamada el row
$row= mysql_fetch_array($result);
if($row["pass"] == $passN)
{
//90 dias dura la cookie
##################################################
//YO REEMPLAZARIA ESTO
//setcookie("usNick",$nickN,time()+7776000);
//setcookie("usPass",$passN,time()+7776000);
//POR ESTO
#########################################################
//inicio session
session_start();
//Session de usuario
$_SESSION["usNick"] = $nickN;
//session de pass
$_SESSION["usPass"] = $passN
######################################################################
//UNA VEZ QUE LO REDIRIGISTE, NO TE VA A LEER MÁS EL CÓDIGO DE LOGUIN.PHP
############################################################################
?>
<h1><b>Ingreso exitoso, ahora sera dirigido al area de usuarios.</b></h1>
<script type="text/javascript">
location.href = "areadeusuario.php";
</script>
<?
}else{
echo "Contraseña incorrecta";
}
}else{
echo "Usuario no existente en la base de datos";
}
mysql_free_result($result);
}else{
echo "Debe especificar un usuario y una contraseña";
}
mysql_close();
?>
NO SE QUE HACES CON EL ARCHIVO LOGIN.PHP, pero quitale el include ese que llama a logueo.php, no debería tenerlo y está demás...
Código PHP:
<?php
session_start();
//te aconsejo que este código de conexion a la BD lo pongas en un
//archivo individual y llamalo conexion.php o algo así y solo
//haces el include del mismo en cada página asi no debes escribirlo todo rato
$link=mysql_connect("localhost","qpv195","Nagusia07");
mysql_select_db("qpv195",$link) or die ("Error");
if(isset($_SESSION["usNick"]) && isset($_SESSION["usPass"])){
$result = mysql_query("SELECT * FROM usuarios WHERE nick='".$_SESSION["usNick"]."' AND pass='".$_SESSION["usPass"]."'") or die(mysql_error());
$num_result=mysql_num_rows($result);
if($num_result==1){
$row=mysql_fetch_array($result);
$loginCorrecto = true;
$idUsuarioL = $row["id"];
$nickUsuarioL = $row["nick"];
$emailUsuarioL = $row["email"];
$nombreUsuarioL = $row["nombre"];
$apellidosUsuarioL = $row["apellidos"];
$telefonoUsuarioL = $row["telefono"];
}
} else{
//redireccionamos si no existe la session creada
?>
<script language="javascript">
location.href = "index.php";
alert('Usted no ha validado su usuario, ingrese nuevamente por favor.');
</script>
<?php
}
?>
si aún así no te funciona, pues tendrás que ver que error genera y decirnos-