Foros del Web » Programando para Internet » PHP »

Problemas perdida de variables de sesion (solo en IE)

Estas en el tema de Problemas perdida de variables de sesion (solo en IE) en el foro de PHP en Foros del Web. Hola, llevo 2 días con un problema en mi Web, muy extraño que solo me sucede en IE (pero únicamente cuando la Web está en ...
  #1 (permalink)  
Antiguo 15/12/2009, 05:02
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 9 meses
Puntos: 0
Desacuerdo Problemas perdida de variables de sesion (solo en IE)

Hola, llevo 2 días con un problema en mi Web, muy extraño que solo me sucede en IE (pero únicamente cuando la Web está en Internet y no en modo local).

El problema es que al parecer, el IE pierde todas las variables de session de tercer nivel del tipo:
Código PHP:
$_SESSION['web1']['web2']['web3'] = 'prueba'
He probado en FF, Opera, Safari, Netscape, Chrome tanto en local como en Internet y en todos me funciona de maravilla (incluso en IE pero en modo local).

Sin embargo cuando subo la web y la pruebo con IE, dichas variables las acaba perdiendo cuando pasa de una página a otra y para solucionar el problema tengo que cambiar las variables de:
Código PHP:
$_SESSION['web1']['web2']['web3'] = 'prueba'
a
Código PHP:
$_SESSION['web1'] = 'prueba'
y es entonces cuando así parece funcionar.

Nunca nunca nunca, me había sucedido algo igual, he buscado y buscado y no encuentro nada que solucione mi caso he probado en distintos foros. Repito que la Web funciona perfectamente en modo local.

LLevo ya 48 horas con este problema. Ojalá me puedan ayudar. Gracias.

Un saludo y gracias de antemano.
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #2 (permalink)  
Antiguo 15/12/2009, 08:39
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 8 meses
Puntos: 25
Respuesta: Problemas perdida de variables de sesion (solo en IE)

ya probaste con:

Código PHP:
Ver original
  1. $_SESSION['web1'][$_SESSION['web2']][$_SESSION['web3']] = 'prueba';

La otra opción es:


Código PHP:
Ver original
  1. $a=array(
  2.             "web1" =>"valor",
  3.             "web2"=>"valor",
  4.             "web3"=>"valor"
  5.             );
  6.  
  7. $_SESSION['datos']=$a;
  8.  
  9.  
  10. foreach ( $_SESSION['datos'] as $k => $v ) {    
  11.    echo $v['web1'];
  12.    echo $v['web2'];
  13.    echo $v['web3'];
  14. }
__________________
Hospedaje Web al mejor costo!
  #3 (permalink)  
Antiguo 15/12/2009, 12:29
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Problemas perdida de variables de sesion (solo en IE)

No me funciona... cabe decir que ahora ya ni me está funcionando en local, y no solo eso si no que además da igual la variable de sesión que sea... de primer o de tercer nivel. SOLO EN EXPLORER.
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #4 (permalink)  
Antiguo 15/12/2009, 12:34
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: Problemas perdida de variables de sesion (solo en IE)

Rux, deberias hablar con algun amigo, abrir tu servidor local en online para que pueda acceder y decirte si a el le va bien con IE, porque me da a mi que el problema va a ser de tu navegador....
  #5 (permalink)  
Antiguo 15/12/2009, 12:40
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Problemas perdida de variables de sesion (solo en IE)

Hola, gracias por contestar:

Se ha probado con 3 amigos y el cliente y pasa lo mismo y ya no tengo ni idea de que puede ser, estoy prácticamente desesperado ¿algo que tocar en php.ini, algo que saber sobre las sesiones, límite, capacidad, bug? es que aún así funciona genial en todos los demás navegadores....

Un saludo
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #6 (permalink)  
Antiguo 15/12/2009, 13:21
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: Problemas perdida de variables de sesion (solo en IE)

Te busque en google, me salio este articulo: http://www.scyfox-site.com/2009/11/2...-sesiones-php/

Aqui hay otro con tu problema y al final resolvio que era un problema de cookies de su navegador: http://www.forosdelweb.com/f18/probl...er-7-a-449636/

Ya me diras si te sirvio......


EDITO: aqui encontre algo mas de http://php.filearena.net/manual/kr/r...sion.php#62450

Internet explorer users beware.

When using session_start() to begin a session this session will remain open until the page has finished loading or it is explicitly terminated.

You can lose the session however if the the page contains a reference to <img src=""> with name and id references (which may be used if the image is referencing a dynamic image, called by javascript) This seems to casue IE6 to refresh the page session id and hence loose the session.

This took hours for me to diagnose when users were getting unexpectedly logged out of my site due to this "" in the img src.

Última edición por Vun; 15/12/2009 a las 13:26
  #7 (permalink)  
Antiguo 16/12/2009, 03:58
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Problemas perdida de variables de sesion (solo en IE)

Gracias por tomarte la molestia de buscar los enlaces Vun;

Los 2 primeros ya los había visto sin éxito. El último me arrojó algo de luz al asunto, pero no es mi caso, he quitado incluso todas las imagenes del sitio y continua el problema original del principio "Solo falla en Internet bajo Explorer".

He estado meditando mucho sobre ello y la única diferencia que puede ser significativa, (creo yo) que puede haber del mismo sitio en local frente al de Internet es por supuesto que la URL que varia aparte de la configuración del apache (que no creo que influya, corregidme si me equivoco).

Por ejemplo de:
http://localhost/misitio/es/reservas/index.html
a:
http://www.midominio.com/es/reservas/index.html

Solo me cabe pensar que por alguna misteriosa razón, el explorer no esta recogiendo correctamente las cookies desde el dominio (repito que en local si funciona de maravilla, es decir que no es problema del explorador cliente).

Espero que puedan seguir ayudandome.

Un saludo
Muchas gracias.
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #8 (permalink)  
Antiguo 16/12/2009, 10:35
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 8 meses
Puntos: 25
Respuesta: Problemas perdida de variables de sesion (solo en IE)

creo saber cual es el problema.

tu dominio no es forward? como tienes la estructure de tu dominio por favor
__________________
Hospedaje Web al mejor costo!
  #9 (permalink)  
Antiguo 16/12/2009, 11:11
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Problemas perdida de variables de sesion (solo en IE)

Hola... nop, mi dominio no es forward, todo mi sitio es así:

http://www.midominio.com/es/index.html
http://www.midominio.com/es/quienes_somos.html
http://www.midominio.com/es/ofertas.html


etc...
(Obvio que /es/ significa el idioma actual de la página)

Luego llega en un apartado especial que es para hacer reservas online que sería algo así
http://www.midominio.com/es/casas/re...sa_manolo.html

y es ahi cuando las variables de sesión generadas durante esa URL se pierden (IE) al refrescar la página.

Un saludo
Gracias.
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #10 (permalink)  
Antiguo 16/12/2009, 11:32
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 8 meses
Puntos: 25
Respuesta: Problemas perdida de variables de sesion (solo en IE)

y no has intentado registrar la sesión?
__________________
Hospedaje Web al mejor costo!
  #11 (permalink)  
Antiguo 16/12/2009, 12:33
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Problemas perdida de variables de sesion (solo en IE)

ahí me pillastes ahora!! a q te refieres??
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #12 (permalink)  
Antiguo 16/12/2009, 12:40
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: Problemas perdida de variables de sesion (solo en IE)

Y si haces un archivo de texto temporal con los valores de las variables separados por un caracter y despues explotas y asignas?? Seria medio como "emparchar" la cosa, pero funcionaria creo =P
  #13 (permalink)  
Antiguo 16/12/2009, 12:45
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Problemas perdida de variables de sesion (solo en IE)

Gracias por contestar jackson666, si soluciones las hay, pero no quiero esquivar el problema quiero entender el por qué y hacerlo como desde un principio. Gracias otra vez :)
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #14 (permalink)  
Antiguo 16/12/2009, 13:30
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 8 meses
Puntos: 25
Respuesta: Problemas perdida de variables de sesion (solo en IE)

