Cookies werden nicht gespeichert

darthpivo

Grünschnabel
Hallo,
vorneweg: ich habe die php-Dokumentation zur genüge studiert und schon in 5 Foren gesucht und nix gefunden. Das Problem dürfte es scheinabr garnicht geben. Verrückt.
Also: Ich habe eine Website mit Login (über Sessions). Ich möchte jetzt aber dem User per Cookies ermöglichen, auch über ein Fensterschließen hinaus eingeloggt zu bleiben.
Also habe ich in meine Login-Datei (hat keinerlei HTML-Ausgabe) folgende Zeilen geschrieben:
PHP:
  $t = time()+3600*24*10;
  setCookie(_PREFIX+'login', $reihe['userID'], $t, '/', 'localhost',0);
  setCookie(_PREFIX+'pass', $reihe['userPass'], $t, '/', 'localhost',0);

Anschließend wird per Header/Location auf eine Seite weitergeleitet. Es will und will aber nicht klappen, dass die Dateien in der $_COOKIE auftauchen. Ich habe es auch schon mit Testseiten versucht (nur setcookie und anschließen r_print auf $_COOKIE). Ich hab's auch schon auf den Webserver geladen, aber da geht es auch nicht. Dabei funktioniert mein phpBB-Forum wunderbar mit Cookies.
Kann mir irgendwer helfen?
mfg
Matthias
 
Hallo,

ich würde es mal so probieren:
PHP:
$t = time()+3600*24*10; 
  setcookie(_PREFIX . 'login', $reihe['userID'], $t, '/', 'localhost',0); 
  setcookie(_PREFIX . 'pass', $reihe['userPass'], $t, '/', 'localhost',0);

Ich bin mir aber nicht sicher ob das DIE Lösung ist.
Die Funktion heißt print_r :-)

Grüße Tobee
 
Hi,
danke für die beiden Hinweise (natürlich print_r und ich war noch ein wenig in Java).
Das war es allerdings nicht. Ich habe auch Tests am laufen, wo ich ganz andere Werte benutze (einfache Strings) und es geht auch nicht. Ich bin am verzweifeln.
mfg
Matthias
 
Wird denn überhaupt ein „Set-Cookie“-Header-Feld gesendet? Hast du schon mal den Antwort-Header analysiert?
 
Hallo!

Hast Du mal daran gedacht dass "localhost" nicht als Hostname funktionieren kann?
Angenommen Dein Coockie würde auf meinen PC übertragen wenn ich Deine Seite aufrufe, dann steht trotzdem "localhost" im Coockie.
Da der Coockie aber auf meinen PC übertragen wurde, währe "localhost" nun nicht mehr Dein Server, sondern mein PC..... somit wüder der Coockie keine Wirkung zeigen.
Daher nutze lieber z.b. $_SERVER['SERVER_NAME'].
Hierbei ist mir mal beim testen allerdings aufgefallen, dass wenn ich local teste, der Coockie nur gesetzt wird wenn ich meinen PC über die IP aufrufe..... sobald ich meinen PC über localhost aufrufe, wird der Coockie nicht gesetzt.
Ich vermute daher dass "localhost" als Hostname in setcookie() gesperrt ist.

Gruss Dr Dau
 
Zurück