Skip to content

3 Estado. COOKIES

UD 5 2. Cookies

RA 4 "Desarrolla aplicaciones Web embebidas en lenguajes de marcas analizando e incorporando funcionalidades según especificaciones.

*  c) Se han utilizado «cookies» para almacenar información en el cliente Web y para recuperar su contenido.

1732772366226

Seguro que, en algún momento, te topas con esta imagen...

Cookies en PHP 📝

  • Las cookies son pequeños archivos que se almacenan en el navegador del usuario.
  • Se gestionan en PHP mediante el array global $_COOKIE. Todo lo que se guarde en este array estará disponible en futuras visitas del cliente.
  • Sin embargo, no es obligatorio que el cliente las acepte o las almacene. 🛑

1732772211843

Link

Limitaciones de las Cookies:

  • Máximo 20 cookies por dominio .
  • Máximo 300 cookies en total en el navegador.
  • Cada cookie no debe superar los 4KB de tamaño.

Para crear una cookie en PHP, utilizamos la función setcookie().

setcookie(nombre, valor, expiración, ruta, dominio, seguro, httponly);
  • nombre: El nombre de la cookie.
  • valor: El contenido que quieres almacenar.
  • expiración: La fecha y hora en que la cookie caducará (en formato de timestamp ).
  • ruta: Define qué partes del sitio web pueden acceder a la cookie ("/" para todo el sitio).
  • dominio: El dominio en el que será accesible.
  • seguro: Si es true, solo se transmitirá en conexiones HTTPS.
  • httponly: Si es true, solo estará disponible para HTTP y no para JavaScript.

Ejemplos prácticos 🎮


<?php
// Guardar el puntaje del jugador en una cookie válida por 1 día
setcookie("puntaje_jugador", "1500", time() + 86400, "/");

// Acceder al puntaje
if (isset($_COOKIE['puntaje_jugador'])) {
    echo "Tu puntaje actual es: " . $_COOKIE['puntaje_jugador'];
}
?>

// Modificar el nivel alcanzado por el jugador
setcookie("nivel_jugador", "2", time() + 86400, "/");

// Cambiar el nivel a 3
setcookie("nivel_jugador", "3", time() + 86400, "/");

echo "Has avanzado al nivel: " . $_COOKIE['nivel_jugador'];

// Para eliminar la cookie, se establece una fecha de expiración en el pasado
setcookie("puntaje_jugador", "", time() - 3600, "/");

echo "Puntaje reiniciado.";

// Guardar configuración de volumen del juego (solo válida durante la sesión)
setcookie("volumen_audio", "80", 0, "/");

if (isset($_COOKIE['volumen_audio'])) {
    echo "Volumen actual: " . $_COOKIE['volumen_audio'] . "%";
}

Ejemplo 5. Usar Cookies para Guardar las Preferencias de Idioma:

// Guardar preferencia de idioma en una cookie válida por 30 días
setcookie("idioma", "es", time() + (30 * 24 * 60 * 60), "/");

echo "El idioma seleccionado es: " . $_COOKIE['idioma'];

Ejemplo 6 Borrar Todas las Cookies (Fin del Juego):

Para eliminar todas las cookies asociadas al dominio:

foreach ($_COOKIE as $nombre => $valor) {
    setcookie($nombre, "", time() - 3600, "/");
}

echo "Todas las cookies han sido eliminadas. ¡Juego reiniciado!";

Cookies-preferencias

Las cookies son útiles para**almacenar preferencias, puntajes, niveles, o configuraciones** en videojuegos. Sin embargo, recuerda usarlas sabiamente para no sobrepasar los límites y respetar la privacidad del usuario. 🌐

Actividad "UD5/3 Cookies"

Cocinando galletas

Como es habitual, creamos nuestra carpeta dentro de la unidad para probar los ejemplos propuestos y, como buen desarrollador, los ejemplos que nuestra**curiosidad nos haga investigar**