Manejo básico de sesiones en PHP: creación y destrucción.
Clase 6 de 22 • Curso de PHP: Cookies, Sesiones y Modularización
Resumen
¿Cómo funcionan las sesiones en PHP?
Trabajar con sesiones en PHP es una parte fundamental para manejar la autenticación de usuarios y la personalización de contenido en un sitio web. Las sesiones te permiten almacenar datos del usuario en el servidor, haciendo uso de una variable superglobal para mantener el estado de la aplicación. A continuación, te explicamos cómo puedes implementar sesiones de forma básica en PHP.
¿Cómo crear un sistema básico de autenticación con sesiones?
Para crear un sistema básico de autenticación con sesiones utilizando PHP, necesitas seguir una serie de pasos simples. Aunque lo ideal es trabajar con una base de datos con usuarios que incluya un sistema de autenticación completo, estos pasos te permitirán comenzar con una base sólida.
-
Estructura del Proyecto:
- Crear una carpeta llamada
sesiones
. - Dentro de esta carpeta, crear un archivo
index.php
que servirá como la página principal. - Crear un archivo
login.php
para manejar el proceso de login.
- Crear una carpeta llamada
-
Página Principal (index.php):
- Este archivo debe ser capaz de detectar si un usuario ha iniciado sesión o no, y mostrar un mensaje correspondiente.
<?php
session_start();
if (isset($_SESSION['id'])) {
echo "<h1>Hola, " . $_SESSION['username'] . "</h1>";
} else {
echo "<h1>No has iniciado sesión ☹</h1>";
}
?>
- Logueo de Usuarios (login.php):
- Simular una base de datos con un arreglo de usuarios.
- Permitir loguearse a través de la URL por simplicidad.
<?php
session_start();
$users = [
['username' => 'retaxito', 'email' => 'retaxito@noesmiemail.com'],
['username' => 'Mr. Michi', 'email' => 'mrmichi@noesmiemail.com']
];
$user = $_GET['user'] ?? null;
if ($user !== null && isset($users[$user])) {
$_SESSION['id'] = $user;
$_SESSION['username'] = $users[$user]['username'];
$_SESSION['email'] = $users[$user]['email'];
echo "El usuario elegido es " . $users[$user]['username'];
} else {
echo "Usuario no encontrado.";
}
?>
¿Cómo se destruye una sesión?
Cerrar sesiones es esencial para garantizar que los usuarios puedan salir de su cuenta de manera segura al finalizar su interacción con el sistema. Este proceso en PHP es extremadamente sencillo.
- Crear el archivo
logout.php
:- Este archivo se encarga de destruir la sesión cuando el usuario decide salir.
<?php
session_start();
session_destroy();
?>
- Probando el cierre de sesión:
- Al acceder a este archivo, todas las sesiones se destruyen y el usuario es desconectado.
Implementar estos conceptos te proporciona un sistema de gestión de sesiones básico, el cual te sienta las bases para un sistema más robusto que incluirá bases de datos y protección de seguridad avanzada en el futuro. ¡Continúa practicando y explorando para refinar tus habilidades!