else-Zweig wird ausgeführt obwohl alles richtig scheint

xthetronx

Erfahrenes Mitglied
Hallo zusammen,

versuche mich gerade mit php auseinander zu setzen und habe auch apache, mysql etc. zum laufen bekommen.
Arbeite eigenltich hauptsächlich mit asp.
Ich habe nun versucht in php ein vorhandenes Login nachzubauen, was auch soweit funktioniert, bis ich zur
if($Passwort==$zeile[1]) {
Abfrage komme.
Obwohl in meiner Datenbank 'Benutzer=Admin' und 'Passwort=admin' ist, bekomme ich immer die else Bedingung
angezeigt. :rolleyes:

Vielen Dank

Torsten

PHP:
<?php
$Benutzer = $HTTP_POST_VARS['TF_Benutzer'];
$Passwort = $HTTP_POST_VARS['TF_Passwort'];
$db = mysql_connect("localhost","root","");
mysql_select_db("login");
$anfrage = "SELECT * FROM tabLogin WHERE Benutzer Like'";
$anfrage.=$Benutzer;
$anfrage.="'";
$ergebnis = mysql_query($anfrage);
$anz = mysql_num_rows($ergebnis);
if($anz==1) {
	$zeile = mysql_fetch_row($ergebnis);
	if($Passwort==$zeile[1]) {
		print("Login korrekt");
		print("Hier geht es weiter");
	}
	else {
		print("Benutzername korrekt, Passwort NICHT");
	}
}
else {
	print("Benutzername nicht vorhanden");
}
mysql_close($db);
?>
 
Schau mal, ob du Groß-Klein-Schreibung des Passworts beachtet hast.
Desweiteren kannst du dir mir print_r( $zeile ); die Array-Struktur ja
mal ausgeben lassen.
Dann siehst du z.B. ob 1 nicht vielleicht doch der falsche Schlüssel ist.
Auch ein echo $Passwort." - ".$zeile[1]; kann nicht schaden.
 
Hallo Fabian,

danke für den schnellen und guten Tip mit print_r.
Habe das hier ausgegeben bekommen:

Admin adminArray ( [0] => 1 [1] => Admin [2] => admin [3] => info@test.de )

Hab ja 3 Elemente im Array, deshalb hat es nicht funktioniert.

Frohe Weihnachten

Torsten :)
 
Zurück