muuuh: Cookie NICHT im momentanen Script verwenbar !?

Gute Nacht, Forum !

Ich habe ein PHP-Script, bei dem ich ein Cookie setze .
Dies ist ein Testcookie, der überprüfen soll, ob der Browser Cookies unterstützt.

wenn ich diesen Cookie nun aber mittels $_COOKIE['testcookie']; auf Zeile 260 auslesen will, macht er das nicht.

Und es liegt NICHt am Browser oder am Script, das ist ja das komische.
Nach 2-3 mal reloaden steht dann de Ausgabe dranne, die erzeugt werden soll, wenn der Cookie existiert (Dein Browser unterstützt Cookies)

Kann esirgendwie sein, dass man Cookies NICHT in dem Script verwenden kann, in dem man sie gesezt hat?

Oder hat jemand eine andere Erklärung?

Hier der Codeschnipsel:

------------------------(CUT)-----------------------

<?php
ob_start();
?>

<!-- HTML Inhalt -->

<?php
$cookie_washere = $_COOKIE["kkkl"];
if ($cookie_washere=="jo") {header("Location: start.php");}
$time=time();
$cookie_verfalldatum=$time*1+2592000*1;
$cookie = $_COOKIE["kkkl"];
setcookie("kkkl","jo",$cookie_verfalldatum); // Cookie setzen, das 30 Tage gültig ist.
if ($cookie=="jo") { // Wenn der Browser Cookies unterstützt
setcookie("kkkk","jo",$cookie_verfalldatum);
echo "<li>Dein Browser unterstützt Cookies.</li>";
$cookiestinfo= " Es wurde ein Cookie gesetzt, damit dir diese "Vor-Seite" die nächsten 30 Tage nicht mehr angezeigt wird!";
}
else { // Wenn der Browser keine Cookies unterstützt
echo "</font><font color="#FF0000" style="font-size: 9pt" face="Arial,sans-serif" ><li>Dein Browser unterstützt keine Cookies</li></font><font color="#009933" style="font-size: 9pt" face="Arial,sans-serif">";
}
ob_end_flush();
?>
</b></ul></font><hr><?php echo $cookiestinfo; ?><br><br><b>

------------------------(CUT)-----------------------

Danke für jede Hilfe.

  1. nacht,

    frag meine kumpels [http://www.google.de] oder /archiv/ gruss

    --
    no strict; no warnings;
    1. huhu ;-)

      frag meine kumpels http://www.google.de oder </archiv>

      Du lernst es schon noch, wenn du die </faq> richtig liest, gelle?

      Grüße aus Berlin

      Christoph S.

      1. ähm hallo,

        welche Q- soll ich beachten/lernen?

        gruss

        --
        no strict; no warnings;
        1. hi,

          welche Q- soll ich beachten/lernen?

          die, in der steht, wie anklickbare links gesetzt werden.

          Christoph S.

          1. servus

            die, in der steht, wie anklickbare links gesetzt werden.

            ok ich hoffe ich habs gerafft http://ichhoffeichhabsgerafft.net

            gruss

            --
            no strict; no warnings;
  2. Moin!

    Kann esirgendwie sein, dass man Cookies NICHT in dem Script verwenden kann, in dem man sie gesezt hat?

    Überleg mal...
    ...Wie soll der Browser ein Cookie an den Server senden welches er noch gar nicht hat?

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
    1. Hallo,

      Kann esirgendwie sein, dass man Cookies NICHT in dem Script verwenden kann, in dem man sie gesezt hat?

      Überleg mal...
      ...Wie soll der Browser ein Cookie an den Server senden welches er noch gar nicht hat?

      Hab ich da was falsch verstanden?

      Ich setze das Cookie doch vorher!?

      zuerst überprüfe ich, ob das "eigentliche" Cookie da ist.
      Wenn nicht, wird das Testcookie gesetzt und ein paar Zeilen später wieder ausgelesen.
      Wenns da ist, wird das "eigentliche" Cookie gesetzt und wiedergegeben "Cookies gehen und blabla" .
      Wenn nicht wird nur wiedergegeben "Cookies ghen nicht und blabla".

      Oder?
      Hab ich irgendwie irgendwas übersehen ?

      Danke, Muuuh

      1. Hallo!

        Hab ich da was falsch verstanden?

        Ja.

        Ich setze das Cookie doch vorher!?

        nein.

        zuerst überprüfe ich, ob das "eigentliche" Cookie da ist.
        Wenn nicht, wird das Testcookie gesetzt und ein paar Zeilen später wieder ausgelesen.

        Das geht nicht. Der Server kann nur auf Cookies zurückgreifen, die der Client direkt mit dem anfänglichen Request mitsendet. Außerdem sendet der Server den Cookie nicht dann wenn Du setcookie() ausführst, sondern das wird in die  komplette Antwort des gesamnten PHP-Scriptes mit einbezogen. Das heißt, der Cookie den Du setzt wird mit demselben HTTP-Paket an den Browser geschickt, wie Deine HTML-Ausgabe... Erst beim nächsten Seitenaufruf wird der Cookie vom Browser mitgeschickt, und steht dann zur Verfügung.
        Das heißt Du kommst an den Cookie nur wenn der Browser eine neue Seite auf dem Server aufruft, entweder per Klick durch den User, oder per Location-Header. Erst bei diesem neuen Request findest Du was in $_COOKIES.

        Hab ich irgendwie irgendwas übersehen ?

        ja.

        Grüße
        Andreas

        PS: http://www.dclp-faq.de/q/q-web-server-client.html

  3. Hi,

    Gute Nacht, Forum !

    Ich habe ein PHP-Script, bei dem ich ein Cookie setze .
    Dies ist ein Testcookie, der überprüfen soll, ob der Browser Cookies unterstützt.

    wenn ich diesen Cookie nun aber mittels $_COOKIE['testcookie']; auf Zeile 260 auslesen will, macht er das nicht.

    Und es liegt NICHt am Browser oder am Script, das ist ja das komische.
    Nach 2-3 mal reloaden steht dann de Ausgabe dranne, die erzeugt werden soll, wenn der Cookie existiert (Dein Browser unterstützt Cookies)

    Kann esirgendwie sein, dass man Cookies NICHT in dem Script verwenden kann, in dem man sie gesezt hat?

    Oder hat jemand eine andere Erklärung?

    Prinzipieller Ablauf:

    Browser hat kein Cookie
    Browser sendet Request an Server (ohne Cookie im request-header)
    Server startet PHP
    PHP setzt $_COOKIE auf leer, da kein Cookie im request-header)
    PHP ruft setcookie auf
    PHP liest $_COOKIE aus (das aber immer noch leer ist)
    PHP sendet Response an Browser
    Browser bekommt Response inklusive Cookie im Header

    Browser sendet Request an Server, diesmal mit Cookie im request-header
    Server startet PHP
    PHP setzt $_COOKIE mit dem vom Browser im request-header gesandten Cookie

    JETZT kann aus $_COOKIE auch der Cookie ausgelesen werden.

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.