Skip to content

2 B Ejemplo Sesiones

UD5 3b. Ejemplo con sesiones

<!doctype html>
<html lang="es">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tema 3 - Usando Sesiones</title>
</head>

<body style="background-color:rgb(246,243,229);">

    <h2>Usando Sesiones</h2>

    <?php
    /*
      Alumno: [Nombre Apellido1 Apellido2]
      Fecha: [DD/MM/AAAA]
      Finalidad: Ejercicios UD5 - Usando sesiones en PHP
    */

    // Inicia una nueva sesión o recupera la sesión existente
    session_start();

    // --------------------
    // Ejemplo 1: Crear y mostrar una variable de sesión
    // --------------------

    // Crear una variable de sesión llamada 'newsession' y asignarle un valor
    $_SESSION["newsession"] = "Mi primera sesión";

    // Mostrar el valor de la variable de sesión 'newsession'
    echo "<p><strong>Valor de la sesión 'newsession':</strong> " . $_SESSION["newsession"] . "</p>";

    // --------------------
    // Ejemplo 2: Crear, mostrar y eliminar una variable de sesión
    // --------------------

    // Crear otra variable de sesión llamada 'sessiontwo'
    $_SESSION["sessiontwo"] = "Hello, I am Rafa";

    // Mostrar el valor de 'sessiontwo' antes de eliminarla
    echo "<p><strong>Antes de borrar 'sessiontwo':</strong> " . $_SESSION["sessiontwo"] . "</p>";

    // Eliminar la variable de sesión 'sessiontwo' utilizando unset()
    unset($_SESSION["sessiontwo"]);

    // Intentar mostrar la variable de sesión después de eliminarla (generará un aviso)
    echo "<p><strong>Después de borrar 'sessiontwo':</strong> " . ($_SESSION["sessiontwo"] ?? "La sesión ha sido eliminada") . "</p>";

    // --------------------
    // Ejemplo 3: Contador de visitas utilizando sesiones
    // --------------------

    // Verificar si la variable de sesión 'visitas' ya existe
    if (isset($_SESSION['visitas'])) {
        // Si existe, incrementar el contador
        $_SESSION['visitas']++;
    } else {
        // Si no existe, inicializarla con 0
        $_SESSION['visitas'] = 0;
    }

    // Mostrar el número de visitas
    echo "<p><strong>Número de visitas:</strong> " . $_SESSION['visitas'] . "</p>";

    // --------------------
    // Ejemplo 4: Almacenar la fecha y hora de cada visita
    // --------------------

    // Añadir la fecha y hora actuales al array de visitas
    $_SESSION['visitasFecha'][] = date('d-m-Y H:i:s');

    // Mostrar todas las fechas de visitas almacenadas
    echo "<p><strong>Fechas de visitas:</strong></p>";
    echo "<ul>";
    foreach ($_SESSION['visitasFecha'] as $fecha) {
        echo "<li>" . $fecha . "</li>";
    }
    echo "</ul>";

    ?>
</body>

</html>

Documentación

1. Inicio de Sesión

session_start();
  • Inicia una sesión o recupera una existente. Es obligatorio antes de usar variables de sesión.

2. Crear y Mostrar Variables de Sesión

$_SESSION["newsession"] = "Mi primera sesión";
echo "<p><strong>Valor de la sesión 'newsession':</strong> " . $_SESSION["newsession"] . "</p>";
  • Crea una variable de sesión newsession y la muestra en pantalla.

3. Eliminar Variables de Sesión

unset($_SESSION["sessiontwo"]);
echo "<p><strong>Después de borrar 'sessiontwo':</strong> " . ($_SESSION["sessiontwo"] ?? "La sesión ha sido eliminada") . "</p>";
  • Elimina la variable sessiontwo y verifica si existe.

4. Contador de Visitas

if (isset($_SESSION['visitas'])) {
    $_SESSION['visitas']++;
} else {
    $_SESSION['visitas'] = 0;
}
echo "<p><strong>Número de visitas:</strong> " . $_SESSION['visitas'] . "</p>";
  • Incrementa el contador de visitas cada vez que el usuario visita la página.

5. Almacenar Fechas y Horas de Visitas

$_SESSION['visitasFecha'][] = date('d-m-Y H:i:s');
  • Almacena cada fecha y hora de visita en un array de sesiones.

6. Mostrar Fechas de Visitas

foreach ($_SESSION['visitasFecha'] as $fecha) {
    echo "<li>" . $fecha . "</li>";
}
  • Muestra todas las fechas y horas de visita almacenadas en la sesión en forma de lista.

Notas:

  1. Uso de unset() para eliminar correctamente las sesiones.
  2. Verificación de existencia de variables de sesión con el operador ??.
  3. Manejo seguro de arrays para evitar errores o avisos en la ejecución.