Cómo crear y usar sesiones en PHP

Que son las sesiones

Las sesiones son las mejor forma de almacenar la información de los visitantes. Ya que con las cookis aparte de tener mala fama por ser “inseguras”, el usuario puede desactivarlas de su navegador, mientras que las sesiones no se pueden desactivadas. Además las cookies son almacenadas en el PC del visitante, mientras que las sesiones son guardadas en neustro servidor, lo que nos permite almacenar mucha mayor información y tener un acceso mas fácil a ellas.

Nota: Para que las sesiones funcionen, todas las paginas por las que queramos que corra deben tener la extensión .php, si hacemos que corra por otra pagina que no sea php las sesiones se perderán al abandonar el archivo php.

session_start()

Con esta función, lo que aremos es comprobar si existe alguna sesión abierta, y si no hay ninguna, se abrirá una.
Es una buena idea incluir esta línea en cada script ya que si la sesion ya existe no abrirá otra nueva, sino que se limitará a abrir toda la información asociada a dicha sesión.

session_register()

Esta función nos servirá para registrar una variable de sesión

Ejemplo:
$nombre = “Giss”;
Sessión_register(“nombre”);

Nota: No es necesario poner el símbolo $ a la hora de registrar la variable de sesión

Cuando las variables están registradas, son enviadas a través de las páginas .php hasta que se termine la sesión  o nosotros programemos manualmente el cierre de la sesión.

Se puede registrar mas de una variable a la vez, separándolo por comas, por ejemplo:
Session_register(“nombre”,”apellido”,”direccion”);

Otra cosa a tener en cuenta es que este tipo de variables no pueden pasarse por el método POST ni GET.

 

session_is_register()

Esta función nos servirá para saber si una variable esta registrada o  no.
Su sintaxis es así:
$registro=session_is_register(“nombre”);

En caso de que sea verdadero devolverá true y de lo contrario devolverá false.

Cómo cerrar las sesiones

Cerrar una sesión equivale a “desregistrar” todas las variables que contiene. Para desregistrar una variable usamos la sentencia session_unregister(), lo malo de esta sentencia es que solo se puede desregistrar una sola variable por cada vez.

Para desregistrar todas las variables de una sola vez podemos utilizar la función session_unset().

Una vez desregistradas las variables solo nos falta terminar la sesión con la función session_destroy().

Vamos a realizar un ejemplo con todo lo visto hasta ahora sobre las sesiones:

Crearemos una sesión, registraremos una variable y la pasaremos  a través de tres paginas distintas.
<! – sesion1.php ->
<?
session_start();
$nombre= “Jaime”;
session_register(“nombre”);
echo “ Bienvenido a mi web, $nombre”;
<a href = "sesion2.php"> siguiente pagina </a>

?>

<! – sesion2.php ->
<?
session_start();
echo “ Bienvenido a mi web de nuevo, $nombre”;
sesion_unregister(“nombre);
<a href = "sesion3.php"> siguiente pagina </a>
?>

<! – sesion3.php ->
<?
session_start();
echo “ Bienvenido a mi web de nuevo otra vez, $nombre”;
session_destroy();
?>

Explicación:

Tenemos 3 archivos con una sesion
En el archivo 1: creamos la sesión y registramos la variable nombre con session_register() y lo pasamos al archivo 2 mediante un enlace
En el archivo 2: usamos la variable creada en el archivo 1 y después desregistramos la variable con session_unregister()
En el archivo 3: vemos que a pesar de que la sesion sigue abierta no le llega la variable nombre ya que la desregistremos en el archivo2, y finalmente cerramos la sesion con session_destroy().

Dentro de:
Siguiente:
Atras:

Si tienes alguna duda sobre este tutorial o necesitas algun tipo de material dejalo en el foro de nuestra web.

Ir a la pagina principal

Copyright Tutoriales Original Design - Privacidad