Foros del Web » Programando para Internet » PHP »

Php Sesiones y SID

Estas en el tema de Php Sesiones y SID en el foro de PHP en Foros del Web. Realmente tnego un ligero o sobrebio cacao mental con el tema de las sesiones En teoría por loque se ve las sesiones en php se ...
  #1 (permalink)  
Antiguo 21/04/2010, 19:15
 
Fecha de Ingreso: noviembre-2007
Mensajes: 498
Antigüedad: 16 años, 5 meses
Puntos: 20
Exclamación Php Sesiones y SID

Realmente tnego un ligero o sobrebio cacao mental con el tema de las sesiones

En teoría por loque se ve las sesiones en php se destruyen al cerrar la página pero hay al parecer un mñetodo para que aunque se cierrer la página esta sesión se vuelva a cargar

si suponemos que creamso una sesion en php tipo :

Código PHP:
session_start();

if (
$_SESSION['prueba']=="")
{
$_SESSION['prueba']="ok";
}
else
{
$_SESSION['prueba']="bad";
}

print 
"".$_SESSION['prueba'].""

Como dispongo en el ejemplo cuando cargo la página , se mostrará por defecto el valor bad

Si cierro el navegador se me genera otra sesion pero y me vuelve a poner bad y es porque no se carga la anterior sesion creada , es decir si al cargar la página se crea la sesion de php 123 si cierro elnavegador como cargo otra vez esa sesion la 123 con sus datos correspondientes


Saludos a todos , Gracias
  #2 (permalink)  
Antiguo 21/04/2010, 21:37
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Php Sesiones y SID

la sesión NO se destruye al cerrar o salir de la página, simplemente cuando llamas a session_start() le indicas al modulo session de php que las lea, porque las mismas se guardan en un archivo en el servidor (esto se puede cambiar)

las sesiones pueden ser automáticas (se configura desde php.ini) pero no es recomendable, porque si se desea cambiarle el nombre a la cookie (o a la sesión), implica usar de nuevo session_start() para re-leerlas

por defecto las sesiones usan una cookie (almacenadas en el navegador cliente) cuyo nombre es el session_name y en el valor esta el SID, php permite adaptar el modulo session para evitar el uso de las cookies, pasando el SID por get, pero esto es un método arcaico y prácticamente ya no se usa.

session_start() sirve para indicarle a php que lea y cargue los datos de la sesión con respecto a la cookie correcta, es por ello que se requiere llamarlo cada vez que se intenta obtener y editar las variables de sesión; si especificas un nombre de sesión especifico, debes llamar a session_name() antes de session_start()

como las cookies tienen caducidad, es obvio que al caducar la cookie la sesión caduque, esto puede modificarse.

Problema común: si tu navegador tiene las cookies desactivadas, obviamente los datos de sesión se "perderán" (o mejor dicho: el navegador no envía la cookie y php obviamente no puede leer los datos de sesión)

espero que esto te aclare un poco, si no pregunte

Etiquetas: sesiones
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 06:17.