Foros del Web » Programando para Internet » PHP »

Múltiples sesiones en un mismo ordenador

Estas en el tema de Múltiples sesiones en un mismo ordenador en el foro de PHP en Foros del Web. Saludos a todos, soy Drawler. Tengo un problemilla en mi página con las sesiones, y mne preguntaba si alguien podría echarme una mano. Mi página ...
  #1 (permalink)  
Antiguo 31/08/2002, 07:25
 
Fecha de Ingreso: agosto-2002
Mensajes: 5
Antigüedad: 15 años, 3 meses
Puntos: 0
Múltiples sesiones en un mismo ordenador

Saludos a todos, soy Drawler.

Tengo un problemilla en mi página con las sesiones, y mne preguntaba si alguien podría echarme una mano.

Mi página es un juego de rol mutil-usuario que se basa en PHP y Javascript.

Una de las partes se llama "La Arena" , en la que dos personajes se pueden desafiar y pelear. Para hacerla, utilizo el Apache en mi ordenador para hacer pruebas.

Para hacer las pruebas necesito iniciar dos sesiones diferentes . Este es el problema:

Cuando arranco dos navegadores para hacer una prueba del combate, el segundo tiene automáticamente la misma sesion que el primero!!! Y claro, uno no puede luchar contra si mismo.

Lo he probado todo, desde el Archivo->Nuevo, abrir el IE con el Menú inicio, hasta ir con el Explorador de windows y arrancarlo directamente. No hay forma.

Alguna ayuda?? Por favor!!

Tengo el IE 6.0 (datos adicionales) Windows 98 se.

Gracias por adelantado.
  #2 (permalink)  
Antiguo 31/08/2002, 07:53
 
Fecha de Ingreso: enero-2002
Mensajes: 30
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Múltiples sesiones en un mismo ordenador

En teoria la gracia de las sesiones es para que en un mismo ordenador no tengas dos sesiones a la vez... el porque es debido a que la principal misión de las sesiones es el comercio electrónico.
Si al usuario se le cuelga el ordenador o pasa x situación, cuando vuelva a la tienda esté en la misma situación en la que estaba cuando le pasó la situación "x".

Sólo se me ocurre que en sessionname le cambies el nombre cada vez que se ejecuta el programa...

session_name("nombreynumeroalazar");


pero no creo que te vaya a funcionar en el mismo ordenador...
  #3 (permalink)  
Antiguo 31/08/2002, 09:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Re: Múltiples sesiones en un mismo ordenador

pepero123 .. aquí hay un pequeño lio de conceptos no?

Cita:
Si al usuario se le cuelga el ordenador o pasa x situación, cuando vuelva a la tienda esté en la misma situación en la que estaba cuando le pasó la situación "x".
Usando cookies NO sessiones podriasmos restaurar esa situacion si la cooki no expiro ..

Las sessiones uno de sus modos de funcionamiento es: cierras navegador --> muere sesion.

Lo del "comercio electronico" .. si, es cierto q se usa mucho en ese tipo de aplicaciones .. pero yo las uso para todo .. por ejemplo para propagar variables tal como normalmente uno lo hace via URL .. pues me las guardo en una session. (ejemplo .. 1 formulario --> procesa.php y este <-- devueve algo error y/o estado anterior de variables )...

------------------

Sobre el problema de q ambos inicios de tu aplicacion (script) tienen la mima session_id .. no lo entiendo ..
Yo hago el tipico session_start() .. registro las variables etc ... y NO tengo problemas si abro otro navegador y llamo a la pagina en cuestion .. veo (y funcionan) por separado dos sesiones ...

De todas formas ... revisa algunos apartados de la configuracion de sessiones de tu PHP (php.ini):

Código:
  ; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 0

; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
session.gc_maxlifetime = 0

; Document expires after n minutes.
session.cache_expire = 0

Un saludo,


Un saludo,
  #4 (permalink)  
Antiguo 31/08/2002, 10:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Re: Múltiples sesiones en un mismo ordenador

