PHP ejemplo sencillo de cartel o aviso de Cookies | Programador Web Valencia

PHP ejemplo sencillo de cartel o aviso de Cookies

2 minutos

cookie

Desde que se aprobó el apreciado artículo 22 de la Ley 34/2002, la ley de Cookies para los amigos, en Europa estamos obligados a notificar al usuario si creamos Cookies en sus navegadores. Un sistema simple de almacenamiento que lleva entre nosotros desde hace décadas, apareció en 1995 en Internet Explorer, donde se puede guardar cierta información en sus propios equipos con objetivos tan diversos como mejorar la experiencia de navegación o espiar sus forma de moverse por la red.

Por ello ahora se nos pide crear un pequeño cartel que moleste informe con unos mínimos:

  • Texto descriptivo.
  • Botón para aceptar la ley.
  • Enlace con más información sobre la ley.

Con PHP podemos mostrar un cartel si no ha aceptado y ocultarlo para siempre si pulsa el botón donde nos da el consentimiento. Todo ello gracias a que podemos… crear una cookie (¿soy el único que detecta la ironía de la situación?).

HTML

Primero maquetamos nuestro cartel. Nuestro botón de aceptar enviará un GET y será visible si no existe el GET o no existe la Cookie politica.

<?php if (!isset($_REQUEST['politica-cookies']) && !isset($_COOKIE['politica'])): ?>
<!-- Mensaje de cookies -->
<div class="cookies">
    <!-- Titulo -->
    <h2>Cookies</h2>
    <!-- Descripción con enlace -->
    <p>¿Aceptas nuestras maligna <a href="/info">política de Cookies</a>?</p>
    <!-- Botón para aceptar -->
    <a href="?politica-cookies=1">Si, con todas sus consecuencias</a>
</div>
<?php endif; ?>

Con un poco de CSS podría quedar de la siguiente manera.

Ejemplo cartel de cookies

PHP

Lo único que nos interesaría con PHP es crear la Cookie si nos llega el GET politica-cookies.

// Si han aceptado la política
if(isset($_REQUEST['politica-cookies'])) {
    // Calculamos la caducidad, en este caso un año
    $caducidad = time() + (60 * 60 * 24 * 365);
    // Crea una cookie con la caducidad
    setcookie('politica', '1', $caducidad);
}

Completo

Todo unido quedaría de la siguiente forma.

<?php

// Si han aceptado la política
if(isset($_REQUEST['politica-cookies'])) {
    // Calculamos la caducidad, en este caso un año
    $caducidad = time() + (60 * 60 * 24 * 365);
    // Crea una cookie con la caducidad
    setcookie('politica', '1', $caducidad);
}

?>
<!DOCTYPE html>
<html>
<body>
    <div>
        <?php if (!isset($_REQUEST['politica-cookies']) && !isset($_COOKIE['politica'])): ?>
            <!-- Mensaje de cookies -->
            <div class="cookies">
                <h2>Cookies</h2>
                <p>¿Aceptas nuestras cookies?</p>
                <a href="?politica-cookies=1">Aceptar</a>
            </div>
        <?php endif; ?>
    </div>
</body>
</html>

En el caso que solo necesites Javascript puedes visitar mi otro ejemplo usando localstorage.

PHP

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.

Atribución/Reconocimiento-NoComercial-SinDerivados 4.0 Internacional

¿Me invitas a un café? ☕

Puedes hacerlo usando el terminal.

ssh customer@andros.dev -p 5555

Comentarios

{{ comments.length }} comentarios

Nuevo comentario

Nueva replica  {{ formatEllipsisAuthor(replyComment.author) }}

Acepto la política de Protección de Datos.

Escribe el primer comentario

Tal vez también te interese...