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 |