Problem mit function

..ooOOipOOoo..

Mitglied
Hoi!

Aus iergendeinem mir unbekannten Grund gibt die unten stehende Funktion IMMER! false zurück!

PHP:
function valid_usr($usr_id, $usr_pwd)
	{
 		$verbindung = mysql_connect($host, $user, $pwd);
	 	if ($verbindung) 
     			{
      			if (mysql_select_db($dbname, $verbindung))
      	   			{
            			$sql="SELECT pwd FROM $usrtable where usr_id=$usr_id";
            			$ergebnis=mysql_query($sql, $verbindung);
            			if ($ergebnis)
            				{ 
					
					 	
					$zeile = mysql_fetch_row($ergebnis);
					$pawd = $zeile[0];

					} 
				       else 
					{
             				echo "Abfrage \"$sql \" konnte nicht ausgeführt werden <br>\n";
             				echo mysql_errno() . ": ". mysql_error(). "<br>\n";
            				};
					
				};
            	 	}
                       else
			{
      			echo "Keine Verbindung bekommen!\n<br>";
      			echo mysql_errno() . ": ". mysql_error(). "<br>\n";
     			};
        	if (isset($usr_pwd)&& ($pawd == $usr_pwd)) { return true; } else { return $true; };
    		
	}; //FunctionEnd

Sie gibt mir auch false zurück, wenn die Passwörter richtig sind!
Habe ich eine Fehler, den ich nicht finde?

Gruesse

..ooOOipOOoo..
 
ich denke mal, daß Du ein Problem mit Deinen Variablen hast.
In PHP (wie auch in anderen Programmiersprachen) haben Variablen nur eine begrenzte Gültigkeit. So sind z.B. Variablen, die ausserhalb der Funktion bekannt sind nicht unbedingt auch innerhalb der Funktion bekannt.
Aus genau diesem Grund werden ja auch Variablen an die Funktion übergeben. ;)

Wenn Du trotzdem Variablen, die Du ausserhalb der Funktion definiert hast, in der Funktion nutzen willst, musst Du sie mit dem Befehl "global" zur Verfügung stellen.

PHP:
function meineFunktion($var1, $var2) {
   global $host, $user, $pwd;
   ...
   ...
}

hoffe das hilft.

Gruß
Dunsti
 
Danke, das wars

Hoi!

Kommt etwas spät, aber vielen Dank für deine Hilfe, du hast mir SEHR geolfen! Ich hätte sonst eine Menge Quellcode, den ich Funktionen auslagern konnte jedesmal direkt einsetzen müssen!

Gruesse

..ooOOipOOoo..
 

Neue Beiträge

Zurück