| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

18-07-2010, 21:05
|
|
LordSinclair
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 5
|
|
Navigation abhängig von Benutzer-Recht
Hallo.
Ich habe mir ein kleines Programm für DVD-, Musik,- und Datenliste für mehrere Benutzer geschrieben.
Diese können sich mit der Angabe, welche Sparte sie eintragen möchten, registrieren.
Das klappt schon wunderbar.
Nun möchte ich die Site entsprechend anpassen, das die Benutzer nach der Anmeldung nur die Menüpunkte entsprechend der eingetragenen Rechte angezeigt bekommen (zb, nur DVDs, nur Musik, oder beides). Vorher, wenn nicht angemeldet, soll nur der frei zugängliche Teil und die Anmeldung/Registrierung zu sehen sein (ähnlich wie bei einem CMS).
Wie kann ich das am besten realisieren. Gibt es dafür Tuts/Anleitungen bzw. fertige Scripts? Für gute Tips wäre ich dankbar.
|

18-07-2010, 21:22
|
|
litterauspirna
Registrierter Benutzer
|
|
Registriert seit: Nov 2007
Beiträge: 333
|
|
Na wie hast du denn dein bisheriges System relaisiert? Deine Informationen sind recht sperlich um hier einen Tipp zu geben. Gibts ne Datenbank, wenn ja welche? Oder speicherst du das in einer txt Datei oder wie?
Bitte ein paar mehr Infos und man kann sicher mehr sagen dazu.
So richtig verstehe ich dich auch nicht, eine benutzer soll registrieren und dabei einen Bereich wählen wo er was Uploaden darf oder downloaden?
Gruß litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
|

18-07-2010, 21:40
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.077
|
|
In der Navigation erfolgt die selbe Prüfung wie auf der Hauptseite.
if(user hat recht den bereich zu betreten)
echo navigation;
Wie stellst du denn sicher, dass der User die DVD-Seite (nicht) sehen darf? Genauso machst du es in der Navigation, nur kleiner.
Ggf. kann man dann hinterher noch ein paar Abfragen optimieren, falls z.B. ohnehin alles aus der DB kommt.
|

19-07-2010, 08:43
|
|
LordSinclair
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 5
|
|
Die Userdaten sind in einer Datenbank abgespeichert (Uid, Vor- und Nachname, Password, Email, Userlevel).
Beim Rechtesystem habe ich mir ein binäres Rechtesystem ausgesucht, wobei 128 der Admin ist (ist aber auch problematisch).
Menu ist momentan noch statisch Html (leider), wobei die Benutzer es auf die Finger bekommen, wenn sie nicht die entsprechenden Rechte haben.
Das Prinzip hinter meinem Programmchen ist, wenn sich ein User registriert, soll er angeben, was er benutzen will (DVD-DB, Musik-DB, DivX-DB, sonstige DBs und die Kombination aus mehreren DBs).
Gruß
LordSinclair
|

19-07-2010, 12:10
|
|
eagle275
Registrierter Benutzer
|
|
Registriert seit: Jun 2010
Beiträge: 371
|
|
schau mal ... so schwer ist es wirklich nicht...
in meinem Projekt läuft das so (grob)
PHP-Code:
echo '<div class="mainnavi">'; echo '<ul>'; // Navigationsleiste unterhalb d Logos ... echo '<li><a href="'.$PHP_SELF.'?frm=1"'; // Zusammenbauen if ($anzeige==1) // $anzeige = aktiver Nav-Punkt echo ' class="aktiv"'; echo '>Kunde suchen</a></li>'; if ($darstell>0) { // nur wenn vorher ein Kunde gesucht wurde echo '<li><a href="'.$PHP_SELF.'?frm=10"'; if ($anzeige==10) echo ' class="aktiv"'; echo '>Kunden-Daten</a></li>'; } if ($ret[2]<256) { // Rechtestufe - auch Binär echo '<li><a href="'.$PHP_SELF.'?frm=9"'; if ($anzeige==9) echo ' class="aktiv"'; echo '>Neuer Kunde</a></li>'; } ..... if ($ret[2]>=2048) { // Adminstufe echo '<li><a href="'.$PHP_SELF.'?frm=7"'; if ($anzeige==7) echo ' class="aktiv"'; echo '>Administration</a></li>'; } echo '</ul>'; echo '</div>'; // Ende Mainnavi
das ist ein Ausschnitt aus meinem Menü .. geht sicher noch eleganter - aber es tut, was es soll
du musst im Prinzip nur auf die Rechtestufe prüfen, ob ein Menüpunkt ausgegeben wird - oder nicht
Und natürlich in dem Bereich der dann entsprechend in Funktionen verzweigt, solltest du nochmal testen, damit kein User deine Rechte-stufen unterwandern kann (indem er einfach Post oder Get-Daten manipuliert)
__________________
Wer LESEN kann, ist klar im Vorteil!
Geändert von eagle275 (19-07-2010 um 12:14 Uhr)
|

