No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Trabajando con sesiones

6/22
Recursos

Aportes 9

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

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

🐘 Las sesiones en PHP son una forma de almacenar información (en variables) que se puede utilizar a través de múltiples páginas. A diferencia de las cookies, la información de la sesión se almacena en el servidor. El ejemplo que proporcionaste muestra un uso básico de las sesiones para manejar el inicio de sesión y cierre de sesión de usuarios en una aplicación web. \*\*sesiones/index.php\*\* Este archivo es la página principal (perfil) de tu aplicación. Al principio, se llama a `session\_start()`, que es esencial para iniciar el uso de las sesiones en PHP. Si no se llama a esta función, no podrás acceder ni modificar las variables de sesión. Luego, el código verifica si existe un ID de sesión (`$\_SESSION\["id"]`). Si el ID existe, significa que el usuario ha iniciado sesión, y muestra un mensaje de bienvenida junto con el nombre de usuario y el correo electrónico almacenados en la sesión. Si no existe un ID de sesión, muestra un mensaje indicando que el usuario no ha iniciado sesión. \*\*sesiones/login.php\*\* Este archivo es el encargado de "iniciar sesión". Primero, se inicia la sesión con `session\_start()`. Luego, hay una lista de usuarios (en este caso, una matriz de usuarios). El código obtiene un parámetro `user` de la URL (a través de `$\_GET\["user"]`) que indica qué usuario ha iniciado sesión. El script establece las variables de sesión `id`, `username` y `email` basadas en la información del usuario seleccionado. Estas variables de sesión estarán disponibles en todos los scripts de PHP que también llamen a `session\_start()`. \*\*sesiones/logout.php\*\* Este archivo se encarga de "cerrar sesión". Al igual que los otros scripts, comienza con `session\_start()`. Luego, llama a `session\_destroy()`, lo que elimina todas las variables de sesión y termina la sesión actual. Después de ejecutar este script, el usuario ya no estará "logueado" y, si regresa a `index.php`, verá el mensaje que indica que no ha iniciado sesión. En resumen, este conjunto de scripts muestra un flujo básico de autenticación de usuarios utilizando sesiones en PHP. Las sesiones permiten llevar un seguimiento del estado del usuario a través de diferentes páginas, lo que es fundamental en muchas aplicaciones web.

Que son las sesiones

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();
?>```


:D!!!! jajaja me dio como emoción la clase jajajajajaja xD!!

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!!!