fehler bei admin funktion

ede592

Mitglied
Hallo

Ich habe eine Admin funktion geschrieben, die wenn man als admin festgelegt wird in der datenbank in der spalte admin den wert 1 einträgt und wenn als user 2. Umzu überprüfen ob man Admin ist hab ich nun folgende funktion geschrieben
PHP:
function admin($admin1)
{
$sql="SELECT admin from users WHERE UserID=".$_SESSION['user_id']."";
$erg=mysql_query($sql);
$rang=mysql_fetch_array($erg);
	if($rang == '1')
	{$admin1=true;}
	else{$admin1=false;}

}
Jetz habe ich eine Ausgabe erstellt
PHP:
admin($admin);
	if($admin=true){echo"Sie sind admin!";} else{echo"sie sind kein admin";
Mir wird nun immer ausgegebn "Sie sind admin!" egal ob der wert 1 oder 2 ausgelesen wird... Müsste ein kleinerer Fehler sein den ich allerdings nicht finde. DANKE für eure Hilfe!
 
PHP:
if($admin=true)
Diese Abfrage wird immer true sein und einen User immer zum Admin erklaeren.
Grund ist dass hier geprueft wird ob die Zuweisung $admin=true erfolgreich verlaeuft.
Wenn Du aber den aktuellen Wert der Variable $admin mit dem Boolean true vergleichen willst musst Du == oder gar === nutzen. Im letzteren Fall wird auch explizit geprueft ob $admin ein Boolean ist, ansonsten wuerden naemlich auch andere Werte, z.B. der Integer 1, als true anerkannt werden.
 
Zurück