19-07-2010, 14:28
|
|
litterauspirna
Registrierter Benutzer
|
|
Registriert seit: Nov 2007
Beiträge: 333
|
|
Wie gesagt ich kenne dein System nicht wirklich, aber ich würde das dann so machen. Deine Kategorien haben ja ne ID, so dann könntest du eine extra Tabelle anlegen in der du die ID der jeweiligen Kategorie rein schreibst und das Recht mit welchen man in dieser Kategorie down oder uploaden darf. So das gleiche mache du für einen User der sich registriert, auch eine extra Tabelle anlegen da die User_ID rein und das Recht was er hat wenn er sich für eine gewisse Sparte ode rKategorie (das Prinzip ist das selbe) einträgt. Beim Menü auslesen dann einfach die Kontrollstruktur entsprechend aufbauen und deine Bedingungen bilden.
Mache dir vieleicht mal eine PAP oder ein Struktogramm, dass heist denke richtig darüber nach und bringe es logisch zu Papier und dann kannst du das eben in Programmcode tippen.
Mfg litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
|

19-07-2010, 22:39
|
|
LordSinclair
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 5
|
|
Der Code sieht prima aus, werde es mir zu Gemüte führen und es dann in meinem Programm einbauen, wenn ich es kapiert habe.
Vielen Dank für eure Hilfe!
|

20-07-2010, 07:42
|
|
eagle275
Registrierter Benutzer
|
|
Registriert seit: Jun 2010
Beiträge: 371
|
|
uh .. als Tipp^^
PHP-Code:
if ($GET['frm'])
$anzeige=$GET['frm']; // Muss vor der Ausgabe des NaviMenüs im PHP-Code stehen
else
$anzeige=1;
den Konstrukt mit $darstell könntest du ja auch anwenden, nachdem einer deiner User eine CD / DVD / irgendwas aus der Datenbank gesucht und gefunden hat
Alles was dir nun noch fehlt sind ein paar CSS-Styles, um die Menüpunkte zu gestalten - ich darf dich da mal auf entsprechende Tutorials hinweisen .. fündig wirst du bestimmt im Bereich CSS / HTML / Javascript hier im Forum ...
zum Bleistift der hier Peter Kropff - Tutorials - HTML/CSS hat mir sehr geholfen
__________________
Wer LESEN kann, ist klar im Vorteil!
Geändert von eagle275 (20-07-2010 um 07:55 Uhr)
|

20-07-2010, 20:41
|
|
LordSinclair
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 5
|
|
Die Kropff-Tuts scheinen nach recht interessant und gut aufgebaut zu sein, nach einem kurzen Blick. Danke für den Tip!
Da werde ich mich mal ransetzen und mein Wissen erweitern
|

20-07-2010, 21:08
|
|
litterauspirna
Registrierter Benutzer
|
|
Registriert seit: Nov 2007
Beiträge: 333
|
|
Zitat:
Zitat von LordSinclair
Die Kropff-Tuts scheinen nach recht interessant und gut aufgebaut zu sein, nach einem kurzen Blick. Danke für den Tip!
Da werde ich mich mal ransetzen und mein Wissen erweitern 
|
Kann ich dir auch nur empfehlen, ich selber habe viel auf seiner Seite nachgelsen und auch gelernt, nur beim OOP Kapitel da musste ich teilweise resignieren, die Beispiele dafür waren mir irgendwie für mich nicht geeignet das zu verstehen was er da will (aber das ist nur meine Meinung).
Gruß litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
|

20-07-2010, 21:15
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Ort: Dresden
Beiträge: 5.457
|
|
OffTopic:
Zitat:
Zitat von litterauspirna
nur beim OOP Kapitel da musste ich teilweise resignieren, die Beispiele dafür waren mir irgendwie für mich nicht geeignet
|
Das merk ich mir mal für November vor. Denkst du dran, dass du mir noch was schicken wolltest?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

21-07-2010, 14:53
|
|
LordSinclair
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 5
|
|
Zitat:
Zitat von litterauspirna
Kann ich dir auch nur empfehlen, ich selber habe viel auf seiner Seite nachgelsen und auch gelernt, nur beim OOP Kapitel da musste ich teilweise resignieren, die Beispiele dafür waren mir irgendwie für mich nicht geeignet das zu verstehen was er da will (aber das ist nur meine Meinung).
Gruß litter
|
Oops, hab ich was vergessen?
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|