Cookie setzen: unerklärliche Fehlermeldung
Benedikt Hofmann
- php
Hallo!
Na anfänglichen Schwierigkeiten mit Cookies habe ich eine gute Anleitung gefunden, mit der ich das Setzen von Cookies auch verstehe. Jetzt stehe ich vor folgendem Problem:
Beim Setzen eines Cookies mit einer PHP-Datei, in der nur die Zeilen
<?
$passwortcookiename = "user_id";
$passwort = md5("blabla");
setcookie($passwortcookiename,$passwort,time()+1800);
?>
enthalten sind klappt alles Problemlos.
Wenn ich diese zeilen allerdings unverändert in eine Datei einbinde, die eine lange if-Abfrage vor sich zieht kommt plötzlich folgender Fehler:
Warning: Cannot add header information - headers already sent by (output started at /home/beni/homepages/login.php:9) in /home/beni/homepages/login.php on line 97
Die if-Abfrage schaut folgendermaßen aus:
if($sql_active=="0") {
echo "<div style="text-align:center"><br/>Ihr Account ist noch nicht aktiviert!<br/><br/></div>"; }
elseif($password!=$sql_password) {
echo "<div style="text-align:center"><br/>Das Passwort stimmt nicht!<br/><br/></div>"; }
else {
$passwortcookiename = "user_id";
$passwort = md5("blabla");
setcookie($passwortcookiename,$passwort,time()+1800); }
Wäre schön, wenn mir jemand eine Lösung des Problems schildern könnte.
Danke und Viele Grüße,
Beni
Hallo Benedikt,
Die if-Abfrage schaut folgendermaßen aus:
if($sql_active=="0") {
echo "<div style="text-align:center"><br/>Ihr Account ist noch nicht aktiviert!<br/><br/></div>"; }
elseif($password!=$sql_password) {
echo "<div style="text-align:center"><br/>Das Passwort stimmt nicht!<br/><br/></div>"; }
else {
$passwortcookiename = "user_id";
$passwort = md5("blabla");
setcookie($passwortcookiename,$passwort,time()+1800); }
Bevor Du das Cookie setzt, hast Du zweimal eine "echo"-Anweisung. Wenn aber schon Text gesendet wurde (und wenn es auch nur eine Leerzeile ist), kann das Cookie nicht mehr gesetzt werden, da die Header schon abgeschickt wurden (sagt ja auch die Fehlermeldung). Du musst also zuerst das Cookie setzen lassen, bevor Du nen Text ausgeben lässt.
Viele Grüße,
Nicole
Hallo,
Wenn ich diese zeilen allerdings unverändert in eine Datei einbinde, die eine lange if-Abfrage vor sich zieht kommt plötzlich folgender Fehler:
Warning: Cannot add header information - headers already sent by (output started at /home/beni/homepages/login.php:9) in /home/beni/homepages/login.php on line 97
Häufig gemachter Fehler, der unter http://www.koehntopp.de/php/errors.html#fehler-session-cookie beschrieben ist.
Viel Erfolg damit wünscht Dir
-> Andreas
Ahhhh.... ihr seid meine Rettung!
Vielen Dank!
Gruß, Beni