Cookies werden nicht gelöscht
Carl
- php
Hi
ich hab da ein kleines Problem. Ich hab eine Seite mit einem Internen Bereich, den man benutzen kann, wenn 2 Cookies mit benutzername und passwort gesetzt sind. Nun möchte ich die Funktion einfügen, dass man sich abmelden kann. Ich wollte es mir dabei einfach machen, hab einen Link gemacht und der ruft folgenedes Script auf:
<?php
setcookie("userpass", "", time()-3600);
setcookie("username", "", time()-3600);
?>
Leider klappt das nicht so ganz, ich bekomme folgende Fehlermeldung zurück:
Warning: Cannot add header information - headers already sent by (output started at c:\foxserv\www\doomin-hp\index.php:2) in c:\foxserv\www\doomin-hp\logout.php on line 2
Warning: Cannot add header information - headers already sent by (output started at c:\foxserv\www\doomin-hp\index.php:2) in c:\foxserv\www\doomin-hp\logout.php on line 3
nur ich hab da nirgends ein header(), also was läuft da falsch?
Gruss
Carl
Hi
ich hab da ein kleines Problem. Ich hab eine Seite mit einem Internen Bereich, den man benutzen kann, wenn 2 Cookies mit benutzername und passwort gesetzt sind. Nun möchte ich die Funktion einfügen, dass man sich abmelden kann. Ich wollte es mir dabei einfach machen, hab einen Link gemacht und der ruft folgenedes Script auf:
<?php
setcookie("userpass", "", time()-3600);
setcookie("username", "", time()-3600);
?>
Davor darf _kein_ Zeichen stehen, auch kein Zeichenumbruch. Des weiteren nimm statt deiner Notation lieber
setcookie("userpass","");
setcookie("username","");
Du darfst nicht auf Existenz des Cookies prüfen, sondern auf den Inhalt.
Fabian
Hallo Carl,
die cookies werden vom Server im Header zum Browser gesendet. Die Funktion setcookie() tut also nichts anderes, als header("Cookie: ..."); (oder ähnlich) aufzurufen.
Du umgehst das Problem mit der Ausgabesteuerung.
Wie genau, kannst Du in der PHP-Manual nachlesen: http://www.php.net/manual/de/ref.outcontrol.php
Gruß,
Hi Johannes
das wars...teilweise. da ich das ganze noch in eine Seite include wurde dort noch output gesendet. vor den cookies. der fehler ist jetzt behoben und mit der funktion kann ich jetzt wieder zur hauptseite zurück.
Danke
Gruss
Carl
Warning: Cannot add header information - headers already sent by (output started at c:\foxserv\www\doomin-hp\index.php:2) in c:\foxserv\www\doomin-hp\logout.php on line 2
Warning: Cannot add header information - headers already sent by (output started at c:\foxserv\www\doomin-hp\index.php:2) in c:\foxserv\www\doomin-hp\logout.php on line 3
nur ich hab da nirgends ein header(), also was läuft da falsch?
Gruss
Carl
Hallo Carl,
die Meldungen besagen dass bereits ein (Standart-)Header gesendet werden musste, weil in der Zeile 2 der index.php irgendetwas ausgegeben wurde. Möglicherweise befindet sich vor dem <?php ein Zeilenumbruch oder ein Leerzeichen. Der Server sendet dann automatisch einen Header. (Hierauf wird aber auch in der Regel in jeder Anleitung hingewiesen)