Ich möchte meinen Usern Userrechte vergeben, wobei ich Checkboxen verwenden will, für jeweilige Kategorien, wie zum Beispiel News, Artikel und so weiter. Nun wüsst ich aber nicht wie ich das tun könnte, da ich vorher nie mit Checkboxen und derartigem gearbeitet habe. Ich hatte schon die Idee eine extra Tabelle anzufertigen, wo die zu administrirende Kategorien aufgelistet sind, aber da diese ja alle eine eigene ID hätten, weiß ich nicht wie ich das den jeweligen User anpassen könnte, ihn für diese oder diese Kategorie Rechte zu geben. Wäre nett, wenn ihr ein paar Vorschläge posten könntet.
Userrechte - wie realisieren ?
Einklappen
X
-
eine tabelle mit usern hast du schon (ich nenn den prinärschlüssel mal user_id)
dann machst du eine tabelle mit kategorienCode:kategorien kat_id | kat_text 1 | news anlegen 2 | news bearbeiten 3 | news löschen 4 | private nachrichten senden
Code:rechte_id | user_id | kat_id 1 | 1 | 1 2 | 1 | 2 3 | 1 | 3 4 | 2 | 1 5 | 2 | 4 6 | 3 | 1 7 | 3 | 2
skaschys variante find ich persönlich weniger gut, weil das dann unflexibel is, wenn du rechte gezielt verteilen willstIch denke, also bin ich. - Einige sind trotzdem...
Kommentar
-
Original geschrieben von Skaschy
Hmm
Also machst ne Tabelle wo die User drin stehen
eine spalte nennste "rights"
und machst dann ne if abfrage wie der wert halt sein soll
zbs
if ($rights == "master")
Hoffe es kann dir einigermassen helfen
Gruss Skaschy
Kommentar
-
Original geschrieben von mrhappiness
eine tabelle mit usern hast du schon (ich nenn den prinärschlüssel mal user_id)
dann machst du eine tabelle mit kategorienCode:kategorien kat_id | kat_text 1 | news anlegen 2 | news bearbeiten 3 | news löschen 4 | private nachrichten senden
Code:rechte_id | user_id | kat_id 1 | 1 | 1 2 | 1 | 2 3 | 1 | 3 4 | 2 | 1 5 | 2 | 4 6 | 3 | 1 7 | 3 | 2
skaschys variante find ich persönlich weniger gut, weil das dann unflexibel is, wenn du rechte gezielt verteilen willst
Kommentar
-
Hmm, also ich hab jetzt die Tabellen erstellt:
Code:mysql_query("CREATE TABLE $user_cat_tname ( id int(11) NOT NULL auto_increment, PRIMARY KEY (id), name varchar(80) DEFAULT '' NOT NULL )"); mysql_query("CREATE TABLE $user_rights_tname ( id int(14) NOT NULL auto_increment, catid int(11) DEFAULT '0' NOT NULL, userid int(11) DEFAULT '0' NOT NULL, PRIMARY KEY (id) )");
PHP-Code:while ($cat = mysql_fetch_array($rights)) { echo "<input type='checkbox' class='checkbox' name='catid2'> $cat[name] "; }
[PHP]
mysql_query("INSERT INTO $user_rights_tname (catid, userid) VALUES ('$catid2', '$userid')");
2 Kategorien habe ich in der Checkbox makiert und ausgewählt. Nun steht in der $user_rights_tname-Tabelle folgendes:
ID: 1 CATID: 0 Userid: 1
Und das Prinzip verstehe ich nicht, da ja die Checkbox doch mehrere Variablen haben müsste, desto mehr ausgewählt wird. Wähle ich nur eine Checkbox aus funktioniert es, aber dazu bräuchte ich ja auch keine Checkbox. Was kann ich tun ?
Kommentar
-
da ja die Checkbox doch mehrere Variablen haben müsste, desto mehr ausgewählt wird.
OffTopic:
mal am rande. jetzt wo du nicht mehr den anderen thread nutzt, musst du nicht zwingend hier das gleiche veranstalten, was schon im anderen thread gelaufen ist. nur mal so am rande.
im übrigen steht noch was in anderen thread von dir aus.INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
Kommentar
-
Original geschrieben von jOhnny knOx
Kurze Frage: [...]INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
Kommentar
-
wenn du die suche bemüht hättest (=> checkbox):
http://www.php-resource.de/forum/sea...der=descending
hättest du das hier gefunden
http://www.php-resource.de/forum/sho...light=checkbox
Kommentar
-
Original geschrieben von jOhnny knOx
versteh nicht was du meinst, was ist cb[] ?INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
Kommentar
-
Original geschrieben von Abraxax
verstehst du mich nicht, oder willst du mich nicht verstehen.OffTopic:
Warum sollte ich fragen, wenn ich es nicht verstehe ?
Zuletzt geändert von jOhnny knOx; 11.06.2003, 20:58.
Kommentar
-
abraxax hat doch gesagt, dass du deine checkboxen umbenenn sollst oder?
vonPHP-Code:echo "<input type='checkbox' class='checkbox' name='catid'> blah";
PHP-Code:echo "<input type='checkbox' class='checkbox' name='catid[]'>blah";
jetzt hast du in php ein array mit allen angeklickten checkboxen und wenn du jetzt bei jeder checkbox noch ein value tag reinschreibst und das mit der id der kategorie belegst, hast du sogar was zum abfragen in deinem skript
was willst du denn abfragen, wenn es kein value-attribut gibt bei den checkboxen?Ich denke, also bin ich. - Einige sind trotzdem...
Kommentar
Kommentar