Ankündigung

Einklappen
Keine Ankündigung bisher.

Rang System

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Rang System

    Hi ich bastle gerade an einem Forum.
    Leider häng ich zur ZEit bei dem User System also z.Bsp:
    Moderatoren,....
    Ich möchte, dass ich ganz leicht per ACP User Ränge,... hinzufügen und löschen kann.
    Und auch User ganz leicht ohne viel aufwand hineingeben kann !
    Wie mach ich das am besten ?

    also wie sollte es aufgebaut sein `?

    Gruß SimonErich
    Der G-Translator


  • #2
    ACP?

    Leg ne Moderatoren-Tabelle an und speicher da deren Rechte

    id;rights;userid

    Kommentar


    • #3
      Naja das dachte ich mir schon auch aber ich will
      es vielseitiger machen.
      man sollte z.Bsp: eine neue Gruppe anlegen können.
      Eine VIP Gruppe,....
      Und dann wie mach ich das am besten.
      Wenn Z.B ein VIP User Beiträge schreiben, aber nicht löschen darf,....
      Und für die verschiedensten Aufgaben.

      Ich dachte mir schon, dass ich eine Tabelle mit den Sicherheitsrichtlinien das heisst , dass einfach eine Spalte mit den verschiedenen Rängen und wenn ich einen neuen Rang hinzuzfüge mach ich eine neue Tabellen-Spalte.
      Und einfach immer einen neuen Eintrag mit dem Titel ACP: und dann eben für jeden Rang schreibrechte festlegen

      110 wäre dann z.Bsp: schreibrecht - bearbeiten aber nicht löschen.

      Nur würde das nicht viel zu lange dauern wenn das jedesmal vor jeder Aktion gemacht werden müsste´?

      Hat jemand eine bessere Idee ?


      In eine Datei speichern hätte wohl auch nicht mehr Sinn oder?
      Und wie machen das die ganzen Foren Systeme?



      Gruß SimonErich
      Der G-Translator

      Kommentar


      • #4
        Ich würde dir raten eins der vielen bereits fertigen, professionellen Foren zu benutzen. (z.B. http://www.phpbb.de/ oder http://www.woltlab.de/index.php ) Die bieten dir auch, wenn ich mich nicht irre, die möglichkeit Erweiterungen herunterzuladen oder selber zu schreiben.
        Zitat von Simon9990
        Und wie machen das die ganzen Foren Systeme?
        Du kannst ja eins Testweise installieren und dir mal die Tabellen anschauen.
        Water Wars - Jetzt anmelden: http://waterwars.de

        Kommentar


        • #5
          Ich würde mir eine Tabelle groups anlegen :

          id | name | add_threads | reply_threads | ....
          1 admin 1 1

          Dann includest du oben in deiner Hauptdatei (Wenns über switches läuft) eine Datei die prüft ob der User eingeloggt ist und wenn ja lutscht du dir die Gruppenid die beim Login mit in der Session übergeben wird raus und ziehst dir per mysql_query die Rechte der Gruppe. 1 steht dann für allowed, 0 für not allowed. Die Werte speicherst du dir dann am besten in ein Array (brauchst hier keine Session da die Datei eh immer included wird) und kannst dir dann z.b ne Funktion bauen die überorüft ob die und die Aktion überhaupt erledigt werden darf. So kannst du dann auch uneingeloggte User managen mit einer eigenen Gruppe.

          Pseudo-Code für die Funktion :

          PHP-Code:
          <?php
           
          function get_permissions($permission$permission_array) {
                         if(
          in_array($permission$permission_array) {
                           if(
          $permission_array[$permission] == "1") {
                             
          $do_return '1';
                           } else {
                             
          $do_return '0';
                           };
                         } else {
                           
          $do_return 'Not a programfunction in the permission array !';
                         };
                        return 
          $do_return;
           }
          ?>
          Nur Pseudo-Code wie gesagt. Und dann packst halt um dein Programmteil ne if-Abfrage.

          PHP-Code:
          <?php
            $permission 
          'add_thread';
            if(
          get_permissions($permission$permission_array) == "1") {
              
          Hier das rein was er dann machen darf
            
          } else {
              echo 
          'No permission';
            };
          ?>

          Kommentar


          • #6
            Hi so hab ich es mir eben auch gedacht nur würde ich die Spalten nach den Gruppen benennen , da es sonst ziemlich viele Spalten werden wenn da jede Funktion rein kommt.
            Aber wenn dies jedes mal neu geladen werden muss verlangsamt das ja das gamnze das war mein Bedenken!
            Der G-Translator

            Kommentar

            Lädt...
            X