Gracias andrés, voy a chequear ese logout que pusiste :)
En verdad yo tenía todas las sesiones iniciadas correctamente antes de empezar a tocar para ver si solucionaba el problema...el bucle ese lo cree después.
Ya revisé que estén todas la sesiones iniciadas en todos los archivos y demás y puse el session al principio, y volvi a revisar toda la cadena de codigos, y no veo ningún error, pero al entrar a la página que está restringida por el include de este archivo:
Código PHP:
<?php
//Restringe el acceso a la sección que lo incluya. Se debe estar logueado para entrar.
include 'conectar.php';
if ($_SESSION['logueado'] = 'si')
{
echo "Hola ¡Gracias por visitarnos!";
// falta redirreccionar
} else {
header ("Location: login.php");
}
?>
Me imprime el echo como si la condicion
if ($_SESSION['logueado'] = 'si') fuera verdadera, cuando es imposible que lo sea, no solo porque la sesion fue destruida sino porque lo probe en un navegador sin cookies, con la base de datos reiniciada, etcétera, y sucede lo mismo. Por ende, tengo un problema con esa session['logueado'] Creo que hay algo mal en el modo en que registre las sesiones en el login pero veo todo correcto
Código PHP:
<?php
include 'conectar.php';
$logus=$_POST['logus'];
$logpw=$_POST['logpw'];
if ($_POST['logus'] != "" && $_POST['logpw'] != "")
{
$coincide = mysql_query("SELECT id FROM usuarios WHERE nick LIKE '$logus'");
if ($fila = mysql_fetch_array($coincide))
{
$coincide2 = mysql_query("SELECT id FROM usuarios WHERE pass LIKE '$logpw'");
if ($fila2 = mysql_fetch_array($coincide2))
{
$_SESSION['logueado'] = "si";
$_SESSION['usuario'] = "$logus";
header ("Location: log_ok.php");
} else {
echo "Contraseña incorrecta"; // La contraseña es incorrecta
}
} else {
echo "El usuario no existe"; // El usuario no existe
}
} else {
echo "Debe llenar el formulario para continuar"; // Debe ingresar ambos datos para continuar
}
?>