PHP - Datenschutz-Hinweis
Problem:
Bei Start einer Seite erscheint der Datenschutz-Hinweis. Sollte ich diese Seite wieder besuchen, oder diese Seite aktualisieren erscheint der DS-Hinweis wieder.
Lösung:
Ich muss einen Cookie einfügen, der die Bestätigung der Datenschutzerklärung anzeigt.
Anschließend muss ich auf ein Vorhandensein des Cookies überprüfen und nach dessen Existenz die Datenschutzerklärung Ein- oder Ausblenden.
Bei diesem Script wird, nach Akzeptanz der Datenschutzerklärung, diese 7 Tage nicht mehr erscheinen.
WICHTIG
Die Abfrage welche das Cookie setzt, muss ganz am Anfang der Seite stehen.
<?php //Hier beginnt der Ablauf wenn im Formular der "O. K."-Button geklickt wurde. if (isset($_POST['ok'])) { //hier bekommt die Variable $accept einen Wert zugewiesen $accept = 1; //Hier wird der Cookie gesetzt mit dem Namen DS der Variable $accept und der Cookie bleibt eine Woche gültig (3600*24*7) setcookie('DS',$accept , time()+(3600*24*7)); //hier wird die Seite neu geladen und da der Cookie gesetzt ist erscheint der Datenschutzhinweis nicht mehr. header("Location: index.php"); } ?> <html> <head> <title>Datenschutzerklärung via Cookie</title> <link rel="stylesheet" type="text/css" href="css/reset.css"/> <link rel="stylesheet" type="text/css" href="css/style.css"/> </head> <? //Hier ist die Weiche die sagt: "Ist der Cookie DS nicht vorhanden, dann zeige den Datenschutzhinweis an." if (!isset($_COOKIE['DS'])) { ?> <div id="ds"> <form method="post"> Stimmen sie den Datenschutz-Bedingungen zu? <button type="submit" name="ok"> O. K.</button> </form> </div> <? } ?> <body> <h1>Datenschutzerklärung via Cookie</h1> <p>Nach dem akzeptieren kannst du die Seite so oft aktualisieren wie du willst. Der Datenschutzhinweis erscheint die nächsten 7 Tage nicht mehr.</p> <p>Du kannst auch den Cookie wieder entfernen, dann erscheint er wieder. Wie, ist bei jedem Browser unterschiedlich. </body> </html>
Links zum Thema
Cookies setzen mit PHP |