En este artículos vamos a realizar una introducción completa a session en PHP: una de las formas de guardar información en la web. Este artículo forma parte de la serie Session, Cookie y Storage: tecnologías que permiten a los sitios web recordar preferencias del usuario, el estado de la sesión o datos importantes mientras navegas.
En el desarrollo web y especialmente en PHP, las sesiones (session) son un mecanismo que permite almacenar información temporal sobre un usuario mientras navega por un sitio web. A diferencia de las cookies, en PHP los datos de sesión no se almacenan en el navegador del usuario (aunque el identificador de sesión sí pueda guardarse en una cookie) y suelen mantenerse en el servidor, ofreciendo más seguridad y control. Las sesiones en PHP son especialmente útiles para login de usuarios, niveles de acceso y mantener datos temporales sin exponerlos directamente en el cliente.
Sesiones en PHP
En esta introducción a session con PHP, aprenderemos que las sesiones son una herramienta fundamental para mantener información entre distintas páginas. Cada usuario obtiene un ID de sesión único (generado automáticamente), y los datos se almacenan en el servidor. Esto lo convierte en un proceso bastante seguro.
Introducción a Session
Para iniciar una sesión en PHP es muy importante que todas las páginas declaren el session_start(); Esta instrucción tiene que ir antes de enviar cualquier salida al navegador (espacios, texto, HTML, etc.). En caso contrario, lanza el famoso error de “headers already sent” .
<?php
// Iniciar la sesión
session_start();
// Datos por defecto de una sesión
$_SESSION['backGroundColor'] = 'Green';
$_SESSION['Idioma'] = 'es';
?>
Una vez declarada la sesión con session_start(); dispondremos de la variable global $_SESSION, la cual es un array asociativo donde podemos guardar cualquier tipo de información del usuario. Esta información está disponible mientras el navegador esté abierto o hasta que el servidor la elimine según su configuración.
Comprobar acceso y niveles
Como vemos en esta introducción a session, en PHP las sesiones son extremadamente útiles para el login de usuarios y mantener su identificación a lo largo de la navegación por la web. Una vez identificado un Administrador, podemos darle acceso a datos privilegiados con un simple condicional y mientras dure la sesión.
<?php
session_start();
if($_POST['User'] == 'Juan' && $_POST['Password'] == 'Admin') {
echo "Bienvenido, administrador ";
$_SESSION['Level'] = 'Admin';
} else {
echo "Acceso denegado";
}
if ($_SESSION['Level'] == 'Admin') {
// Datos que sólo verá el Admin
}
?>
IMPORTANTE: Esto es sólo un ejemplo explicativo simple que está expuesto a grandes riesgos de seguridad. La implementación de un Login de usuario requiere técnicas más seguras como filtro de variables y encriptación de contraseñas.
Destruir una sesión
Aunque la sesión suele destruirse automáticamente al cerrar el navegador, debemos permitir a los usuarios «Desconectarse» y para ello debemos destruir nosotros la sesión con estas instrucciones.
<?php
session_start();
session_unset();
session_destroy();
?>
Este proceso es útil para logout de usuarios o limpiar datos temporales.
- session_unset(): Limpia la variable de $_SESSION
- session_destroy(): Destruye la sesión
Introducción a Session
En esta introducción a session en PHP, hemos visto que se trata de una herramienta esencial para mantener la información del usuario entre distintas páginas de una aplicación web. Gracias a las sesiones, podemos guardar datos como preferencias, configuraciones o incluso la identidad de un usuario autenticado, sin necesidad de pasarlos manualmente en cada petición. Su funcionamiento se basa en un identificador único que PHP asigna a cada sesión, vinculando al usuario con los datos almacenados en el servidor.
Además, las sesiones resultan especialmente útiles en la gestión de logins y niveles de acceso, ya que nos permiten mantener a un usuario identificado durante toda su navegación. Por supuesto, es importante recordar que, aunque PHP simplifica mucho su uso, debemos aplicar buenas prácticas de seguridad en el manejo de contraseñas y variables de sesión. Con esta introducción a session, y mediante un correcto inicio y cierre de sesión, podremos lograr un control robusto y eficiente sobre la interacción de los usuarios en nuestra web.
¡ Espero que este artículo sea de vuestro interés !