2016-07-25 10 views
0

Ich habe 3 Tage lang ein webbasiertes php/html/mysqli-Spiel erstellt und gute Fortschritte gemacht, aber es ist schwer, Web-Programmierung zu genießen, wenn du keine Antwort findest oder du bist nicht schlau genug, es zu finden ... Ich benutze mysqli/php und ich kann nicht verstehen, wie man überprüft, ob der Benutzer [GAMEMASTER] oder [ADMINISTRATOR] ist. Meine Datenbank funktioniert perfekt, aber ich weiß nicht, wie ich einen Code schreibe, der erkennt, dass der Benutzer admin oder "GM" ist. Wäre es möglich, wenn ich Code so verwenden würde? DankePrüfe, ob der Benutzer Administrator/Gamemaster ist [MYSQLI]

public function gamemaster($uid){ 
$sql6="SELECT gamemaster FROM users WHERE uid = $uid"; 
$result = mysqli_query($this->db,$sql6); 
$user_data = mysqli_fetch_array($result); 
echo $user_data['gamemaster']; 
} 

Ich kann den verbleibenden Fortschritt nicht tun, ohne diese Antwort zu kennen.

+0

Fügen Sie eine Ebenenzeile in Ihre Benutzertabelle ein und speichern Sie Benutzerlevel. ex: admin> 1 und gamemaster> 2. –

Antwort

1

Wenn Sie so viele Rollen haben und wenn Sie von der Admin-Seite aus verwalten möchten, erstellen Sie eine neue Tabelle namens roles und erstellen Sie eine Beziehung zwischen den Rollen und der users-Tabelle.

Wenn Sie eine oder zwei Rollen haben, dann fügen Sie eine Spaltenrolle hinzu, dann geben Sie einige Flags für jede Rolle, dh 1 ist Admin, 2 ist GM, 3 ist Benutzer wie beim Speichern in Datenbank basierend auf Erlaubnis speichern 1,2, 3 Werte zur Rolle. Rollen $sql6="SELECT roles FROM users WHERE uid = $uid"; dieser wird arbeiten

Lassen Sie mich wissen, wenn Sie irgendwelche Zweifel haben.

+0

Dies ist der beste Weg, da Sie später während des Builds weitere Berechtigungen für die Tabelle und Funktionen hinzufügen können. – user3750649

0
public function gamemaster($uid){ 
$sql6="SELECT gamemaster,level FROM users WHERE uid = $uid"; 
$result = mysqli_query($this->db,$sql6); 
$user_data = mysqli_fetch_array($result); 
echo $user_data['gamemaster']; 
echo $user_data['level']; 
} 
+0

Dies wird Benutzerlevel anzeigen, aber ich möchte es zeigen, wenn Benutzer Gamemaster. –

+0

Definieren Sie Ebenen in mysql-Tabelle, wenn Benutzer erstellen, dann überprüfen, wenn Benutzerprotokollierung Sie Ebene des Benutzers erhalten. –

Verwandte Themen