Sesiones en PHP
Las sesiones en PHP
son una forma de mantener ciertos datos de un visitante entre los diversos
accesos una web. De esta forma se pueden crear aplicaciones donde se le muestra
al usuarios datos personalizados de acuerdo a las preferencias o acciones del
usuario.
Las sesiones se
manejan internamente por un identificador llamado SID (Session ID) el cual esta
asociado a una única sesión y que ayuda a identificar el contenido de la sesión
actual. Esta variable se propaga automaticamente a traves de Cookies o mediante
URL.
Manejo de sesiones en PHP
Todas la variables
de sesión son accesibles mediante arrays en la variable global $_SESSION.
Adicionalmente ofrece una serie de funciones que permiten manejar
detalladamente las sesiones de manera sencilla:
- session_start inicializa una sesión y crea el identificador de sesión.
- session_id devuelve el identificador de la sesión actual.
- session_regenerate_id genera un nuevo identificador para la sesión actual.
- session_unset limpia todas la variables de sesión registradas.
- session_destroy elimina todas la variables de sesión registradas.
Crear variables de Sesión
Si deseamos crear variables
de sesión para que se puedan utilizar a través de diferentes páginas
inicializamos el manejo de sesiones con al función session_start y luego guardamos el dato deseado como variable de
sesión utilizando la variable global $_SESSION.
- // home.php
- session_start();
- $_SESSION["country"] = "Peru";
Podríamos mejorar
el código si verificamos la existencia de la variable de sesión, si no existe
entonces le asignamos un valor.
- // home.php
- session_start();
- if (!isset($_SESSION["country"])) {
- $_SESSION["country"] = "Peru";
- }
Recuperar variables de Sesión
En las páginas
siguientes podríamos acceder a las variables de sesión utilizando:
- // user.php
- session_start();
- echo $_SESSION["country"];
Podríamos utilizar
las variables de sesión para verificar si se han hecho acciones previas por
parte del usuario, como haber seleccionado tu país por ejemplo si aún no lo ha
hecho lo redireccionamos a la página inicial.
- // user.php
- session_start();
- if (!isset($_SESSION["country"])) {
- header("Location: home.php");
- }
- echo $_SESSION["country"];
Eliminando datos de sesión
Si deseamos
eliminar una determinada variable de sesión le asignamos un valor vacío.
- // clear.php
- session_start();
- $_SESSION["country"] = "";
Ahora si deseamos
eliminar todas las variables de sesión lo hacemos de la siguiente forma:
- // clear.php
- session_start();
- session_unset();
- session_destroy();
Depurando Sesiones
Si se desea depurar
las variables de sesión con sus respectivos valores se puede utilizar la
función print_r.
- // debug.php
- session_start();
- print_r($_SESSION);
Para mas
información acerca del manejo y de las funciones disponibles para el manejo de
sesiones pueden leer PHP:
Session Functions. Para concluir les dejo los archivos fuente de este
artículo para que puedan hacer sus pruebas.
No hay comentarios:
Publicar un comentario
Ingresa tu comentario asertivo =)