Foros del Web » Programando para Internet » PHP »

Duda Teórica de Sesiones

Estas en el tema de Duda Teórica de Sesiones en el foro de PHP en Foros del Web. Al buscar sobre el tema de sesiones siempre encuentro esta frase "Si encuentra la sesion entonces la continua, sino, la crea". Entiendo este proceso lógico, ...
  #1 (permalink)  
Antiguo 18/08/2006, 18:07
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 11 años, 4 meses
Puntos: 70
Exclamación Duda Teórica de Sesiones

Al buscar sobre el tema de sesiones siempre encuentro esta frase

"Si encuentra la sesion entonces la continua, sino, la crea".

Entiendo este proceso lógico, lo que no entiendo es donde busca php la sesion cuando es pasada por URL cuando ya existe dicha sesion, mejor dicho cuando dice que si existe donde la busca???,la tengo que almacenar en una DB????.

Para aclarar-- no estoy hablando con cookies es para el paso con URL.

Gracias por la respuesta oportuna....
  #2 (permalink)  
Antiguo 18/08/2006, 18:49
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
"Si encuentra la sesion entonces la continua, sino, la crea".

Lo que hace php es crear un archivo de session en el servidor, para almacenar la informacion, si es que no existe, si no, le agrega datos.
  #3 (permalink)  
Antiguo 18/08/2006, 18:50
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 11 años, 4 meses
Puntos: 5
si revisas tu php.ini
esto queda almacenado en una carpeta llamada tmp (de tu servidor)

en la raiz
si es un linux
Código:
/tmp
si es un windows

Código:
c:\tmp
  #4 (permalink)  
Antiguo 18/08/2006, 18:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El uso por "defecto" de sesiones .. en el servidor cuando se abre una sesiòn nueva (se usò session_start() y el script que lo usó no le llegò ningùn SID propagado a el válido: ya sea por el URL o en una cookie .. eso es lo de menos), se crea una nueva sesiòn = nuevo archivo en tu servidor .. de nombre tipo sess_8897897sa9fd8798asd789f7 o algo así y en el directorio que defines en tu php.ini (lo puedes ver en un phpinfo() también) en la directiva: session.save_path (la cual tambièn puedes ajusar en tiempo de ejecuciòn por la funciòn de mismo nombre: session_save_path())

En esto de las "sesiones" de PHP .. hay dos conceptos base:
1) El "SID" Identificador ùnico de sesión .. el cual es el "enlace" entre los datos que quedan en el servidor (por su ID de sesiòn: session_id() lo puedes ver .. que sería físicamente ese "89789a78s7f89a7sdf" (MD5) que ves como parte del nombre del archivo creado en el servidor), con el "cliente" (tu navegador) .. Por eso es el "cliente" el que va informando de la sesión que tiene que seguir usando .. ahì es donde entra en juego el otro tema:

2) La propagación del SID.
El cual se puede propagar en el URL (manualmente totalmente o semi-automàtico por parte de PHP, el cual sobre-escribirá ciertos tag's HTML que se indican en url_rewrite_tags de tu php.ini) o en una Cookie que PHP creará para tal efecto si se le indica que así lo haga (session.use_cookies a ON) y mientras tu navegador acepte dicha cookie generada por PHP.

Y .. eso es todo .. realmente las "sesiones" de PHP no son ningùn misterio, pero hay que ver el lio que se monta con el tema muchas personas, los "mitos" (como el de que si PHP no propaga el SID en cookies lo harà por el URL .. lo cual no es técnicamente cierto en todos los casos y depende directamente de cierta combinación de directivas de PHP sobre sesiones y propagaciòn del SID).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 18/08/2006, 19:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por .php Ver Mensaje
si revisas tu php.ini
esto queda almacenado en una carpeta llamada tmp (de tu servidor)

en la raiz
si es un linux
Código:
/tmp
si es un windows

Código:
c:\tmp
Como acabo de comentar .. certeramente donde se almacenan las sesiones es donde definas en tu configuraciòn de PHP:

session.save_path

El hecho que "por defecto" así lo defina PHP .. no implica que siempre y en todos los casos sea así .. por eso es tan necesario -conocer la configuración de PHP sobre sesiones- (y de PHP en general)

De todo esto hace mención claramente en:
www.php.net/session

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 23:52.