Seite 1 von 1

probleme mit der abfrage der userrechte und login

Verfasst: 24.01.2004 00:37
von Shadowman
hm, wie der titel schon sagt habe ich da ein paar probs,
und zwar habe ich das prinzip mit dem online status nich ganz begriffen, und wann jemand eingeloggt ist.
genügt diese abfrage, ob jeamdn ein admin ist:

Code: Alles auswählen

if($userdata['user_level']==1)
und ob dies hier auch das richtige code schnipsel ist, um abzufrgane ob jeamnd eingeloggt ist:

Code: Alles auswählen

if($userdata['session_logged_in']!=-1)
ich hoffe es stimmt so, denn ich hatte gerade massive probleme, das er mich einmal ein ein eigenes admin pannel gelassen hat, obwohl ich ausgeloggt war, dann hat er mich als ausgeloggt angezeigt, obwohl ich im forum eingeloggt war, etc...

Re: probleme mit der abfrage der userrechte und login

Verfasst: 24.01.2004 00:46
von Pyramide
Versuch's mal so:

Code: Alles auswählen

if($userdata['session_logged_in']) {
  if($userdata['user_level'] == ADMIN) {
    //admin
  }
  elseif($userdata['user_level'] == MOD) {
    //moderator
  }
  else {
    //normaler user
  }
}
else {
  //gast
}

Verfasst: 24.01.2004 00:50
von Shadowman
uh danke, endlich gehts wieda.
hab nen richtigen schock bekommen, als ich nich eingeloggt war, aber news posten konnte etc...

*EDIT*
irgendwie stimmt was nicht. das hier ist mein code:

Code: Alles auswählen

<?php    
// schaun ob der benutzer eingeloggt ist
if($userdata['session_logged_in']!=-1)
{
echo "<center>"; 
echo "<font class='Head'>";
echo $userdata['username']."<br>";
if($userdata['user_level'] == ADMIN) { echo $lang['Status']['Admin']; }
elseif($userdata['user_level'] == MOD) { echo $lang['Status']['Moderator']; }
else { echo $lang['Status']['Normaluser']; }
echo "<br>";
echo "<a href='/forum/login.php?logout=true&sid=".$userdata['session_id']."'>[Logout]</a>";
echo "</font>";
echo "</center>";
}
else
{ 
echo "<center>"; 
echo "<font class='Head'>";            
echo "Sie sind nicht eingeloggt!<br>";
echo "<a href='/forum/login.php'>[Login]</a>";
echo "</font></center>";
} 
?>
doch nun erscheint das auf der seite:
Anonymous
Sie sind ein normaler User
[Logout]
das wundert mich rigendwie. was stimmt da nicht, muss ich da noch oben

Code: Alles auswählen

AND $userdata['user_id'] != -1 
hin??

Verfasst: 24.01.2004 01:14
von Pyramide
Nimm doch das != -1 bei session_logged_in mal raus. Vermutlich ist die Variable nicht -1, sondern 0, leer oder gar nicht gesetzt, wenn man ausgelogt ist. Wenn du einfach nur if($userdata['session_logged_in']) schreibst, werden diese Fälle alle korrekt als false erkannt.

Verfasst: 24.01.2004 02:09
von Shadowman
jetzt funzt es wieder, danke :D