session_register
__________________
Hospedaje Web al mejor costo!
  #15 (permalink)  
Antiguo 21/12/2009, 15:01
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Problemas perdida de variables de sesion (solo en IE)

Imposible!! llevo ya días con esto y ninguna de las posibles soluciones ofrecidas, me sirve... he probado de todo y he buscado a más no poder y el fallo permanece!!
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #16 (permalink)  
Antiguo 21/12/2009, 15:13
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: Problemas perdida de variables de sesion (solo en IE)

Esto es ya como un capitulo del CSI, jejeje

Deberias no se..... poner mas codigo de lo que te ocurre, pero no lineas sueltas, pon mas, estoy seguro que tiene que ser una tremenda tonteria lo q ocurre
  #17 (permalink)  
Antiguo 21/12/2009, 15:33
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 11 meses
Puntos: 21
Respuesta: Problemas perdida de variables de sesion (solo en IE)

No creo que el problema este en el codigo si es que funciona bien en otros exploradores.... Problemas son sessiones que se generen del lado del usuario, lo unico que se me puede ocurrir es que tengas las cookies deshabilitadas o en una de esas un malware que las modifique, no se.... esta bastante raro el tema...
  #18 (permalink)  
Antiguo 21/12/2009, 15:47
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Problemas perdida de variables de sesion (solo en IE)

Las diferencias de Localhost al servidor de inet, es que en local uso wamp y en servidor lamp... y es en lamp donde falla con explorer... entonces pienso, algo en la configuración del php.ini que no va con el servidor... como las rutas de las sessiones o algo...

