Para cerrar una sesión usamos el método session_destroy()
Debugging
¿Cómo hacer debugging en PHP?
La función dd() en PHP
Cookies y sesiones
¿Qué son las cookies?
Trabajando con cookies
¿Qué son las sesiones?
Trabajando con sesiones
Manejo de excepciones
¿Qué son las excepciones?
Implementando try/catch
Revisando los métodos de las excepciones
Crea tus propias excepciones
Trabajando con fechas
¿Cómo trabajar con fechas en PHP?
Fechas con funciones vs. fechas con POO
Funciones para fechas
Más funciones para fechas
Expande tu arsenal de funciones para fechas
Modularización
Modularización del código
Namespaces
PSR-4 y Composer
Front Controller
El archivo .htaccess
Traits
Cierre
¿Quieres aprender sobre bases de datos?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 9
Preguntas 1
Para cerrar una sesión usamos el método session_destroy()
Les dejo un TIPs por si les pasa en algún momento y es que con respecto al uso de sesiones, después de la etiqueta <?php la siguiente linea inmediata tiene que ser session_start() y no un espacio en blanco, dado que en algunos servidores web públicos eso daría error
Son muy similares a las cookies, pero estas nos permiten implementar sistemas de autenticacion dentro de nuestros sition web. Una sesion es una cookie temporal y encriptada que estrá viva y contendrá toda la informacion del usuario mientras esté activa
Las sesiones se destruyen en cuanto hacemos logout. Con las sesiones podemos tener informacion especifica de un usuario para pesonalizar el contenido que le mostramos
Con la funcion session_start() podemos decirle a PHP que queremos empezar a trabajar con sesiones, siempre hay que incluirla en todos los archivos en donde queremos usar sesiones
Una vez que tenemos una sesion iniciada, podemos empezar a escribir y obtener datos a traves de la variable superglobal $_SESSION (Un arreglo de datos unico por usuario), cuando cerremos la sesion estos datos serán borrados
Debemos tener cuidado de no usar dos veces la funcion session_start, ya que esto puede provocar un error
login.php:
session_start();
$users = [
array(
"username" => "Retax",
"email" => "[email protected]"
),
array(
"username" => "Axel",
"email" => "[email protected]"
)
];
$user = $_GET["user"] ?? "";
$_SESSION["id"] = $user;
$_SESSION["username"] = $users[$user]["username"];
$_SESSION["email"] = $users[$user]["email"];
index.php
<?php session_start(); ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<?php if( isset( $_SESSION["id"] ) ): ?>
<h1>Hola! <?= $_SESSION["username"] ?> !</h1>
<h2>Tu correo es <?=$_SESSION["email"] ?></h2>
<?php else: ?>
<h1>No haz iniciado sesión 😔</h1>
<?php endif; ?>
</body>
</html>
logout.php
<?php
session_start();
session_destroy();
echo "<p> Finalizando la sesion, sesion finalizada</p>" ;
Codigo de la clase:
index
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Perfil</title>
</head>
<body>
<?php if(isset($_SESSION['id'])): ?>
<h1>Hola <?= $_SESSION["username"] ?></h1>
<?php else: ?>
<h1>No estás logueado</h1>
<?php endif; ?>
</body>
</html>
login
<?php
session_start();
$users = [
array(
"username" => "Jorge",
"email" => "[email protected]"
),
array(
"username" => "MR. Michi",
"email" => "[email protected]"
),
];
$user = $_GET["user"] ?? "";
echo "El usuario elegido es " . $users[$user]["username"];
$_SESSION["id"] = $user;
$_SESSION["username"] = $users[$user]["username"];
$_SESSION["email"] = $users[$user]["email"];
logout
<?php
session_start();
session_destroy();
?>```
La manera en la que se crean las sesiones antes me parecía muy enredado, gracias a esta clase lo he entendido mejor
Para trabajar con sesiones en PHP, primero debes iniciar la sesión en la página en la que deseas almacenar datos. Puedes hacer esto utilizando la función session_start(). Una vez que se ha iniciado la sesión, puedes almacenar datos en la variable global $_SESSION.
Para finalizar una sesión en PHP, puedes utilizar la función session_destroy(). Esto eliminará todos los datos almacenados en la sesión y cerrará la sesión del usuario.
Outstanding!!!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?