Also, um meine Situation mit ein paar Codes zu erklären:
1.: Eine Tabelle mit "rechten"
Code:
create table rechte(id serial primary key, name text not null)
2.: Eine Tabelle mit "tabellen"
Code:
create table tabellen(id serial primary key, name text not null, rechte integer references rechte(id) default ('2'))
Ich hoffe, die Codes funktionieren wie sie sind, jetzt nicht auf die schnelle versucht.
jedenfalls, wenn du auf die oben gepostete Homepage gehst, ist links ein Menü mit Links, die wiederum alle auf einzelne Seiten weiterleiten. (Diese sind wiederum die Namen der Tabellen, wo die eingetragenen Rechte immer über 1 sind, wobei ein "Neuling", der nicht registriert ist die Rechte gleich 1 bekommt, sprich an sich nur die Seiten sehen kann, die einen geringereren "Recht-Wert" haben, als den Default-Wert, das sind eben die Teile der Seite, die ich allgemein veröffentlichen möchte.
Warum default gleich 2 ist? Wenn man sich registriert, bekommt man zutritt zu der einen oder anderen weiteren Seite (Plauderecke zum Beispiel), und wenn ich dieser Person die bisherigen Rechte ändere (z.B.: wenn er in der Gilde ist, und mir auch sagt, "setz mich mal von den rechten her höher", dann würde ich das auch tun, wenn dem so ist, mit folgendem Code:
Code:
Update accounts set rechte = '3' where name = 'Name'
Die bisher höchsten "Rechte" habe entsprechend nur ich, was wiederum 5 entspricht, damit eben ich ernsthaft alle Tabellen angezeigt bekomme, und die einzelnen Seiten.
4 wäre für "höhergesetzte", sprich unserem Gildenleader, Raidleader (eine Gruppe an Spielern, die sich etwas stellt, von denen wiederum die "Leitperson"), oder sonstige.
Falls meine Angehensweiße Grundlegend falsch ist, erwarte ich mir jedoch Verbesserungsvorschläge
Ich meine, mir ist bewusst, dass das hier kein PHP-Forum ist, aber ich handle, je nachdem welcher Name sich erfolgreich einloggt, mit den Rechten von diesem Benutzer, die wiederum 1-5 entsprechen, und zeige dementsprechend links im Menü verschiedene Punkte an.
Aber, um hier mal die Funktion zu schreiben, welche wiederum im PHP genutzt wird:
Code:
create function account_rechte(x text) returns integer as 'select rechte from accounts where name = x' language sql;
Wobei die Spalte Name natürlich unique ist