Veröffentlicht 11. August 200322 j Hallo Leute, ich möchte mit PHP einen cookie setzen, bekomme aber beim ausführen der Seite folgende Meldung: Warning: Cannot modify header information - headers already sent by (output started at C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Projekte\Cookie\Login.php:13) in C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Projekte\Cookie\Login.php on line 47 Hier der Code dazu: $ID = mysql_result($res,0,"ID"); $Benutzer = mysql_result($res,0,"Benutzer"); $Kennwort = mysql_result($res,0,"Kennwort"); if ($Kennwort == $Passwort) { setcookie("Testcookie", $ID); $Ausgabe = "LOGIN UND KENNWORT RICHTIG !!!"; } [/PHP] Was mache ich falsch ???? Gruß Patrick
11. August 200322 j Hallo, in Zeile 13 machst Du eine Ausgabe (laut Fehlermeldung). Du darfst vor setcookie keine Ausgaben machen. Frank
12. August 200322 j Autor Wieso darf ich vor setzen eines cookies keine Ausgabe machen ??? Kann ich einen Cookie vor der Ausgabe setzen und nachträglich mit neuen Werten füllen ??? Gruß Patrick
12. August 200322 j ich denke du musst deine informationen die das cookie füllen sollen an eine andere php seite weitergeben und dort dann vor der ausgabe dein cookie setzen! Gruß kills
12. August 200322 j Weil Cookies im Header mitgeschickt werden, wie es in der Fehlermeldung steht. Frank
12. August 200322 j Autor Okay, dann werde ich das einfach mal so ausprobieren. Ich werde das Cookie beim aufruf der neuen Seite füllen. Aber kann ich den Inhalt eines cookies auch noch nach einer ausgabe ändern ??? Gruß Patrick
12. August 200322 j Autor Okay, habe jetzt den Fehler behoben, aber es wird kein Cookie gesetzt. Ich bekomme auch keine Fehlermeldung. Aber wenn ich in den Explorer gehe, ist kein Cookie gesetzt worden. Woran kann das liegen ???? Gruß Patrick
13. August 200322 j vielleicht wird das setzen von cookies durch deine Sicherheitsstufe im IE unterdrückt?
13. August 200322 j Autor Die Sicherheitsstufe ist auf niedrig. Andere Seiten können auch Cookies setzen. Muss ich dann nicht auch eine Meldung bekommen ??? Gruß Patrick
13. August 200322 j jo dann wirds daran nicht liegen. mehr kann ich dir aber jetzt auch nicht sagen sry
13. August 200322 j Hallo Patrick, deine PHP Probleme können ja passieren aber dieses ständige try and error bringt doch nichts. Wenn du ein Feature das erste mal benutzt, wäre es besser sich mit der Materie zu beschäftigen, anstatt ständig beim proggen auf die Nase zu fallen. Die Lektüre der setcookie Doku z.B.: Deutsch: http://de.php.net/manual/de/function.setcookie.php Englisch: http://de.php.net/manual/en/function.setcookie.php hätte dir die Header Fehlermeldung schon einmal erspart. Der von dir anscheinend nicht gesetze Parameter expire besagt: Ist der Parameter nicht gesetzt, verfällt das Cookie am Ende der Session (wenn der Browser geschlossen wird). Es muss also auch nichts gespeichert werden, setze ein expire in die Zukunft, dann sollte dein cookie auch gespeichert werden. Außerdem wäre es hilfreich Code zu posten. aber es wird kein Cookie gesetzt. Wie überprüfst du das? Alles gut gemeinte Ratschläge. Gruß Jaraz PS: kleines Beispiel zum überprüfen ob Cookies funktionieren. <?php $visitcount = $HTTP_COOKIE_VARS["visits"]; if( $visitcount == "") $visitcount = 0; else $visitcount++; setcookie("visits",$visitcount,time()+60*60*24*30); ?> <html> <head> <title> PHP - Cookie Example 1 </title> </head> <body> <h1>Cookie Example 1</h1> <font size=+2 face = verdana> <?php print "This is visit number " . $visitcount; ?> </font> </body> </html>[/PHP]
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.