Michi: Userrollen - Berechtigungen

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

  1. 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

    1. 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.

    2. 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

      1. 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

        1. 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?

          Nein leider nicht ganz...sorry! :-(

      2. 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.

    3. 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

      --
      Warum nennt sich Andreas hier MudGuard?
      Schreinerei Waechter
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.