Ver Mensaje Individual
  #9 (permalink)  
Antiguo 31/08/2006, 09:38
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por Carxl Ver Mensaje
Listo ya entiendo la necesidad de propagar la session, pero me surgi{o otra duda.

Esta session_id, toca guardarla en una DB??? O cómo identifica que usuario entra???? y que pasa si ya existe??, me imagino que tocará guardar la session en una DB no??, pues si se quiere manejar por URL??
No, .. es PHP quien gestiona el SID.

Es PHP quien genera un SID cada vez que haces un "session_start()" .. pero antes de generar uno nuevo "mira" si por una cookie (de ciertas características) o por el URL llega un SID propagado al script en cuestión. Si llega uno propagado (SID) válido (que la sesión exista y esté activa todavía en el servidor) .. continua usandolo y si no existe, .. la crea.

Luego ese "SID" es pasado al cliente desde PHP por una cookie o por el URL y así se continua usando el mismo por el tiempo que dure la sesión. Tu directamente (con el uso por defecto de sesiones) no gestionas el SID ni lo almacenas en ningún sitio. Es PHP el que genera por "sesión" un archivo físicamente en el servidor (donde se indique en session.save_path) de nombre tipo sess_8979adsf8789asdf .. donde ese 097asdf8a987f98a es el "ID" de sesión. Eso es lo que PHP busca para ver si existe una sesión en curso (bueno .. no sólo que exista el archivo implica que la sesión está en curso .. por qué está el concepto de "garbage" .. o archivos que ya expiró la sesión y se marcan para ser borrados posteriormente .. ).

Un saludo,

PD: .. no hables de "sesion_id" .. el concepto es: SID en general a lo que te refieres.
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.