Cookie NICHT im momentanen Script verwenbar !?
muuuh
- php
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.
nacht,
frag meine kumpels [http://www.google.de] oder /archiv/ gruss
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.
ähm hallo,
welche Q- soll ich beachten/lernen?
gruss
hi,
welche Q- soll ich beachten/lernen?
die, in der steht, wie anklickbare links gesetzt werden.
Christoph S.
servus
die, in der steht, wie anklickbare links gesetzt werden.
ok ich hoffe ich habs gerafft http://ichhoffeichhabsgerafft.net
gruss
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®
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
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
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