Cookie speichern und sofort wieder auslesen geht nicht



  • Wieso klappt das nicht wenn auf einer Website beim Aufrufen ein Cookie setze und dann sofort wieder auslese.

    Code Beispiel:

    <?php
    $set = $_GET["style"];
    setcookie ("sitestyle", $set, time()+31536000);
    
    $var_style = $_COOKIE["sitestyle"]; 
    echo $var_style;
    ?>
    

    Erst wenn ich die Seite reloade oder neu aufrufe dann liest er die Variable richtig aus.

    MFG
    ext3


  • Mod

    Wenn du ein Cookie setzt, sendet der Server einen bestimmten HTTP Header an den Client. Jedesmal wenn der Client nun eine Anfrage an den Server sendet, schickt er alle Cookies mit.

    Folglich kannst du das Cookie erst auslesen, wenn der Client eine neue Anfrage gesendet hat...



  • Wenn du das direkt nutzen möchtest, also zum Beispiel ein Login sofort den eingeloggten Bereich anzeigt ohne die Seite neu laden zu müssen. Könntest du deine Schalter-Variable beim beim setzen des Cookies gleich setzen.

    if($cookiesollgesetztwerden)
    {
      SetCookie...;
      $set = true;
    }
    else
    {
      $set = $_COOKIE...;
    }
    

    Und dann einfach auf dem Rest der Seite auf $set überprüfen. Den Inhalt also nicht direkt von Cookie abhängig machen.

    mfg
    tobi


Anmelden zum Antworten