Ver Mensaje Individual
  #24 (permalink)  
Antiguo 23/08/2004, 07:56
Avatar de Covids0020
Covids0020
 
Fecha de Ingreso: septiembre-2003
Ubicación: España
Mensajes: 217
Antigüedad: 20 años, 6 meses
Puntos: 1
Cita:
Lo que comentas de:
// estableciamos algun valor de sesion:
$HTTP_SESSION_VARS['nombre'] = $loquesea;
Perdón quise decir:
VARIABLE DE SESIÓN , sorry.
Cluster, no te estoy diciendo nada de errores, es más, al revés por tanto interés y ayuda, faltaría más.

Vale, ok, es que así lo lio, pero te aclaro eso.

Lo estoy usando en ambos casos, en una aplicación y en código
"suelto".

En mi aplicación, lo que comentas lo hago bien, ya que uso un sistema de templates digamos, y lo primero que se carga es el session_name('sesion_id') (parámetro de ejemplo, no hacer caso) y después el session_start();

Así que todos los archivos, secciones, etc de mi aplicación comienzan estableciendo un nombre de sesion:
session_name('sesion_id');
y un inicio de sesion:
session_start();

Para luego hacer un logout o para lo que sea, la solución del logout para esta aplicación ha sido matar la sesión pasándole el parámetro del nombre de sesion:
session_destroy('sesion_id');, etc, etc.

Yastá, no tiene más.

Por último, he asumido que he liado la cosa yo, entre un código, mi aplicación (si se le puede llamar a sí a esa basurilla de código embarrullado que tengo), etc, etc.
Yo pongo un link y please, se prueba y ya verás como no va uno y otro sí, además vuelvo a poner el código de este ejemplo, si más comparaciones con otro.
Ahí va:
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>";
?> 
<a href="logout.php" title="Desconectar">Desconectar</a><br />
<a href="logout_no.php" title="Probar el logout que no va">Probar el logout que no va</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 
}
?>
PROCES_LOGIN.PHP:
Código PHP:
<?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"); 
?>
LOGOUT QUE NO VA:
LOGOUT_NO.PHP:
Código PHP:
<?php
// Iniciamos sesión
  
session_start();
  
// Vaciado de la variable de sesion nombre
  //unset($HTTP_SESSION_VARS['nombre']);
  
session_unset();
  
//$HTTP_SESSION_VARS = array();
  
session_destroy();
  
//session_destroy($HTTP_SESSION_VARS['nombre']);
?>
<h3><font color="#FF0000">Este es el logout que no va a funcionar.</font></h3>
<a href="login.php" title="Probar la desconexion">Probar la desconexion</a>
Y el logout que va:
LOGOUT.PHP:
Código PHP:
<?php
// Iniciamos sesión
  
session_start();
  
// Vaciado de la variable de sesion nombre
  //unset($HTTP_SESSION_VARS['nombre']);
  
session_unset('PHPSESSID');
  
//$HTTP_SESSION_VARS = array();
  
session_destroy('PHPSESSID');
  
//session_destroy($HTTP_SESSION_VARS['nombre']);
?>
<h3><font color="#006699">Este logout sí que va a funcionar.</font></h3>
<a href="login.php" title="Probar la desconexion">Probar la desconexion</a>
Yastá, na más eso, y se puede comprobar:

http://www.laguardia2004.net/login.php

Añadiré, que en otras aplicaciones prefabricadas como PHP-Nuke, códigos ya hechos de este tipo de sistemas, etc, tengo el mismo problema, no se mataban las sesiones. Un server muy particular el mio no?, pues ya no es culpa de mi código.
Un saludo y por favor, espero alguna idea ya más que nada por averiguar porqué puede ser, coger el link es nada, ni un minuto.

De verdad, muchas gracias eh.
__________________
"La sabiduría comienza donde acaba el conocimiento". Yaris.
http://www.culturadigital.org