Foros del Web » Programando para Internet » PHP »

Abrir diferentes ventanas con un mismo sitio, pero todas con la misma sesion

Estas en el tema de Abrir diferentes ventanas con un mismo sitio, pero todas con la misma sesion en el foro de PHP en Foros del Web. Se me presentó un problemón. Un cliente me solicitó una aplicación para manejar las sesiones. El objetivo es que ésta sirva de base para un ...
  #1 (permalink)  
Antiguo 13/10/2007, 12:26
okram
Invitado
 
Mensajes: n/a
Puntos:
Abrir diferentes ventanas con un mismo sitio, pero todas con la misma sesion

Se me presentó un problemón. Un cliente me solicitó una aplicación para manejar las sesiones. El objetivo es que ésta sirva de base para un sistema de fotos. Ahora, ese sistema de fotos tendrá la opción de marcar favoritos, guardándolos en variables de sesión. Ahí está el problema. Si el usuario abre una nueva ventana (sólo pasa en IE), y aunque esté abierta la ventana original, se crea un nuevo id de sesion, con lo que los favoritos que habñia marcado no funcionan en esa nueva ventana, mas sí aparecen con toda normalidad en la anterior.

Deseo que se mantenga el id de sesion en las distintas ventanas que se abren...

La sesión la propago por cookies, pero me tope con algo nuevo para mi.

En una ventana (original) abro la pagina crear.php. Allí creo una cookie. Luego, al hacer un
Código PHP:
print_r($_COOKIE); 
me muestra dos cookies. Una contiene el nombre de mi sesion y el id (eso está bien), y la otra es la cookie que creé anteriormente en crear.php.

Ahora, dejo esa ventana abierta y abro una nueva: otra.php... Si alli hago un print_r($_COOKIE) sin inicializar la sesion; me muestra solo una cookie, la que yo mismo creé, mas no está la de sesión que sí aparece en la ventana original. Si inicializo la sesión, me muestra dos cookies, pero la que corresponde a la sesion, a pesar de tener el mismo nombre (el nombre de la sesion), cambia en el valor, tomando un nuevo id.

Por todo esto, deduzco que la cookie que se genera para almacenar el id de la sesion no es como cualquier otra cookie, y por lo tanto, no se puede acceder a ella de la misma manera que a otras cookies. Aún si veo el archivo de texto de la cookie que se guarda en la PC, nisiquiera allí está la de la sesión. ¿Dónde se guarda entonces esta cookie? y... ¿cómo puedo saber si existe? Esta útlima pregunta... si la cookie existe, es que hay una ventana abierta con una sesion iniciada, por lo tanto debo tomar esa misma sesion...

Algo larga mi pregunta, pero...

En fin, en un inicio probé creando una cookie que contenga el id de la sesion, y luego verifico si esa cookie existe, entonces tomo ese id. Pero el problema es que al cerrar el navegador la cookie persiste, por lo que la informaciónd el usuario está en riesgo.

Espero me puedan ayudar...

Un saludo,

P.D.: Aquellos que me van a decir cosas como "Pon un mensaje que diga: No ensusies mi página con la basura del IE" o "Cámbiate a FF", por favor, abstenerce. Ya dije que es para un cliente, así que no es la solución .
  #2 (permalink)  
Antiguo 13/10/2007, 14:47
 
Fecha de Ingreso: mayo-2006
Mensajes: 288
Antigüedad: 13 años, 8 meses
Puntos: 4
Re: Abrir diferentes ventanas con un mismo sitio, pero todas con la misma sesion

umm no entiendo bien pues me enrrede leyendo el contenido, pero podrias usar $_SESSION; y si ya lo intentaste con $_SESSION podrias guardar los id de las sessiones pero esto en tu servidor en una base de datos asi no corres riego que l informacion no la vean otras personas.

Si haces lo segundo que te dije procura guardar la Ip del usuraio y si es posible algun dato como el login del usuario o algo ya uqe puedes tener problemas con las Ip variables de algunos ISP.
;)
  #3 (permalink)  
Antiguo 13/10/2007, 21:50
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Abrir diferentes ventanas con un mismo sitio, pero todas con la misma sesion

Si, lo intente, pero no me condujo a nada.

Justamente lo que deseo es que los datos de los usuarios sólo se conserven mientras tengan cualquier ventana abierta con la sesion activa. Una vez que cierran todas las ventanas del sitio, la sesion desaparece, asi que si vuelve a entrar nuevamente, ahora si se iniciara con un nuevo id de sesion.

Si guardo el id de la sesion en una db junto con la ip, tendre el problema de que no sabre si el usuario aun tiene o no abierta la ventana (o ventanas), por lo que, aunque sea por solo unos minutos (tiempo de sesiones activas) la informacion del usuario corre riesgo....

Lo que deseo saber es:

Tengo una ventana A. Abro el sitio, se genera el id de sesion X. Abro una nueva ventana B. Esta nueva ventana debe detectar que existe la sesion X y tomarla, y si no existe (en caso de que A se haya cerrado antes), crear una sesion Y----

Espero se me haya entendido...

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 13:08.