prüfen, ob Cookie akzeptiert wurde
Kalle_Worms
- php
0 Cheatah0 Kalle_Worms
0 Tom
Hallöle,
werde nicht so ganz schlau aus
http://de2.php.net/manual/de/function.setcookie.php
Offenbar kann PHP nicht feststellen, ob ein Cookie vom Client akzeptiert wurde?
Im Netscape lasse ich Cookies nur mit manueller Genehmigung durch. Wenn ich ablehne, kommt dennoch die Erfolgsmeldung:
Cookie "besucher_plz" wurde gesetzt
$cookie_ende = time() +31 *24 *60 *60; // 31 Tage
if ( setcookie("besucher_plz", $besucher_plz, $cookie_ende )) {
echo "<p>Cookie "besucher_plz" wurde gesetzt</p>";
}
Das Cookie wurde aber korrekterweise NICHT gesetzt.
Mit den Zeilen
setcookie("besucher_plz", $besucher_plz, $cookie_ende );
if ( $_COOKIE['besucher_plz'] ) echo "<p>Cookie "besucher_plz" ist tatsächlich da.</p>";
else echo "<p>Cookie "besucher_plz" ist nicht da.</p>";
Bekomme ich die Verneinung, auch wenn ich das Cookie (das erste Mal) zulasse.
Was läuft da falsch?
LG, Kalle
Hi,
Offenbar kann PHP nicht feststellen, ob ein Cookie vom Client akzeptiert wurde?
selbstverständlich kann es das. Wenn es akzeptiert wurde, schickt der Client es beim nächsten Request mit.
Im Netscape lasse ich Cookies nur mit manueller Genehmigung durch. Wenn ich ablehne, kommt dennoch die Erfolgsmeldung:
Cookie "besucher_plz" wurde gesetzt
$cookie_ende = time() +31 *24 *60 *60; // 31 Tage
if ( setcookie("besucher_plz", $besucher_plz, $cookie_ende )) {
echo "<p>Cookie "besucher_plz" wurde gesetzt</p>";
}
Die Meldung ist irreführend. Richtig wäre: 'Die Bitte um das Setzen des Cookies "besucher_plz" wurde dem Header hinzugefügt und wird verschickt werden.'
Was läuft da falsch?
Dein Verständnis der Client-Server-Architektur.
Cheatah
Hi, Cheatah
Was läuft da falsch?
Dein Verständnis der Client-Server-Architektur.
Ein klares Wort zur rechten Zeit schafft Einsicht und auch Heiterkeit.
Naja, aus Verständnismangel, manchmal gesteigert bis zur Verzwei- oder -dreiflung, recherchiere ich ja im Web.
Kalle.
Huhu Kalle
Naja, aus Verständnismangel, manchmal gesteigert bis zur Verzwei- oder -dreiflung, recherchiere ich ja im Web.
Das mit den Keksen funktioniert ungefähr so:
K: "Guten Tag ich möchte ein Gersterbrot."
B: "Ok hier hast Du Dein Brot."
B: (spricht zu sich selbst)
Hehe, da stecke ich dem Kalle noch einen Keks mit in die Tüte.
Jetzt nachdem Kalle die Tüte in Empfang genommen hat geht es wie folgt weiter ...
a)
Kalle kontrolliert die Tüte und da er keine Kekse mag wirft er ihn vor dem Bäckerladen in den Rinnstein.
oder
b) Kalle freut sich über den Keks und isst ihn gleich auf.
Davon bekommt er gelbe, schrecklich juckende, Pusteln.
Ein neuer Tag beginnt.
Kalle geht wieder zum Bäcker.
K: "Guten Tag ich möchte einen Hefekranz und zwei Berliner"
B: "Ok hier hast Du den Hefekranz und zwei Berliner"
je nachdem was zuvor geschah (a) oder (b)
a.1)
B: (spricht zu sich selbst)
Hehe, da stecke ich dem Kalle noch einen Keks mit in die Tüte.
b.1)
B: (spricht zu sich selbst)
Oh, der Kalle hat ja lauter gelbe Pusteln, also hat er schon einen Keks von
mir bekommen.
....
---
Kalle = Client
Bäcker = Server
Also wenn der Bäcker den Keks in die Tüte steckt weis er noch nicht was
Kalle damit anfangen wird.
Und hier sind die Krücken da ja jeder Vergleich hinkt ;-)
YY
Viele Grüße
lulu
Hallo,
Das mit den Keksen funktioniert ungefähr so: [...]
nice one ;)
Viele Grüße
Patrick
Danke, lulu,
Das mit den Keksen funktioniert ungefähr so: [...]
jetzt habe sogar ich einen Schimmer, wie das mit den Keksen funktioniert.
Kalle
Hello,
Und auf lulus nette Anekdote noch einen kleinen Tipp aus der Praxis von mir:
Request vom Client kommt
Setze den Cookie
Setze eine Umleitung auf $_SERVER['PHP_SELF'].'?flag=blah' wenn (!isset($_GET['flag']))
Wenn blah dann in flag wieder ankommt und der Cookie drin ist, nimmt der Client Cookies an.
Wenn blah dann in flag wieder ankommt und der Cookie ist nicht dabei, nimmt der Client keine an
Alles coOKie?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi,
Request vom Client kommt
Setze den Cookie
Setze eine Umleitung auf $_SERVER['PHP_SELF'].'?flag=blah' wenn (!isset($_GET['flag']))
Wenn blah dann in flag wieder ankommt und der Cookie drin ist, nimmt der Client Cookies an.
Wenn blah dann in flag wieder ankommt und der Cookie ist nicht dabei, nimmt der Client keine an
Nicht ganz.
Dann hat der Client genau diesen einen Cookie nicht angenommen.
Daraus können aber keinerlei Rückschlüsse über irgendwelche anderen Cookies (oder denselben Cookie zu einem anderen Zeitpunkt) gezogen werden.
cu,
Andreas
Hello,
Nicht ganz.
Dann hat der Client genau diesen einen Cookie nicht angenommen.
Daraus können aber keinerlei Rückschlüsse über irgendwelche anderen Cookies (oder denselben Cookie zu einem anderen Zeitpunkt) gezogen werden.
Nee, ja klar. Daraus kann man genausowenig Rückschlüsse ziehen, wie dass derselbe Client sich überhaupt nochmals meldet ...
... oder, dass das Forum morgen noch besteht!
Harzliche Grüße aus http://www.annerschbarrich.de
Tom