0 Pluspunkte 0 Minuspunkte
Wie kann ich Cookies setzen und auslesen in PHP?
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Cookie setzen

// Cookie setzen mit einer Ablaufzeit von 1 Stunde
setcookie("cookie_name", "cookie_value", time()+3600);

Cookie lesen

// Prüfen, ob das Cookie vorhanden ist
if(isset($_COOKIE["cookie_name"])) {
    // Cookie-Wert auslesen
    $cookieValue = $_COOKIE["cookie_name"];
    echo "Der Wert des Cookies ist: " . $cookieValue;
} else {
    echo "Das Cookie wurde nicht gefunden.";
}

Cookie löschen

// Cookie löschen, indem du ein Ablaufdatum in der Vergangenheit setzt
setcookie("cookie_name", "", time()-3600);

von  
Erst beim 2 Aufruf der Seite ist das Cookie gesetzt. Es sollte aber gleich gesetzt sein, oder?
In PHP werden Cookies normalerweise beim nächsten Aufruf der Seite vom Browser akzeptiert und gespeichert. Das bedeutet, dass ein Cookie beim ersten Aufruf einer Seite noch nicht verfügbar ist, da es erst vom Browser nach dem Setzen des Cookies in der vorherigen Anfrage empfangen und gespeichert wird. Wenn du sicherstellen möchtest, dass ein Cookie beim ersten Aufruf einer Seite verfügbar ist, könntest du eine Umleitung (Redirect) verwenden.

if (!isset($_COOKIE["cookie_name"])) {
    // Cookie ist noch nicht gesetzt, daher wird eine Umleitung durchgeführt
    setcookie("cookie_name", "cookie_value", time()+3600);
    header("Location: deine_seite.php");
    exit; // Beende das Skript nach der Umleitung
}