¿Alguna idea?? siempre gracias...
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #19 (permalink)  
Antiguo 21/12/2009, 16:01
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 3 meses
Puntos: 105
Respuesta: Problemas perdida de variables de sesion (solo en IE)

Compara los php.ini de tu local y los de tu servidor en la parte de session........
Asi veras por que no sale en el servidor.... podria ser:
- no tiene valor la ruta donde se almacenan las sessiones.
- el tiempo de expiracion de las sessiones es muy corto.
- etc.

Suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #20 (permalink)  
Antiguo 21/12/2009, 16:13
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Problemas perdida de variables de sesion (solo en IE)

Hola, gracias por contestar.... los archivos php.ini son exactamente iguales en la parte de session.... continua el misterio...
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #21 (permalink)  
Antiguo 21/12/2009, 16:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Problemas perdida de variables de sesion (solo en IE)

Si son iguales, entonces el problema evidentemente no es de PHP, haz intentado ejecutar Internet Explorer desde otra maquina para tratar de reproducir el problema?
  #22 (permalink)  
Antiguo 21/12/2009, 16:40
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Problemas perdida de variables de sesion (solo en IE)

Hola!!... sí... de distintas máquinas y en sus distintas versiones, Explorer 6, 7 y 8. El resultado es el mísmo, pero únicamente en host remoto no en localhost. Gracias
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #23 (permalink)  
Antiguo 21/12/2009, 17:02
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: Problemas perdida de variables de sesion (solo en IE)

Por decirte algo........ probaste en tu IE en las opciones > pestaña privacidad > bajar el nivel al minimo para aceptar todas las cookies? Se que no es la solucion que buscas pero podria ir sirviendote......
  #24 (permalink)  
Antiguo 21/12/2009, 17:06
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Problemas perdida de variables de sesion (solo en IE)

Sí... lo he hecho. Gracias. Me sirve cualquier cosa que me puedan aportar aunque sea o parezca una tontería.... que al final seguro que lo es... pero no doy con el tema y estoy saturado...

Gracias.
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #25 (permalink)  
Antiguo 22/12/2009, 04:31
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Problemas perdida de variables de sesion (solo en IE)

Amigos... creo que he dado con el inexplicable fallo.... digo inexplicable porque solo sucede en explorer, en el host remoto y de manera extraña.

En una parte de mi código (que es ejecutado en cada página, al igual que el session_start()), elimino todas las variables de session de un formulario en el cual un usuario hace una reserva.

Es decir que cuando el usuario abandona el formulario (de 4 pasos) finalizandolo o no, dirigiéndose a otra sección de la web, se comprueba si existe el array $_SESSION['form'] y que $_GET['accion'] no sea igual a 4 (4 en referencia al formulario).

Es entonces, cuando se ejecuta esta sentencia:
Código PHP:
if(isset($_SESSION['form']) && $_GET['accion'] != 4){

        
## Elimino todas las variables
        
echo 'Elimino variables de sesión';
        unset(
$_SESSION['form']);


Repito, funciona perfectamente en todos los navegadores localmente y remotamente salvo en explorer remotamente.

Bien, lo que sucede en el explorer remoto, es que esa sentencia SIEMPRE se cumple aunque $_GET['accion'] no sea 4, eliminando con lo cual el array $_SESSION['form'] y además de forma oculta, es decir el "echo" lo ignora, no lo muestra y si lo sustituyo por un "die()" también lo ignorará la Web no se aborta con la salvedad de que no eliminará el array $_SESSION['form'].

Es como si esta parte del código, se ejecutara siempre en background en el explorer remoto. Llevo 1 semana dedicado solo a corregir este error.

¿¿¿¿Como es posible?????
Siempre gracias.
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #26 (permalink)  
Antiguo 22/12/2009, 12:20
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 3 meses
Puntos: 105
Respuesta: Problemas perdida de variables de sesion (solo en IE)

isset($_SESSION['form'])
esto me genera dudas................

que se supone que trae..... ten en cuenta que el IE aveces es bien fastidioso con el tema de formularios.

podrias tratar solo con:
if($_REQUEST['accion'] != 4){

Suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #27 (permalink)  
Antiguo 22/12/2009, 14:08
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Problemas perdida de variables de sesion (solo en IE)

$_SESSION['form'] es un array con diversas variables... por ejemplo:

$_SESSION['form']['nombre']
$_SESSION['form']['apellidos']
$_SESSION['form']['dni']
etc...

El tema es que necesito saber si existe $_SESSION['form'] para borrarla o no. No borrarla constantemente aunque no exista.

Gracias siempre!!
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #28 (permalink)  
Antiguo 22/12/2009, 14:10
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: Problemas perdida de variables de sesion (solo en IE)

Y no seria mejor comprobar un valor exacto tal que:

isset($_SESSION['form']['nombre')

?????
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

SíEste tema le ha gustado a 3 personas




La zona horaria es GMT -6. Ahora son las 22:39.