Foros del Web » Programando para Internet » PHP »

Ie me rompe la session

Estas en el tema de Ie me rompe la session en el foro de PHP en Foros del Web. Holas a todos como estan, tengo un pequenio problema, resulta que estoy hacinedo un web, en la que solo quiero el cliente mantenga la sesion ...
  #1 (permalink)  
Antiguo 03/02/2006, 11:46
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
Ie me rompe la session

Holas a todos como estan, tengo un pequenio problema, resulta que estoy hacinedo un web, en la que solo quiero el cliente mantenga la sesion en determinadas paginas, es decir si sale de esas muera la session. y como las paginas cargan todas dentro del index. puse un codigo como este en el mismo :

Código PHP:
session_start();
if (empty(
$_GET['seccion']) || $_GET['seccion'] == 'main' ){
unset(
$_SESSION['user_id']);
unset(
$_SESSION['user_nombre']);
unset(
$_SESSION['tipo_usuario']);
unset(
$_SESSION['user_apellido']);
unset(
$_SESSION['user_email']);

el problema es que en IE, siempre destruye la session y no se como arreglarlo :(.

Ademas si me puede ayudar diciendome como hacer para eviar que se la session siga una vez, abandonada la pagina, se agradeceria.

Muchas gracias igaul
  #2 (permalink)  
Antiguo 03/02/2006, 12:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El código que presentas destruye todas esas variables de sesión que ahí indicas.

No entendí que pretenes hacer ..

De todas formas el tiempo de vida de una sesión y que al cerrar la última página de tu sitio la sesión muera, se controla según propagues el SID con las directivas:

session.gc_maxtimelife (tiempo de vida de una sesión)
session.cookie_lifetime (si es que propagas el SID en cookies: session.use_cookies a ON)

En definitiva .. debes aclarar como propagas el SID en tu aplicación y como lo hace tu configuración de PHP para ver que puedes ajustar o que debes ajustar.

Te recomiendo la lectura de la documentación oficial de PHP sobre sesiones y que veas las directivas de configuración sobre este tema:

www.php.net/session

Un saludo,
  #3 (permalink)  
Antiguo 03/02/2006, 14:36
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
lo que quise decir es esto

Si yo quiero cargar la pagina "empleos.php"
la direccion seria index.php?seccion=empleos

y el codigo que puse en IE me rompe siempre la sesion
siempre se ejecuta
unset($_SESSION['user_id']);
unset($_SESSION['user_nombre']);
....

es decir como si por el hecho de existir esas lienas se tuvieran que ejecutar xq sinembargo si yo pongo

<?php
session_start();
if (empty($_GET['seccion']) || $_GET['seccion'] == 'main' ){
die("GrRRRRR");
unset($_SESSION['user_id']);
unset($_SESSION['user_nombre']);
unset($_SESSION['tipo_usuario']);
unset($_SESSION['user_apellido']);
unset($_SESSION['user_email']);
}
...

el GRR solo aparece en index.php?seccion=main o index.php. por lo qu es un problema bastante extraño, yo definitiva solo quiero matar la sesion cuando este en index.php. pero todas mis pagina pasan por el index, eso se entendio?

en cuanto al confgi :

session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn On On
session.cache_expire 180 180
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
  #4 (permalink)  
Antiguo 06/02/2006, 05:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
A ver . .concreta mejor

Tu quieres "matar" tu sesión si accedo a tu index.php directametne . .sin parámetro extra como esa varaible que decide que "sección" cargas?

Si es así ..

1) Por qué no usas un switch() en lugar de if()? (bueno .. tampoco sé si lo usas por qué no pusistes todo el código de tu indidex en su contexto .. ).

2) .. Si usas un switch() .. puedes usar su opción "default" .. ahí sería donde (en ese caso) donde deberías ejecutar tu código que "mata" tu sesión.

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:47.