Hallo zusammen,
ich arbeite gerade an einer Navigation, deren Links von einer Datenbank ausgelesen werden, und dann über das Rechtesystem "ausgewertet" wird, ob der Link angezeigt werden soll, oder nicht (Das Rechtesystem steckt noch in Kinderschuhen).
Die Datenbank ist folgendermaßen aufgebaut:
id | aktiv | kategorie_id | name | url | stelle | rechte
(nur id für die db | ob der link überhaupt angezeigt werden soll oder nicht | zu welcher "Überordnung" der Link gehört | wird für den Link angezeigt | dreimal dürft ihr raten | an wievielter stelle der Link stehen soll | wer den Link sehen darf)
Das Rechtesystem ist mit einem gestaffeltem Zahlensystem aufgebaut:
0: Nicht angemeldet
25: Normaler User, nur die normalen Rechte
50: Moderatoren
75: Entwickler
100: Admin
(wie gesagt, steckt noch in den Kinderschuhen)
Das Auslesesystem für doie Anzeige:
Alles anzeigen
Jetzt habe ich das Problem, dass drei Links nur angezeigt werden sollen, wenn man nicht eingeloggt ist ("Login", "Registrieren", "Passwort vergessen"). Doch da ich mit dem Rechtesystem bei den drei Links bei Rechte 0 eingetragen habe, werden diese auch angezeigt, wenn man eingeloggt ist.
Wie kann man das am schlauesten lösen, was meint ich?
Danke schonmal
Fipsi
ich arbeite gerade an einer Navigation, deren Links von einer Datenbank ausgelesen werden, und dann über das Rechtesystem "ausgewertet" wird, ob der Link angezeigt werden soll, oder nicht (Das Rechtesystem steckt noch in Kinderschuhen).
Die Datenbank ist folgendermaßen aufgebaut:
id | aktiv | kategorie_id | name | url | stelle | rechte
(nur id für die db | ob der link überhaupt angezeigt werden soll oder nicht | zu welcher "Überordnung" der Link gehört | wird für den Link angezeigt | dreimal dürft ihr raten | an wievielter stelle der Link stehen soll | wer den Link sehen darf)
Das Rechtesystem ist mit einem gestaffeltem Zahlensystem aufgebaut:
0: Nicht angemeldet
25: Normaler User, nur die normalen Rechte
50: Moderatoren
75: Entwickler
100: Admin
(wie gesagt, steckt noch in den Kinderschuhen)
Das Auslesesystem für doie Anzeige:
Quellcode
- $ergebnis = $mysqli->query("SELECT id, aktiv, name, url, rechte FROM navigation_kategorie ORDER BY stelle");
- echo "<ul>\n";
- while ($result = $ergebnis->fetch_object())
- {
- if (((($result->rechte <= "24")&&($user->rechte >= "25"))||(($result->rechte <= "24")&&(!isset($user)))||(($result->rechte >= "24")&&($user->rechte >= "25")))&&($result->aktiv == "1")) {
- $navi_kate_id = $result->id;
- $abfrage = $mysqli->query("SELECT id, aktiv, login, name, url, rechte FROM navigation_links WHERE kategorie_id = '$navi_kate_id' ORDER BY stelle");
- echo "<li>";
- echo "<a href=\"".$result->url."\">";
- echo bbcode($result->name);
- if (($result->id == "4")&&($_SESSION['eingeloggt'] == TRUE))
- {
- echo " [".$user->username."]";
- }
- echo "</a>\n";
- echo "<ul>\n";
- while ($row = $abfrage->fetch_object())
- {
- if (((($row->rechte <= "24")&&($user->rechte >= "25"))||(($row->rechte <= "24")&&(!isset($user)))||(($row->rechte >= "25")&&($user->rechte >= "25")))&&($row->aktiv == "1"))
- {
- echo "<li><a href=\"".$row->url."\">";
- echo bbcode($row->name."</a></li>\n");
- }
- }
- echo "</ul>";
- echo "</li>\n";
- }
- }
- echo "</ul>\n";
Jetzt habe ich das Problem, dass drei Links nur angezeigt werden sollen, wenn man nicht eingeloggt ist ("Login", "Registrieren", "Passwort vergessen"). Doch da ich mit dem Rechtesystem bei den drei Links bei Rechte 0 eingetragen habe, werden diese auch angezeigt, wenn man eingeloggt ist.
Wie kann man das am schlauesten lösen, was meint ich?
Danke schonmal
Fipsi