Hallo Thomas,
Wie kann ich in einem PHP-Script erfragen, ob ein eben gesetzter Cookie auf dem Client auch angenommen wurde?
Das geht (s.u.)
Das Script soll nicht enden zwischendurch.
Das geht nicht. Der Cookie wird vom Browser erst bei der zweiten Seitenanfrage gesendet. Du kannst als Server keinen Header an den Browser senden, der den Browser veranlasst, darauf zu antworten. Du kannst es ihm nur empfehlen. (30x + Location)
In der Sessionverwaltung ist ja scheinbar auch so ein Mechanismus eingebaut. Anderenfalls könnte PHP ja keinen automatischen Fallback machen.
Die Sessionverwaltung häng die SID an die URL an, wenn kein Cookie gesetzt ist, also auch beim ersten mal. Bei der zweiten Seite ist das Cookie gesetzt, also wird die SID nicht mehr angehängt. Wenn keine Cookies aktiv sind, dann findet er nie das Cookie, also hängt er die SID immer wieder an. (sofern url_rewriting an ist)
Wie Du das mit Deinen Cookies machen kannst:
Aufruf von seite1.php:
(ist cookie gesetzt?)
JA: mach was die Seite soll
NEIN: Leite per Location-Header auf seite1.php?cookietest=1 weiter
Aufruf von seite1.php?cookietest=1:
(ist cookie gesetzt?)
JA: mach was die Seite soll
NEIN: Reagiere darauf
Grüße,
Christian