Login mit Cookies (error)

x_luckystar

Grünschnabel
Ich bin in PHP noch ein ziemlicher Anfänger, deswegen denke ich, dass es einfach ist den Fehler zufinden. Ich habe bereits bei google oder auch hier im Forum gesucht, aber leider nichts gefunden.

Ich wollte einfach mal aus Spaß ein sehr simples Loginscript basteln. Ich weiß das es ziemlich unsicher ist! Es ist lediglich eine Übung.

PHP:
<?
$user1 = $_POST['auser'];
    if(isset($_COOKIE['alogged'])) {
        echo "Willkommen $user1<br>
		<a href=admin.php>Admin-Center</a><br>";
    } else {
	echo "<center>Login:<br>
	<form action=login.php method=post>
	<input type=text name=auser><br><br>
	<input type=text name=pass><p>
	<input type=submit value=Einloggen>
	</form></center>
	";}
	if ($_POST['auser'] == USER1 or USER2 or USER3 and $_POST['pass'] == PASS1 or PASS2 or PASS3)
	{setcookie("alogged", "$user1");
	}
	else
	{
	echo "Logindaten falsch!";
	}
?>

Wenn ich das nun öffne, sehe ich die 2 Inputbuttons und folgende Fehlermeldung:

Warning: Cannot modify header information - headers already sent by (output started at ..\login.php:13) in ..\login.php on line 15


Ich hoffe mir kann jemand helfen...
 
Um einen Cookie zu setzen, muss der HTTP-Header verändert werden. Und das ist nur dann möglich, wenn bisher noch keine Daten an den Client gesendet wurde, da der HTTP-Header vor der eigentlich Nutzlast gesendet wird.
In deinem Fall ist das Formular der Übeltäter. Abhilfe kann hier das zusätzliche Puffern der Ausgabe schaffen.
 

Neue Beiträge

Zurück