PHP Warnings in Loginscript

  • Hallo,


    ich habe mit PHP ein Loginskript gebastelt (Leaderpanel).
    Leider gottes gibt er mir, wenn ich eingeloggt bin (oder nicht) folgendes aus:


    PHP
    Warning: mysql_num_rows() expects parameter 1 to be resource, string given in /users/zinneal/www/keybinder/leaderpanel2.php on line 16
    Warning: mysql_num_rows() expects parameter 1 to be resource, string given in /users/zinneal/www/keybinder/leaderpanel2.php on line 19
    Warning: mysql_num_rows() expects parameter 1 to be resource, string given in /users/zinneal/www/keybinder/leaderpanel2.php on line 22


    Hier der Code:

    PHP
    //Chopper stinkt nach fisch.session_start();$username = @$_POST['Name'];$passwort = @$_POST['Passwort'];if(!isset($_SESSION["username"])) { 	$cont = "Bitte erst im <a href='./leaderpanel.php'>Leaderpanel</a> einloggen!";	$sucess = -1;} $source = "SELECT Name,Leader FROM Users_AL WHERE Name = '".$username."' AND Leader = 1";mysql_query($source) OR die(mysql_error());if(!mysql_num_rows($source)){//LINE 16	$source = "SELECT Name,Leader FROM Users_RRR WHERE Name = '".$username."' AND Leader = 1";	mysql_query($source) OR die(mysql_error());	if(!mysql_num_rows($source)){//LINE 19		$source = "SELECT Name,Leader FROM Users_LOG WHERE Name = '".$username."' AND Leader = 1";		mysql_query($source) OR die(mysql_error());		if(!mysql_num_rows($source)){//LINE 22			$cont = "Dieser Account ist nicht als Leader eingetragen!";			$sucess = 0;		} else if(mysql_num_rows($source)){//LOG			$row = mysql_fetch_object($source);			if($row->Passwort == $passwort) 			{ 				$_SESSION["username"] = $username;				$sucess = 1;			} else {				$cont = "Falsches Passwort!";				$sucess = 0;			}		}	} else if(mysql_num_rows($source)){//RRR		$row = mysql_fetch_object($source);		if($row->Passwort == $passwort) 		{ 			$_SESSION["username"] = $username;			$sucess = 1;		} else {			$cont = "Falsches Passwort!";			$sucess = 0;		}	}} else if(mysql_num_rows($source)){//AL	$source = "SELECT Passwort FROM Users_AL WHERE Name = '".$username."'";	mysql_query($source) OR die(mysql_error());	$row = mysql_fetch_object($source);	if($row->Passwort == $passwort)     { 		$_SESSION["username"] = $username;		$sucess = 1;	} else {		$cont = "Falsches Passwort!";		$sucess = 0;	}}


    Ich weiß, etwas unübersichtlich, wie kann ich den Code optimieren, bzw wo ist der Fehler?


    lg

  • PHP
    $source = "SELECT Name,Leader FROM Users_AL WHERE Name = '".$username."' AND Leader = 1";
    mysql_query($source) OR die(mysql_error()); // <-- z.B. $result = mysql_query($source)
    if(!mysql_num_rows($source)){//LINE 16 <-- ja,weil $source ein STRING ist und nicht das Ergebnis von mysql_query()