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 kategorienund zu guter letzt noch ne tabelleCode:kategorien kat_id | kat_text 1 | news anlegen 2 | news bearbeiten 3 | news löschen 4 | private nachrichten senden
jetzt kannst du das wunderbar zuordnenCode: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
-
So weit bin ich auch gekommen, doch das hilft auch nicht, da ich ja keine Kategorie spezifieren will, sondern Usern einer Kategorie zuordnen möchte.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
-
Okay, vielen dank, diese Variante gefällt mir schon viel besser.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 kategorienund zu guter letzt noch ne tabelleCode:kategorien kat_id | kat_text 1 | news anlegen 2 | news bearbeiten 3 | news löschen 4 | private nachrichten senden
jetzt kannst du das wunderbar zuordnenCode: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:
Zuordnen tu ich die Rechte folgender Maßen: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) )");
Und so in der Tabelle hinzugefügen: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
-
richtig erkannt. deswegen nennt man seine db auch im html einfach cb[] . somit hast du ein array in php zur verfügung, welches du mit einer schleife durchläufst.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
-
kurze gegenfrage: warum testest du es nicht einfach.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
-
verstehst du mich nicht, oder willst du mich nicht verstehen.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?
voninPHP-Code:echo "<input type='checkbox' class='checkbox' name='catid'> blah";
oder hat er das nicht gesagt?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