Userrollen - Berechtigungen
Michi
- php
Guten Morgen zusammen
Ich bräuchte mal einen kleinen Anstoss von euch.
In meiner Usertabelle kann es sein, dass die User Rollen haben die wie folgt aussehen: ABCEHD (oder auch weniger).
Nun möchte ich meine Menüpunkte so steuern, dass ein Link nur kommt wenn er die Gruppe B hat. Und wenn der User Gruppe C und H hat sollen zwei andere Links erscheinen.
Hat mir jemand einen Tipp, wie ich da rangehen soll?
Vielen Dank einmal mehr
Gruss aus der Schweiz
Michi
Guten Morgen zusammen
Guten Morgen
In meiner Usertabelle kann es sein, dass die User Rollen haben die wie folgt aussehen: ABCEHD (oder auch weniger).
Empfehlung: dazwischen wenigstens ein Leerzeichen,
dann kannst Du es mit explode() auflösen und das Ergebnis in ein Array speichern
Nun möchte ich meine Menüpunkte so steuern, dass ein Link nur kommt wenn er die Gruppe B hat. Und wenn der User Gruppe C und H hat sollen zwei andere Links erscheinen.
Die einzelnen Arrayelemente geben das dann her.
Mit freundlichen Grüssen
HeikoH
Empfehlung: dazwischen wenigstens ein Leerzeichen,
dann kannst Du es mit explode() auflösen und das Ergebnis in ein Array speichern
Das könnte ich noch machen...und mit dem explode() Befehl komme ich dann sicher auch noch zu recht.
Dank dir für deinen Input.
In meiner Usertabelle kann es sein, dass die User Rollen haben die wie folgt aussehen: ABCEHD (oder auch weniger).
Empfehlung: dazwischen wenigstens ein Leerzeichen,
dann kannst Du es mit explode() auflösen und das Ergebnis in ein Array speichern
Wenn jetzt ein User die Rechte "B C D" hat und ich frage mit explode ein Array generiere, dann weiss ich nicht, an welcher Stelle jetzt "C" ist.
Und den Link würde ich ja wahrscheinlich mit
if ($einarrayelement == "C")
{
dann kommt der Link
}
else
{
und sonst nicht
}
abfragen.
Mmhh...begreife noch nicht ganz.
Gruss
Michi
Wenn jetzt ein User die Rechte "B C D" hat und ich frage mit explode ein Array generiere, dann weiss ich nicht, an welcher Stelle jetzt "C" ist.
$element[0] = B
$element[1] = C
$element[2] = D
"C D B"
$element[0] = C
$element[1] = D
$element[2] = B
Verstanden?
HeikoH
Wenn jetzt ein User die Rechte "B C D" hat und ich frage mit explode ein Array generiere, dann weiss ich nicht, an welcher Stelle jetzt "C" ist.
$element[0] = B
$element[1] = C
$element[2] = D"C D B"
$element[0] = C
$element[1] = D
$element[2] = BVerstanden?
Nein leider nicht ganz...sorry! :-(
Hi Michi,
Wenn jetzt ein User die Rechte "B C D" hat und ich frage mit explode ein Array generiere, dann weiss ich nicht, an welcher Stelle jetzt "C" ist.
Das lässt sich in PHP bequem mit der Funktion in_array() lösen:
$_userrights = explode(" ", $string);
if(in_array("C", $_userrights))
{
// mach was
}
MfG, Dennis.
Hi,
In meiner Usertabelle kann es sein, dass die User Rollen haben die wie folgt aussehen: ABCEHD (oder auch weniger).
Empfehlung: dazwischen wenigstens ein Leerzeichen,
dann kannst Du es mit explode() auflösen und das Ergebnis in ein Array speichern
Wozu?
false !== strpos(...)
reicht doch vollkommen, um festzustellen, ob ein Buchstabe in dem String vorkommt - ohne vorher das Array erzeugen zu müssen und dann per in_array darin zu suchen.
Die einzelnen Arrayelemente geben das dann her.
Die einzelnen Stringelemente (a/k/a Zeichen) geben das doch auch schon her.
cu,
Andreas