(PHP IF Abfrage für eine Rang Verteilung)?
Guten Abend,
ich bin momentan dran mich mit PHP ein bisschen auseinander zu setzten, und ich brauche Hilfe bei einer IF abfrage oder eine bessere Idee wie es funktionieren kann.
Die Situation sieht so aus:
<?php
if ( ('rang') > '2')
{
echo'
<li>
<a href="Dashboard.php">
<i class="fa fa-dashboard"></i> <span>Dashboard</span>
</a>
</li>';
}
?>
Im Grunde soll es so aussehen:
- Es gibt zwei oder mehrere Ränge
-Normaler User ist Rang 1
-Administrator ist Rang 2
Bei der Abfrage soll der Administrator auf der Startseite das Dashboard angezeigt bekommen.
Und die If-abfrage ist mir als erstes eingefallen, ich verstehe aber nicht wie ich das ganze jetzt mit der Datenbank verbinde bzw. mit der Tabelle.
Ich mach das nur in meiner Freizeit und nicht wirklich lange, aber ich finde solche Themen klasse. Da wäre meine zweite frage ob es irgendwo im Netz eine Gute Seite gibt, wo man ein bisschen was über PHP lernen kann aber auch von Anfang an.
Ich freue mich auf Antworten.
LG. Freddy
2 Antworten
"In der datenbank ist also jetzt ein reiter Login mit den unterpunkten ID, username , passwort , email , zeit registrieren und jetzt soll noch ein punkt mit (Rang) dazu wo der INT 1 oder 2 für user oder admin sein soll"
Der Reiter Login ist eine Tabelle innerhalb der Datenbank.
Im Prinzip wird beim Login doch geprüft, ob der sich gerade anmeldende Benutzer in dieser Tabelle vorhanden ist und für den Zugriff berechtigt ist. Dann kann man dabei auch gleich den benötigten Integer-Wert aus der Benutzerzeile auslesen und in einer globalen Variable mitführen. Anhand dieser Variablen kann dann bei Bedarf die entsprechende Funktion eingeblendet werden. (Stichwort $Globals) Alternativ und um globale Variablen zu vermeiden -> wenn benutzertypabhängig Aktionen durchgeführt werden sollen, vor jeder Aktion eben aus der Benutzertabelle den Wert für den angemeldeten Benutzer auslesen.
(Das Passwort steht hoffentlich nicht im Klartext in der Tabelle. Falls doch direkt Gedanken um die verschlüsselte Speicherung - ideal noch in gesalzener Form - machen. Sonst gewährst du jedem, der -auch ungewollt- Zugriff auf die Datenbank bekommt, nahezu vollen Zugriff auf die Anwendung. )
Da wäre es denkbar. (War gedanklich selbst gerade in VB.NET gefangen und hab ehrlich gesagt an Session gar nicht gedacht. Wäre aber naheliegender als mit den Globals zu arbeiten.)
Hallo Freddyooo,
PHP Tutorial: https://www.w3schools.com/php/DEFAULT.asp
MySQL für Datenbanken:
https://www.w3schools.com/php/php_mysql_intro.asp
Ich kann mir gerade noch nicht ganz was darunter vorstellen was du meinst. Hast du vielleicht ein Bild als Beispiel oder so?
Also eine datenbank ist vorhanden login registrieren geht auf der seite auch ohne probleme. In der datenbank ist also jetzt ein reiter Login mit den unterpunkten ID, username , passwort , email , zeit registrieren und jetzt soll noch ein punkt mit (Rang) dazu wo der INT 1 oder 2 für user oder admin sein soll und dann sollte man das dashboard auf der seite nur angezeigt bekommen wenn in der datenbank bei Rang die 2 steht.
Ich hoffe ich habe es einigermaßen verständlich erklärt :/
Achso okay, was ich noch nicht verstehe, wie soll erkannt werden wer admin oder user ist? An den Login Daten dann?
Vielen Dank für deine Antwort :) Meinst du direkt in der session einbinden wenn man sich einloggt ?