eigentlich ein lächerlich simpler login...

Rios

Erfahrenes Mitglied
es scheint als ob heute mal wieder der "brettvormkopftag" ist.
Hab nur nen simplen login mit mysql ohne sessions

PHP:
<?php
include "dbconnect.php";
$sql="select * from user";
$result=mysql_query($sql);
$anzresult=mysql_num_rows($result);
	
	for ($i=0;$i<$anzresult;$i++)
	{
	$rowresult=mysql_fetch_array($result);
	if (($_POST['username']==$rowresult['username'])&&($_POST['passwort']==$rowresult['passwort']))
		header("location:test.html");
				else 
					 echo "kein zugang";
	}

?>

das komische ist: hab zum test mal 3 user angelegt, beim 1 user funktionierts, bei den anderen kommt folgende meldung:

kein zugangkein zugang
Warning: Cannot add header information - headers already sent by (output started at ..../login/login.php:15) in ...login/login.php on line 13

sieht jemand den fehler?
 
die header() fehlermeldung kommt weil du vorher schon was ausgegeben hast
also arbeite mit echo "<script>location='test.html'</script>" oder dem meta tag für eine weiterleitung
versuch doch auch mal die if abfrage ausserhalb der for-schleife ablaufen zu lassen
 
ah jetzt seh ich, der else block muss aus der forschleife, sonst bricht er schon ab bevor er alle datensätze kontrolliert hat.
danke

argh wenn ich den else block aus der schleife rausnehme, funktioniert der login mit richtigem pw, wenn ich was falsches eingebe heisst es parse error in der zeile wo else steht :-(

PHP:
<?php


	include "dbconnect.php";
	$sql="select * from user";
	$result=mysql_query($sql);
	$anzresult=mysql_num_rows($result);
	
	for ($i=0;$i<$anzresult;$i++)
	{
	$rowresult=mysql_fetch_array($result);
	if (($_POST['username']==$rowresult['username'])&&($_POST['passwort']==$rowresult['passwort']))
		header("location:test.html");
				
	}
			else 
					echo "kein zugang";
					

?>
 
Zuletzt bearbeitet:
lass mal die schleife weg..das kannst du auch gleich in der abfrage machen....

probiers mal so


$result=mysql_query("select * from user where username='$username' AND passwort='$passwort'");
$anzresult=mysql_num_rows($result);

if ($anzresult) {
header("location:test.html");
} else {
echo "kein zugang";
}
 

Neue Beiträge

Zurück