php-html-css.de

wird geladen...

 Close Menu
php-html-css.de

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>

Arikel teilen auf: