Patrick.Karre Geschrieben 11. August 2003 Geschrieben 11. August 2003 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 Zitieren
robotto7831a Geschrieben 11. August 2003 Geschrieben 11. August 2003 Hallo, in Zeile 13 machst Du eine Ausgabe (laut Fehlermeldung). Du darfst vor setcookie keine Ausgaben machen. Frank Zitieren
Patrick.Karre Geschrieben 12. August 2003 Autor Geschrieben 12. August 2003 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 Zitieren
kills Geschrieben 12. August 2003 Geschrieben 12. August 2003 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 Zitieren
robotto7831a Geschrieben 12. August 2003 Geschrieben 12. August 2003 Weil Cookies im Header mitgeschickt werden, wie es in der Fehlermeldung steht. Frank Zitieren
Patrick.Karre Geschrieben 12. August 2003 Autor Geschrieben 12. August 2003 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 Zitieren
Patrick.Karre Geschrieben 12. August 2003 Autor Geschrieben 12. August 2003 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 Zitieren
kills Geschrieben 13. August 2003 Geschrieben 13. August 2003 vielleicht wird das setzen von cookies durch deine Sicherheitsstufe im IE unterdrückt? Zitieren
Patrick.Karre Geschrieben 13. August 2003 Autor Geschrieben 13. August 2003 Die Sicherheitsstufe ist auf niedrig. Andere Seiten können auch Cookies setzen. Muss ich dann nicht auch eine Meldung bekommen ??? Gruß Patrick Zitieren
kills Geschrieben 13. August 2003 Geschrieben 13. August 2003 jo dann wirds daran nicht liegen. mehr kann ich dir aber jetzt auch nicht sagen sry Zitieren
Jaraz Geschrieben 13. August 2003 Geschrieben 13. August 2003 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] Zitieren
jomama Geschrieben 14. August 2003 Geschrieben 14. August 2003 Evtl. sind auch deine Globals auf off, dann benutze echo $_COOKIE['Testcookie'] Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.