Ich möchte bei erfolgreichem Einloggen einen Cookie setzen. Ich habe vor den beiden setcookie() keine Ausgabe, lediglich Variablen werden festgesetzt und Constanten werden "includet". Trotzdem bekomme ich den Fehler "cannot modify header". Warum? Muss ich das vielleicht mit einer zwischenseite machen die dann zurück auf die Index lenkt?
PHP-Code:
<?php
include("inc/include.inc");
// Login
// Überprüfen ob Cookie vollständig gesetzt
if(isset($_COOKIE['benfutzername']) && isset($_COOKIE['pafsswort']))
{
$errortestausgabe .= "cookie vorhanden";
}
// Überprüfen ob Login gesendet wurde
elseif($_POST[dologin] == "Einloggen" && isset($_POST['benutzername']) && isset($_POST['passwort']))
{
$mysql = mysql_query("SELECT id,name,password FROM users WHERE name='$_POST[benutzername]'");
$mysql = mysql_fetch_array($mysql);
if(!isset($mysql[name])) { $error_login = "".ERROR_START."Benutzername nicht vorhanden!"; }
elseif($mysql[password] != md5($_POST['passwort'])) { $error_login = "".ERROR_START."Passwort stimmt nicht mit Benutzernamen überein!"; }
// Wenn kein Fehler vorhanden, Cookie setzen und einloggen!
if(!isset($error_login))
{
setCookie("benutzername","$_POST[benutzername]",time()+2419200);
setCookie("passwort","$_POST[passwort]",time()+2419200);
$login_html = "<a href=\"#\" >Ausloggen</a>";
}
else
{
$login_html = "hier steht der form zum einloggen";
$content = $error_login;
}
}
else
{
$login_html = "hier steht der form zum einloggen";
}
//Ausgabe HTML
?>
Kommentar