Der Martin: Login Cookie schreiben und Cookie auslesen - Array Problem

Beitrag lesen

Hallo Sabine,

$cookie_user ist der Benutzername der aus einem Formularfeld kommt. Da aber jeder Benutzer gewöhnlich einen anderen Benutzername habe muß ich mit variablen arbeiten.

ja, aber genau das tust du nicht. Denn in einfachen Anführungszeichen '' werden in PHP keine Variablennamen aufgelöst, dein Cookie hat also exakt den Namen $_COOKIE['$cookie_user']. Da wird kein Benutzername mehr eingesetzt.

Wieso mit dem aufruf des script wird der request erzeugt und der cookie clientseitig geschrieben (so wollte ich es haben...) und zur überprüfung lese ich anschließend den cookie meines clients aus.

Aber du bist anscheinend einem Denkfehler aufgesessen: Erst wenn das Script *fertig* ausgeführt ist, wird der ausgegebene Code zum Client übertragen und dort interpretiert, u.a. das Cookie gesetzt (falls es der Benutzer zulässt). Das Zurücklesen des Cookies kann erst erfolgen, wenn dein Script ein weiteres Mal aufgerufen wird - dann sendet der Client nämlich das Cookie unaufgefordert wieder mit, und dein PHP-Script kann es auswerten.

Was du tust, ist so ähnlich, als würdest du einem Kunden eine Rechnung stellen und im gleichen Umschlag auch schon eine Mahnung schicken, weil er den Rechnungsbetrag noch nicht bezahlt hat: Du musst ihm erst einmal die Gelegenheit dazu geben.

Und es ist in unserem gewohnten, von kausalen Systemen geprägten Alltag eher ungewöhnlich, dass die Wirkung bereits vor der Ursache eintritt.
ich verstehe dich nicht! ich schreibe ein cookie und lese ihn anschließend aus ...

Nein, du schreibst kein Cookie. Das wird erst geschrieben, wenn der Client das Ergebnis deines Scripts erhält. Du schreibst nur die Anweisung, der Client möge bitte ein Cookie setzen.

[1] Genauer gesagt werden sie Dir von PHP als Array zur Verfügung gestellt. Die Speicherung sieht anders aus.
ja wie denn? wenn du es schon weisst warum sagst du es nicht weil ich komme echt nicht weiter...

Das ist für dich unerheblich. Die Speicherung in PHP erfolgt als Array, das ist ja okay. In der Form greifst du auch auf die Daten zu. Wie der Browser des Besuchers diese Daten speichert, ist völlig unerheblich - der Mechanismus, mit dem er sie bekommt und wieder zurückgibt, ist festgelegt (das ist Teil des HTTP-Protokolls), und wie diese Daten in PHP verwaltet werden, ist auch festgelegt.

So long,
 Martin

--
Ich stehe eigentlich gern früh auf.
Außer morgens.