Joder, no voy a darle más vueltas al asunto una vez resuelto, y por si sirve de ayuda resumiré el caso e intentando evitar errores, porque lo estoy liando un poco.
Esta minúscula aplicación de sesiones no va en mi server de pago, son los códigos que vosotros me disteis también:
LOGIN.PHP
Código PHP:
<?php
session_start();
if(!empty($HTTP_SESSION_VARS['nombre']))
{
echo "Hola ".$HTTP_SESSION_VARS['nombre'].", no te has desconectado.<br>";
foreach ($HTTP_SESSION_VARS as $k=>$v)
{
echo "Valor $k: $v<br>";
}
?>
<a href="logout.php" title="Desconectar">Desconectar</a>
<?
}
else
{
?>
<form action="proces_login.php" method="post">
Tu nombre: <input name="nombre" type="text" />
<input name="Enviar" type="submit" value="Enviar" />
</form>
<?php
}
?>
El login lo hace ok,
El proceso del formulario y logueo:
PROCES_LOGIN.PHP:
Código PHP:
session_start();
// Seguridad
$HTTP_POST_VARS['nombre'] = strip_tags($HTTP_POST_VARS['nombre']);
$HTTP_SESSION_VARS['nombre'] = $HTTP_POST_VARS['nombre'];
header ("Location: login.php");
y el LOGOUT.PHP (ESTE NO VA):
Código PHP:
<?php
// Iniciamos sesión
session_start();
session_unset();
session_destroy();
?>
<a href="login.php" title="Probar la desconexion">Probar la desconexion</a>
Si hago un logout con las funciones de destrucción de variables de sesión, con parámetros, ya sea para un nombre de sesión definido o no (por defecto en mi sever PHPSESSID), sí que va:
LOGOUT.PHP QUE SÍ QUE VA
Código PHP:
<?php
// Iniciamos sesión
session_start();
session_unset('PHPSESSID');
session_destroy('PHPSESSID');
?>
<a href="login.php" title="Probar la desconexion">Probar la desconexion</a>
Igual si establezco un nombre de sesion o no, si no establezco ninguno, como en este caso, me funciona bien con el PHPSESSID.
Así de simple, algo que he visto en muchos sitios, tan básico, pos no me va, debo pasar los parámetros de la sesión a las funciones de destrucción de esta.
Lo podeis comprobar cuando querais si os pongo el link.
Un saludo.
PD: Aquí teneis el link:
http://www.laguardia2004.net/login.php