Sesión en PHP: Como Crear, Modificar y Destruir una session
Sesión en PHP: Como Crear, Modificar y Destruir una sesión. El uso de sesiones es un factor clave para desarrollar plataformas en PHP y permite que la información de cualquier variable este presente entre todas las páginas de un sitio web o plataforma web.
En este artículo, tocaremos los puntos claves para manipular las sesiones en PHP. Por lo tanto, daremos inicio con responder preguntas básicas, descripciones y explicaciones en diferentes casos. Además, aprenderemos a crear, modificar y destruir sesiones en el lenguaje PHP.
Sesión en PHP: Como Crear, Modificar y Destruir una sesión
A continuación, responderemos preguntas relacionadas con las sesiones, descripciones de este tema.
¿Qué es una Sesión en PHP?
La sesión es una función que nos permite mantener la información en diferentes partes de nuestro sistema web y/o páginas web para identificar usuarios mientras estos navegan en un portal. Además, te daremos algunos ejemplos por ejemplo el Facebook, una vez iniciada la sesión podemos ir a diferentes partes de la página manteniendo nuestra sesión: por ejemplo visitando grupos de Facebook, páginas de Facebook, nuestro perfil de usuario, entre otras páginas.
Definición y sintaxis de la Sesión en PHP
session_start() crea una sesión o reanuda la actual basada en un identificador de sesión pasado mediante una petición GET o POST, o pasado mediante una cookie y está disponible en las siguientes versiones (PHP 4, PHP 5, PHP 7).
Descripción según su página oficial
session_start ([ array $options = [] ] ) : bool
Iniciar una Sesión en PHP
Para iniciar una sesión en PHP debemos de declarar al inicio del archivo donde queremos que actué la sesión.
Ahora, cuando deseamos interactuar con variables de sesión en nuestro proyecto, necesitamos asegurarnos que la sesión este declarado e iniciado.
La Función session_start.
Esta función es imprescindible y muy importante para trabajar con sesiones y lo verás más a menudo al inicio de cada documento. Veamos un ejemplo de aplicación.
<?php // Iniciar una session session_start(); // A continuación, podemos manipular la sesion iniciada ?>
¿Cómo Crear una Variable de Sesión?
Primeramente tenemos que declarar la función session_start(); una vez que una sesión este iniciada por defecto, se inicializa con un array vacío, y podemos crear variables de sesión.
A continuación, veremos un script de ejemplo que muestra cómo iniciar la sesión y también de asignar nombre a las variables de sesión. Sin embargo, también el ejemplo muestra la impresión de las variables de sesión creada y los usos que podemos darle.
<?php // iniciar una sesión session_start(); // inicializar las variables de sesión $_SESSION['NombreProducto'] = 'laptop'; $_SESSION['cantidad'] = '1'; // acceder o imprimir a las variables de sesión echo $_SESSION['NombreProducto']; echo $_SESSION['cantidad']; ?>
¿Cómo Modificar una Variables de Sesión?
En el ejemplo anterior, hemos creado la variable $_SESSION['cantidad']
y lo hemos establecido. Sin embargo, en este ejemplo, lo hemos establecido a 1
, siempre y cuando se encuentre declarado.
Ahora, la idea es modificar la variable de sesión, para lograr tal objetivo incrementaremos el valor de la variable en 1. Usando la siguiente instrucción «++$_SESSION['contador'];
«.
Una vez implementado el script observaras que cada vez que la página se actualiza, la variable de sesión se incrementara en 1 y así sucesivamente. Veamos el ejemplo.
<?php // Iniciamos la sesion session_start(); // Condicional para asignar una variable, caso contrario incrementarla if (!isset($_SESSION['contador'])) { // Asignamos el valor 1 a la variable $_SESSION['contador'] = 1; } else { // Incrementamos la variable de sesion en 1 ++$_SESSION['contador']; } // Imprime la cantidad de la variable de sesion echo $_SESSION['contador']; ?>
¿Cómo Borrar Variables de Sesión?
El uso de las variables de sesión se da en muchos aspectos, por ejemplo: Login de usuarios, venta de productos, entre otros usos. Sin embargo, borrar variables de la sesión en PHP es algo muy importante, sobre todo en portales donde venden productos y portales que ofrecen servicios bajo un login de usuarios.
Vamos a suponer que tenemos una página de comercio electrónico y el cliente adquiere un producto, tanto el nombre del producto hemos ido acumulando en una variable de sesión llamada ‘NombreProducto
‘, y una vez el cliente realiza el pago final esa variable debe ser destruida para que pueda volver a comprar desde cero. Con este proceso evitamos que se acumulen los nuevos artículos con los productos del pedido anterior. Veamos el ejemplo de eliminación usando la función «unset
«.
<?php // Borrar la variable de sesion NombreProducto unset($_SESSION['NombreProducto']); ?>
Un proceso muy sencillo que podemos usar sin complicaciones, «unset
» nos permite destruir variables específicas bajo un nombre, para este ejemplo le hemos indicado que elimine la variable de sesión llamado ‘NombreProducto
‘.
Con este método solo eliminamos el nombre de la variable de sesión del producto, más no el login de usuario. A continuación, veremos un ejemplo para comprobar si existe dicha variable.
<?php if (isset($_SESSION['NombreProducto'])){ // Imprimira si existe la sesion. }else{ // Imprimira si no existe la sesion } ?>
El código anterior imprimirá en «false
«, es decir la sesión ya no existe porque ha sido eliminado con unset.
Ejemplo completo para borrar una variable de sesión
<?php // Iniciamos la session session_start(); // inicializar una variable de sesión $_SESSION['NombreProducto'] = 'laptop'; // anular el conjunto de una variable de sesión unset($_SESSION['NombreProducto']); ?>
Borrar toda la sesión en PHP
Hasta ahora hemos visto como manipular una variable de sesión. A continuación, veremos cómo puedes destruir una o varias sesiones por completo. Líneas arriba nos enfocamos en la función unset
, y la usamos para eliminar variables de sesión específicas (Nombre de sesión). Sin embargo, si deseas eliminar toda la información relacionada con la sesión actual, puedes usar la función llamada session_destroy
.
Veamos un ejemplo de uso de la función session_destroy
<?php // Iniciamos la sesion session_start(); // Destruir todo en esta sesión session_destroy(); ?>
Esta función llamada session_destroy
elimina todo lo que se almacena en la sesión actual, es decir si tuviéramos varias variables de sesión incluida el login de usuarios serán eliminados inmediatamente después de ejecutar dicha función. Por lo tanto, la variable $_SESSION
quedara vacía para futuras peticiones.
El uso de esta función session_destroy
se da con más frecuencia cuando el usuario cierra sesión y sale del portal web o sistema web.
Conclusión
Las sesiones en PHP marcan un hito importante en cada desarrollo de software web. En este artículo, vimos la descripción, el manejo de las variables de sesión con varios ejemplos.
Además, las sesiones es el mecanismo en el cual tu login de usuario permanece en el navegador web, por ejemplo: Facebook, Gmail, Google entre otras plataformas que manejan sesiones de usuarios y mediante esa sesión podemos interactuar con estas plataformas.
Espero que esta breve explicación les sirva para aplicarlo en sus proyectos web. Además, siéntete libre de comentar el artículo.