start sesion pasar paginas entre ejemplo close cerrar php internet-explorer session

sesion - session start php login



La sesión de PHP no funciona con IE (12)

Encontré si agregaste un header(''P3P: CP="CAO PSA OUR"''); al principio de tu documento. Parece que ha arreglado el problema.

Tengo un sitio hecho con php que usa sesiones del lado del servidor en todo el sitio.
De hecho, es un sitio con un inicio de sesión de usuario que depende de las variables de sesión y si hubiera un problema con todas las variables de sesión, no se cargarían páginas en absoluto.

En el sitio, hay un iframe que contiene un feed de pequeños mensajes de otros usuarios.
Esos pequeños mensajes tienen fotos clicables al lado de ellos que abren el perfil del usuario.
Ahora, cada página requiere algún formato para abrir el perfil del usuario en esa página específica ... realmente solo hay unas pocas páginas problemáticas , pero esas páginas tienen que tener las funciones onclick formateadas de forma diferente o rompen la página.
Así que establecí una variable de sesión en cada página ( $_SESSION["current_page"] ) que permite que el feed sepa cómo formatear las fotos clicables. Ahora Firefox, Opera, Chrome, Safari funcionan como deben.
Pero IE6 e IE7 están teniendo problemas en las páginas que requieren un formato especial.
Así que después de sacarme un poco el pelo, finalmente logré imprimir las variables de sesión del servidor.
Y he aquí, en las páginas especiales, ( $_SESSION["current_page"] ) siempre se establece en "main" en lugar de "special1" o "special2".

Imprimí la misma variable de sesión en Firefox y en todos los otros navegadores que mencioné e imprimieron "special1" o "special2" como deberían.
¿Alguien puede pensar en algo, posiblemente relacionado con el hecho de que el feed está en un iframe? - ¿Eso causaría que IE tratara las variables de sesión del lado del servidor de manera diferente o de alguna manera iniciara la página "principal" silenciosamente en el fondo?
He revisado el feed con mucho cuidado para cualquier referencia a la página "principal": no parece que haya ninguna forma de cargar esa página.

esto no tiene sentido para mí.


Compruebe el nombre de la máquina del servidor. IE tiene problemas con los nombres de las máquinas que contienen ''-'' o ''_'' - ¡no pueden mantener una sesión! He tenido este problema dos veces en el pasado, y siempre me lleva semanas descubrirlo, y estoy sorprendido de que IE no lo haya solucionado.

¡Simplemente cambie el nombre de la máquina para que no tenga caracteres extraños! Puede hacerlo funcionar si solo usa la dirección IP del servidor en la url para probar.



Intente probar la página mientras usa algún tipo de proxy de supervisión (uso Fiddler ) y vea qué páginas solicita el navegador. Eso podría darte algunas pistas sobre lo que está pasando.

Además, intente capturar las solicitudes / respuestas de diferentes navegadores y ver qué IE está haciendo de manera diferente (orden de las solicitudes, contenido de las solicitudes?).

Para identificar el problema, ¿puede reescribir el código sin usar SESSION (se menciona en una de las otras respuestas)? ¿Tal vez IE está accediendo a las páginas en diferente orden que otros navegadores? ¿Tal vez está solicitando la página principal más de una vez, lo que significa que la sesión var está configurada en "main"? Sin variables de sesión, las páginas no afectarán el estado del otro.


Los datos de sesión se almacenan en el servidor, no en el cliente. Verificaría las otras páginas, donde se establecería este valor.


Si lo entiendo correctamente, ¿está tratando de usar una variable de sesión para pasar datos de una página a páginas dentro de iframes en esa página? Esto no parece una buena manera de hacerlo, ¿por qué no simplemente pasar una variable GET en la URL iframe, es decir? Current_page = special1. Creo que esto sería más confiable, ya que no depende del estado de la sesión.

Recuerde también que las variables de sesión serán las mismas para varias páginas del mismo sitio que están abiertas en la PC de un usuario (por ejemplo, en varias pestañas), lo que podría causar un comportamiento extraño.


Tuve el mismo problema con ie7 y esto es lo que hago:

Si tiene este problema al utilizar un IIS o Apache en Windows Server, observe la URL a la que está redireccionando, debe escribirse de la misma manera que la URL donde estaba antes de la redirección.

Por ejemplo: site.com/ pages /index.php redirección a site.com/ Pages /index2.php va a perder la sesión en IE7 porque la letra mayúscula en Pages.


Tuve este problema, y ​​fue debido a la fecha en que mi caja dev estaba fuera. A Firefox no le importó, IE y Chrome vieron que la sesión había expirado tan pronto como se configuró.


En la mayoría de los casos, esta línea php al inicio del archivo será suficiente:

header(''P3P: CP=”NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM”'');

Si no es así, para IE7 también puede intentar:

header(''P3P: CP=”NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM”''); header(''Set-Cookie: SIDNAME=ronty; path=/; secure''); header(''Cache-Control: no-cache''); header(''Pragma: no-cache'');

Y si eso no funciona para IE6, puede usar los parámetros GET para ID de sesión:

header(''location: land_for_sale.php?phpSESSID=''.session_id());


Pensé que algunas personas podrían encontrar la solución a este problema interesante. Fiddler ciertamente ayudó aquí. Gracias a Fiddler, pude ver que, de hecho, estaba accediendo a la página main.php (estableciendo así la variable de sesión momentos después de configurarla en la página de destino), pero el servidor estaba en default allí después de obtener un 302 en la raíz de el sitio. Todo esto sucedía silenciosamente en el fondo, y antes de mi onload = "" javascript funcionó.

Así que estaba seguro de que algo en esas páginas estaba causando un error, pero no catastrófico.

aquí está: <img src= "" >

IE estaba enloqueciendo por el atributo de src en blanco y presionando la raíz del servidor y la página principal predeterminada. No entiendo completamente la mecánica que está sucediendo aquí. Tampoco entiendo si así es como se supone que IE se comporta (es una etiqueta de IMG mal formada después de todo) o no. ¿Es esto un error?


Tal vez es session.cookie_lifetime . He enfrentado el mismo problema. session.cookie_lifetime: 4500 a session.cookie_lifetime:0 . Esto significa que la cookie de sesión nunca caduca hasta que el navegador se apaga.


Tengo el mismo problema y está SOLUCIONADO ahora.

Los valores del atributo en blanco o vacío de cualquier etiqueta IMG causan el problema. Para mí, utilicé JavaScript para cambiar el origen del objeto IMG a un valor vacío. Hacer eso también podría hacer que el problema.