Kay: Cookie auslesen -> nachdem auf Client geschrieben!!

Hallo Forum!

Ich habe jetzt gut 4 Stunden geübt und erlaube mir darum meine Frage hier zu posten. (Natürlich habe ich Google und dieses Forum und die Archive sowie www.selfphp4.de durchsucht!!)

Das Szenario: Ich besuche eine Website und gebe meinen Namen in eine Formular ein (z.B. Shop). Tage später besuche ich diese Site wieder. Nur muss ich dieses mal meinen Namen (und so) nicht mehr eingeben.
Ja, klar, ein Cookie ermöglicht mir dies.
Ich habe auch ein Cookie angelegt, dass auch brav im Verzeichnis "Temporary Internet Files" (Win98) sitzt. Hier der Inhalt:
coloris
wooloomooloo
gate-2-world.com/
1
1936312704
29476251
3112465568
29476167
*

Jetzt würde ich das ganze (Beispieldaten) wieder auslesen bei einer späteren Internet-Session. Dieser Code habe ich auf diversen Sites gefunden, doch gibt er mir keine Werte zurück:

$cookie = session_get_cookie_params();
while(list($key, $val) = each($cookie)) {
  echo $key . ": " . $val;
  echo "<br>";
}

Was mache ich falsch? Rufe ich das Cookie falsch auf? Frage ich die Werte falsch ab?

Ich bin für jeden Hinweis riesig dankbar!!!

Liebe Grüsse

Kay

  1. Moin,

    Was mache ich falsch? Rufe ich das Cookie falsch auf? Frage ich die Werte falsch ab?

    Der Code macht nicht das was du willst weil er etwas anderes macht. Idealerweise solltest du die Doku mal eines Blickes würdigen.

    session_get_cookie_params gehört (wie der Name schon sagt) zu den session-Funktionen von PHP und ist daher völlig nutzlos für dich wenn du keine Session benutzt. Es gibt dir die Parameter des Cookies zurück der für die Session verwendet wird.

    Du willst einfach nur Wert und Name deines eigenen Cookies haben und die gibt dir PHP freiwillig: Je nach Konfiguration von PHP findest du den Wert deines Cookies unter $name bzw. $HTTP_COOKIE_VARS["name"] wobei name der Name ist den du deinem Cookie beim Setzen zugewiesen hast.

    Wenn du alle Cookies auflisten willst die dein Skript empfangen hat, benutze das hier:
    foreach($HTTP_COOKIE_VARS as $name => $wert) echo $name. " = ". $wert. "\n";

    Mehr Infos findest du in der bereits angesprochenen Doku:
    http://www.php.net/manual/de/function.session-get-cookie-params.php
    http://www.php.net/manual/de/function.setcookie.php
    http://www.php.net/manual/de/language.variables.external.php#language.variables.external.cookies
    http://www.php.net/manual/de/features.cookies.php
    http://www.php.net/manual/de/language.variables.predefined.php#language.variables.predefined.php

    --
    Henryk Plötz
    Grüße aus Berlin