Ankündigung

Einklappen
Keine Ankündigung bisher.

Rangsystem mit Datenbank (User, Admin...)

Einklappen

Neue Werbung 2019

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

  • Rangsystem mit Datenbank (User, Admin...)

    Hi Leute, bin neu hier, aber kenne mich schon etwas besser mit PHP aus.
    Bin gerade dabei einen Privaten Bereich zu designen. Nun will ich eine Art Rangsystem erstellen, sodass bestimmte Dinge nur angezeigt werden, z.B wenn man Admin ist. Hab schon ein wenig rumprobiert, denke aber, dass ich mit meinen Denkansätzen nicht zum Ergebnis komme.
    Ich habe gedacht, in der Datenbank eine Spalte Namens "Rang" anzulegen, in der die Rangnamen gespeichert werden (z.B. Ersteller, Admin, User). Nun soll geprüft werden, was in der Spalte "Rang" bei dem Angemeldeten Nutzer steht. Dazu muss man jedoch wissen, wie man die Datenbank ausließt und den Wert prüft... Und genau das ist mein Problem.
    Ich hatte sowas im Sinn:
    PHP-Code:
    <?php
    if( ($_SESSION['rang'] === 'admin') OR ($_SESSION['rang'] === 'ersteller') ) {
      
    // Zeige Content, den  nur Admin und Ersteller sehen können
    } else { // Die anderen geht das nix an :D
    }?>
    Hoffe das ist einigermaßen verständlich und ich bin nicht komplett auf dem Holzweg xD
    Im Internet finde ich nur Sachen von vor 2 Jahren, die man vergessen kann, weil es veraltet ist. Könnt ihr mir da weiterhelfen? Denkansätze würden mir auch schon reichen
    Danke im Voraus, LG Fabian

  • #2
    Du kennst Dich etwas besser mit PHP aus weisst aber nicht wie man eine Datenbank anspricht?
    Hab ich das richtig verstanden?

    Etwas 2-jähriges muss nicht zwingend veraltet sein. PDO ist das (beste) Stichwort. Verwende Prepared Statements um die Datenbank abzufragen und deine Daten herauszuholen.

    Ob die Datenbankstruktur so sinnvoll ist, ist eine andere Frage. Um das zu beantworten bräuchte man mehr Details über das Projekt.

    Kommentar


    • #3
      Zitat von jonas3344 Beitrag anzeigen
      Du kennst Dich etwas besser mit PHP aus weisst aber nicht wie man eine Datenbank anspricht?
      Hab ich das richtig verstanden?

      Etwas 2-jähriges muss nicht zwingend veraltet sein. PDO ist das (beste) Stichwort. Verwende Prepared Statements um die Datenbank abzufragen und deine Daten herauszuholen.
      Ich habe dazu geschrieben, dass ich mich besser auskenne, weil ich kein Richtiger Anfänger bin. Wenn mir jemand sagen würde wie das geht, kann ich viel damit anfangen, da ich ein paar weitere Kenntnisse habe. Ich finde nur einfach keine Lösung, die es auf den Punkt bringt.
      Datenbank auslesen (SELECT rang FROM Users WHERE name == $name) sollte so funktionieren...
      Variable speichert genau diesen Rang. Danach wird abgeprüft, ob man z.B. Admin ist und somit der Bereich für den Admin ausgegeben werden kann.
      Und ich benötige einfach nur das:

      Datenbank auslesen (SELECT rang FROM Users WHERE name == $name)
      $Rang speichert genau diesen Rang
      .

      Das mit PDO hört sich doch gut an. Nur wie geht das

      Kommentar


      • #4
        http://www.peterkropff.de/site/php/pdo.htm
        https://php-de.github.io/jumpto/pdo/

        Einfach ausprobieren, ist kein Hexenwerk
        [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
        [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

        Kommentar


        • #5
          Zitat von Fabian3081 Beitrag anzeigen
          [FONT=verdana]Hi Leute, bin neu hier, aber kenne mich schon etwas besser mit PHP aus.
          Bin gerade dabei einen Privaten Bereich zu designen. Nun will ich eine Art Rangsystem erstellen, sodass bestimmte Dinge nur angezeigt werden, z.B wenn man Admin ist. Hab schon ein wenig rumprobiert, denke aber, dass ich mit meinen Denkansätzen nicht zum Ergebnis komme.
          Ich habe gedacht, in der Datenbank eine Spalte Namens "Rang" anzulegen, in der die Rangnamen gespeichert werden (z.B. Ersteller, Admin, User). Nun soll geprüft werden, was in der Spalte "Rang" bei dem Angemeldeten Nutzer steht. Dazu muss man jedoch wissen, wie man die Datenbank ausließt und den Wert prüft... Und genau das ist mein Problem.
          Du könntest das ganze in der DB abwickeln. Verschiedene Rollen, die entsprechende Rechte haben. Diesen Rollen ordnest Du die User zu. Auch Rollen können anderen Rollen zugeordnet werden. Je nach Bedarf auch kombiniert mit Row Level Security (RLS) und/oder Security-Definer - Functions drumherum.
          PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

          Kommentar


          • #6
            Danke erstmal für die Antworten. Habt mir sehr geholfen!
            https://php-de.github.io/jumpto/pdo/ Einfach ausprobieren, ist kein Hexenwerk
            Da ist das Dabei, was ich gebraucht hab

            Kommentar

            Lädt...
            X