Me dejé otra derectiva de sessiones importante ..

Bueno .. mas bien son estas dos en combinación las que definen cuantas session hay abiertas en cada momento:

Código:
; Percentual probability that the 'garbage collection' process is started
; on every session initialization.
session.gc_probability = 1

; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
session.gc_maxlifetime = 0
session.gc_maxlifetime
define los segundos desde los cuales se considerará "Basura" la session.

session.gc_probability define
define un % porcentaje de veces q se ejecutaran las tareas de "limpieza" (borrado) de sessiones que estén caducadas. El tiempo de caducidad lo define en segundos la anterior directiva.

Ejemplo:
Código:
session.gc_maxlifetime = 0 (segundos)
session.gc_probability = 100 (procentaje)
Esto ocasinaria una sesion activa .. cada vez q se llama un session_start() se ejecutaria la limpieza de sessiones almacendas .. + se define como "basura" al instante ..

Dependiendo del las ejecuciones de la(s) paginas q inicien sessiones .. se podria ajustar el gc_probability .. siendo por defecto un 1% ...

En cuanto al gc_maxlifetime .. depende de las combinaciones q hagamos .. pero en la mayoria de casos se considera como "basura" al instate y se deja al gc_probality q actue ..

Un saludo,
  #5 (permalink)  
Antiguo 31/08/2002, 11:03
 
Fecha de Ingreso: agosto-2002
Mensajes: 5
Antigüedad: 15 años, 3 meses
Puntos: 0
Re: Múltiples sesiones en un mismo ordenador

Gracias!

Voy a mirar a ver si funciona.
  #6 (permalink)  
Antiguo 31/08/2002, 22:03
 
Fecha de Ingreso: enero-2002
Mensajes: 30
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Múltiples sesiones en un mismo ordenador

Para Cluster:

Una apreciación:
Si la pagina con sesiones venia de una ventana que yo tenia abierta (a través de un link) y cierro solo la pag con sesiones y luego entro en la pagina de sesiones ...

No se perdió nada de la sesión...

Compruebalo y me dices algo...

  #7 (permalink)  
Antiguo 01/09/2002, 12:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Re: Múltiples sesiones en un mismo ordenador

joer .. lo tenia escrito to OK y le di al X jjaja..

Bueno .. Peperto en resumen .. que eso sucede por el SID que se propaga en los tags HTML:
- area:href
- frame:src
- input:src
- form:fakeentry

si usas: session.use_trans_sid (en tu PHP.ini)

O bien .. si la cookie no ha expirado si usas la propagacion por cookies ..

Así q .. tendras q cerrar TODAS las ventanas q iniciaron esa sesion para no quede rastro del SID (de su propagacion) y actuen todas las directivas restantes del tema sessiones (la "basura" y tiempos de expiracion etc..)

Un saludo,
  #8 (permalink)  
Antiguo 04/09/2002, 11:30
 
Fecha de Ingreso: enero-2002
Mensajes: 30
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Múltiples sesiones en un mismo ordenador

Gracias Cluster
Lo de los tags no lo entendido...
Es verdad que tengo el
session.use_trans_sid a 1
pero creo que me pasa eso por la propagación de las cookies...

Te lo agradezco, siempre se aprende algo nuevo en el maravilloso mundo de PHP
  #9 (permalink)  
Antiguo 04/09/2002, 13:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Re: Múltiples sesiones en un mismo ordenador

Lo de la propagacion automatica del SID en los tag HTML q mecionaba .. tan solo es q PHP automaticamente inserta el SID ahi ... en esos tag .. dependiendo de cual sea lo hace de una manera u otra ..

Ejemplo serian:

En un formulario .. se añade un campo hidden extra:

<form action="algo.php" method="POST">
<input type="hidden" name="PHPSESSID" value="0272c1a8622693891d853cca1d6fa147" />
</form>

(lo marcado en negrita es el SID y como PHP lo inserta automaticamente)

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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 23:48.