PHP Warnings in Loginscript

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
  • 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()