Wofür werden Cookies genutzt?
Cookies werden in Webanwendungen verwendet, um den Sitzungsstatus des Benutzers aufrechtzuerhalten und personalisierte Inhalte bereitzustellen. Aber nicht nur das, sondern auch, um das Nutzerverhalten zu verfolgen und gezielte Werbung auszuliefern. Sie erleichtern zudem den Einkaufsvorgang in Online-Shops und dienen auch dem Datenschutz. Das Generieren von Cookies oder das Generieren von Cookie-basierten Funktionen muss nicht kompliziert sein, deshalb haben wir einen Beispielcode vorbereitet:
Funktionsumfang:
– PHP-Funktion, die nur dann aktiv wird, wenn das Cookie “hnp_cookie_1” vorhanden ist.
– Im Beispiel aktiviert sich, falls Funktion aktiviert wird, eine Textanzeige mit “Cookie gefunden – Funktion aktiviert”.
– Die Funktion / der Text kann durch ein Shortcode mit dem Namen [hnp_custom_shortcode] im Frontend (oder Backend) eingebunden werden.
// Funktion zur Überprüfung des Cookies und Anzeige des Textes function hnp_custom_function_with_cookie() { // Überprüfe, ob das Cookie vorhanden ist if (isset($_COOKIE['hnp_cookie_1'])) { // Ausgabe des gewünschten Textes echo 'Cookie gefunden - Funktion aktiviert'; } } add_shortcode('hnp_custom_shortcode', 'hnp_custom_function_with_cookie');
Das passende Cookie automatisch erzeugen:
function hnp_set_cookie() { setcookie('hnp_cookie_1', 'cookie_value', time() + 3600, '/'); } add_action('init', 'hnp_set_cookie');
Cookie erzeugen, durch Betätigung eines Buttons:
function hnp_set_cookie_button() { ?> <form method="post"> <input type="hidden" name="hnp_set_cookie" value="1" /> <input type="submit" value="Cookie setzen" /> </form> <?php } function hnp_set_cookie() { if (isset($_POST['hnp_set_cookie'])) { setcookie('hnp_cookie_1', 'cookie_value', time() + 3600, '/'); // Optional: Füge hier weitere Aktionen hinzu, die nach dem Setzen des Cookies ausgeführt werden sollen } } add_action('init', 'hnp_set_cookie'); add_shortcode('hnp_set_cookie_button', 'hnp_set_cookie_button');
Nutzbarer WordPress Code:
// Funktion zur Überprüfung des Cookies und Anzeige des Textes function hnp_custom_function_with_cookie() { // Überprüfe, ob das Cookie vorhanden ist if (isset($_COOKIE['hnp_cookie_1'])) { // Rückgabe des gewünschten Textes return 'Cookie gefunden – Funktion aktiviert'; } } add_shortcode('hnp_custom_shortcode', 'hnp_custom_function_with_cookie'); // Funktion zum Erzeugen des Cookie-Buttons function hnp_set_cookie_button() { ob_start(); ?> <form method="post"> <input type="hidden" name="hnp_set_cookie" value="1" /> <input type="submit" value="Cookie setzen" /> </form> <?php return ob_get_clean(); } // Funktion zum Setzen des Cookies function hnp_set_cookie() { if (isset($_POST['hnp_set_cookie'])) { // 3600 = Sekunden, somit bleibt das Cookie 1 Stunde // Oder diese Zeile nutzen für 1 Jahr: setcookie('hnp_cookie_1', 'cookie_value', strtotime('+1 year'), '/'); setcookie('hnp_cookie_1', 'cookie_value', time() + 3600, '/'); // Optional: Füge hier weitere Aktionen hinzu, die nach dem Setzen des Cookies ausgeführt werden sollen } } // Hook, um das Setzen des Cookies aufzurufen add_action('init', 'hnp_set_cookie'); // Shortcodes registrieren add_shortcode('hnp_set_cookie_button', 'hnp_set_cookie_button'); add_shortcode('hnp_display_cookie_button', 'hnp_display_cookie_button'); // Shortcode zum Anzeigen des Cookie-Buttons function hnp_display_cookie_button() { // Überprüfe, ob das Cookie bereits gesetzt ist if (!isset($_COOKIE['hnp_cookie_1'])) { return do_shortcode('[hnp_set_cookie_button]'); } }
Mit dem Shortcode:[hnp_custom_shortcode] wird der Inhalt ausgegeben, welcher nur aktiv ist, wenn das Cookie gesetzt wurde. In diesem Fall der Text: “Cookie gefunden – Funktion aktiviert”
Cookie Button – 2 Möglichkeiten:
1. Mit dem Shortcode: [hnp_set_cookie_button] wird ein dauerhafter Button angezeigt, welcher nach Betätigung das passende Cookie erzeugt.
2. Mit dem Shortcode: [hnp_display_cookie_button] zeigt denselben Button an, aber nur dann, wenn das Cookie noch nicht gesetzt wurde. Ansonsten wird nichts angezeigt.
Fertigen Code als Test-WordPress-Plugin herunterladen:
(Runterladen -> In der WordPress Plugin Sektion installieren & aktivieren -> Das Plugin ist direkt aktiv und die Shortcodes können genutzt werden)
Erweiterte Erklärung:
Der obige Code ermöglicht die Überprüfung des Vorhandenseins eines Cookies und die Anzeige eines Textes – basierend auf dem Cookie-Status. Es gibt zwei Hauptfunktionen und zwei zugehörige Shortcodes.
Die Funktion hnp_custom_function_with_cookie() überprüft, ob das Cookie mit dem Namen “hnp_cookie_1” vorhanden ist. Wenn das Cookie gesetzt ist, wird der Text “Cookie gefunden – Funktion aktiviert” zurückgegeben.
Die Funktion hnp_set_cookie_button() generiert einen Button zum Setzen des Cookies. Beim Klicken auf den Button wird das Cookie mit dem Namen “hnp_cookie_1” für eine Stunde gesetzt.
Die Funktion hnp_set_cookie() wird aufgerufen, wenn die Seite initialisiert wird. Wenn der Button zum Setzen des Cookies geklickt wird (identifiziert durch $_POST[‘hnp_set_cookie’]), wird das Cookie mit dem entsprechenden Namen und Wert sowie einer Ablaufzeit von einer Stunde gesetzt. Sie können auch zusätzliche Aktionen nach dem Setzen des Cookies hinzufügen.
Die Funktion hnp_display_cookie_button() überprüft, ob das Cookie bereits gesetzt ist. Wenn das Cookie nicht vorhanden ist, wird der Shortcode [hnp_set_cookie_button] zurückgegeben, der den Button zum Setzen des Cookies anzeigt.
Durch das Hinzufügen der Shortcodes [hnp_custom_shortcode] und [hnp_display_cookie_button] in Ihren WordPress-Beiträgen oder -Seiten können Sie den Text ausgeben bzw. den Cookie-Button anzeigen, abhängig vom Cookie-Status.
Cookies sind lediglich auf der Erstellungs-Domain gültig, inklusiv allen Subdomains. Sollte aber ein Cookie Domain übergreifend oder auch Server übergreifend Funktionen auslösen, so wird eine Token-basierte Authentifizierungssystems-Funktion mit PHP benötigt:
Hierbei ein Beispiel einer solchen Funktion:
// Funktion zum Generieren eines Tokens function generate_token() { $token = bin2hex(random_bytes(32)); // Generiert einen zufälligen Token-Wert setcookie('auth_token', $token, time() + 3600, '/', 'homepage-nach-preis.de'); // Setzt das Cookie für die Domain homepage-nach-preis.de return $token; } // Funktion zur Überprüfung des Tokens function verify_token($token) { // Überprüfe, ob das übergebene Token mit dem im Cookie gespeicherten Token übereinstimmt if (isset($_COOKIE['auth_token']) && $_COOKIE['auth_token'] === $token) { return true; // Token ist gültig } else { return false; // Token ist ungültig } } // Beispiel für die Verwendung der Token-Funktionen // Token generieren und setzen $token = generate_token(); // Überprüfen, ob das Token gültig ist if (verify_token($token)) { echo 'Token ist gültig'; } else { echo 'Token ist ungültig'; }
↩ Zurück zur Blogübersicht