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.
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. 🛑
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.
Crear una Cookie:
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 estrue
, solo se transmitirá en conexiones HTTPS.httponly
: Si estrue
, solo estará disponible para HTTP y no para JavaScript.
Ejemplos prácticos 🎮
Ejemplo1. Crear una Cookie para Guardar el Puntaje de un Jugador:
<?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'];
}
?>
Ejemplo 2. Modificar una Cookie (Actualización de Nivel del 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'];
Ejemplo 3. Eliminar una Cookie (Reiniciar el Juego):
// Para eliminar la cookie, se establece una fecha de expiración en el pasado
setcookie("puntaje_jugador", "", time() - 3600, "/");
echo "Puntaje reiniciado.";
Ejemplo 4. Crear una Cookie Temporal para Guardar la Configuración de Audio:
// 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**