Capítulo 5. Sesiones.

Capítulo 5. Sesiones.

Hasta el momento, cuando visitamos una página, los valores de las variables sólo se mantienen en esa página, pues el protocolo HTTP establece una conexión cada vez que solicita una página y al recibirla cierra dicha conexión.

Si queremos mantener el estado de una conexión deberemos usar las «sesiones», que nos permitirán mantener variables con sus correspondientes valores aunque visitemos varias páginas (siempre que las páginas tengan definida una sesión).

Las funciones que nos permiten manejar sesiones son las siguientes:

– session_start() - Inicializa una sesión y le asigna un identificador de sesión único. Si la sesión ya está iniciada, carga todas las variables de sesión.
Este código debe ser puesto antes de cualquier código HTML.

– session_register(variable) – Registra una variable de sesión.
– session_unregister(variable) – Elimina una variable de sesión.
– session_is_registered(variable) – Comprueba si una variable está registrada. Devuelve true en caso afirmativo y false en caso contrario.
– session_destroy() – Cierra una sesión.

Antes de seguir deberemos tener en cuenta que en el fichero de configuración «php.ini» deberemos tener el siguiente valor:

– register_globals = Off

Ahora vamos a ver un ejemplo en el que tendremos 3 ficheros con sesiones. Definiremos una variable de sesión en el primero, y la mostraremos en los tres ficheros.

Fichero principal: «prueba.php»

<?PHP
session_start();
$_SESSION[‘Variable’]=»ABCDEFGHIJKLM»;
?>
<HTML>
<BODY>
Página inicial…<BR>
<?PHP
$Valor=$_SESSION[‘Variable’];
echo(«La variable tiene el valor: $Valor<BR>»);
?>
<A HREF=»prueba2.php»>Segunda página</A>
</BODY>
</HTML>

Pantalla que nos aparecerá:

Capítulo 5. Sesiones.

Segundo fichero: «prueba2.php»

<?PHP
session_start();
?>
<HTML>
<BODY>
Esta es la otra página<BR>
<?PHP
$Valor=$_SESSION[‘Variable’];
echo(«Valor de la variable: $Valor<BR>»);
?>
<A HREF=»prueba3.php»>Tercera página</A>
</BODY>
</HTML>

Pantalla que nos aparecerá:

Capítulo 5. Sesiones.
Tercer fichero: «prueba3.php»

<?PHP
session_start();
?>
<HTML>
<BODY>
Esta es la tercera página<BR>
<?PHP
$Valor=$_SESSION[‘Variable’];
echo(«Valor de la variable: $Valor<BR>»);
?>
</BODY>
</HTML>

Pantalla que nos aparecerá:

Capítulo 5. Sesiones.
Obsérvese que sucede si eliminamos la llamada a la función «session_start()» en alguno de los tres ficheros. Entonces la variable en ese fichero no estará definida y no aparecerá ningún texto.

Las sesiones suelen utilizarse para realizar el control de acceso a una página o páginas, o en las páginas del tipo de «carrito de la compra».

Publicaciones Similares