Autologin realisieren, Setcookie ergibt Fehlermeldung

Claas M

Erfahrenes Mitglied
Hi ihr Lieben,

PHP:
<?php
if(isset($Submit))
	{
		$qry = mysql_query("SELECT * FROM ".$usertable_prefix.$usertable_name." where name='".$_POST["name"]."'");
		if (mysql_num_rows($qry) ==1)
			{
				setcookie("username", $_POST["name"]);
				setcookie("passwort", md5($_POST["passwort"]));
				setcookie("checkbox", $_POST["checkbox"]);
				echo "<meta http-equiv='refresh' content='100; URL=index.php'>";
			}else echo "Mit dem Namen ist kein Benutzer reigstriert";
		
	}
	
if($_COOKIE["checkbox"] == "true")
	{
		$qry = mysql_query("SELECT * FROM ".$usertable_prefix.$usertable_name." where name='".$_COOKIE["username"]."'");
		echo mysql_num_rows($qry);
		#echo $_COOKIE["passwort"];	
	}
?>
<form name="login" method="post" action=""><br>
	<input type="text" name="name" class="inputfelder" style="border:1px solid #ffffff" onFocus="this.style.border='1px solid #323e7c'" onBlur="this.style.border='1px solid #ffffff'"><br>
	<input type="text" name="passwort" class="inputfelder" style="border:1px solid #ffffff" onFocus="this.style.border='1px solid #323e7c'" onBlur="this.style.border='1px solid #ffffff'"><br>
	<input type="checkbox" name="checkbox" value="true" style="border:1px solid #ffffff" onFocus="this.style.border='1px solid #323e7c'" onBlur="this.style.border='1px solid #ffffff'">Anzeigen?<br>
	<input type="submit" name="Submit" value="Senden" style="border:1px solid #ffffff" onMouseOver="this.style.border='1px solid #323e7c'" onMouseOut="this.style.border='1px solid #ffffff'"><br>
</form>

Das ist der Code und wenn ich die Datei include ergibt es nach dem drücken von Speichern folgenden Fehler:
Warning: Cannot modify header information - headers already sent by (output started at /home/www/web55/html/mysql.php:2) in /home/www/web55/html/login.php on line 7 (8+9)

Das sind die Zeilen, in denen setcookie() steht.
Ich wüsste auch, dass es daran liegt, dass vorher schon HTML und son Zeuchs ausgegeben worden ist aber wie soll man sowas denn sonst realisieren?

Ich danke euch.

Gruß Claas
 
Hallo,
wie du bereits sagtest, ist bereits HTML Code ausgegeben worden. Das heißt du musst die Überprüfung auf Abschicken des Formulars vor der Ausgabe von HTML Code machen.
Wenn du dieses Formular includieren möchtest, könntest du z.B. eine PHP Datei erstellen, welche zwei Funktionen beinhaltet. Die eine stellt den jetzigen PHP Code dar, die andere gibt den Formular Html Code zurück. So könntest du dein Formular ähnlich einem Control verwenden.

mfg
Jens
 
Ich we0ß nciht so recht, wie du das meinst aber ich werde dann wohl oder übel meine index vollmüllen müssen, was mir total misfällt.
 
Auch das abfragen in der Index ergibt keinen Erfolg. Ich versuche es dann mal mit Sessions, die ich in der Abfrage starte, die Variablen werden in der Session gespeichert, neue leere Datei geladen, Cookie setzen Session zerstören, index laden. Ich werde mal versuchen, ob es sich mit einer Fallunterscheidung in der Logindatei machen lässt :)

Bis dann
 

Neue Beiträge

Zurück