ERLEDIGT
NEIN
NEIN
ANTWORTEN
9
9
ZUGRIFFE
742
742
EMPFEHLEN
-
Ich erklär das jetzt erst einmal.
Hab' nen kleinen login geschrieben mit session id
Soweit passt ja alles, nur wie bekomme ich es hin, dass z.B. ein der eine user nur in die area 1 reinkann, während der andere alles machen kann (z.b. news posten und der erste nur seine benutzerdaten und nicht auch die von anderen ändern kann).PHP-Code:<?php
session_start ();
// prüfen, ob user und datei existieren
if (file_exists("./member_dateien/$username")) {
$user_dat = fopen("./member_dateien/$username", "r");
$user_dat_inhalt = file("./member_dateien/$username");
fclose ($user_dat);
// passwörter vergleichen
if ($user_dat_inhalt[1] == $pw) {
// username & passwort waren richtig
$userdaten = true;
// variable für session erstellen (user einloggen)
$user_eingeloggt = true;
} else {
$userdaten = false;
$user_eingeloggt = false;
echo "passwort falsch";
}
} else {
echo "user existiert nicht";
$userdaten = false;
$user_eingeloggt = false;
}
// variable $user_eingeloggt in der session registrieren
session_register ("user_eingeloggt");
?>
Ich hab da im mom keine Idee
Bitte helft mir
Edit: Noch ein Beispiel - user a darf sein profil ändern, aber nicht das von user b, da dazu user lvl 3 nötig wäre, er aber nur 2 ist. mit 4 dürfte er z.b. auch news posten
Könnte ich das z.b. in ner text datei bei der anmeldung speichern (standart user lvl 1), das wird dann vom admin entsprechend geändert und die variable $inhalt[x] wird dann zur globalen var gemacht und auf jede seite, ohne sie per ?user_lvl=$inhalt[x] aufrufen zu müssen weitergegeben ?
Grüße, MorphGeändert von Morph (20.02.02 um 20:32 Uhr)
nothing
-
An deiner Stelle würd ich eine Datei anlegen, die alle Accounts und ihre Rechte gespeichert hat.
z.B. so
Nickname Access
Nickname Access
Nickname Access
Nickname Access
Bei Access würd ich ein Bit-Wert nehmen. z.B. wie folgt
1 -> darf seine eignen einstellungen bearbeiten
2 -> darf neue mitglieder anlegen
4 -> darf fremde mitglieder details bearbeiten
8 -> Administrator
Dann zählst Du alle Bit-Werte zusammen .. in deinem Fall als Administrator also 1+2+4+8 = 15. Die 15 speicherst Du dann bei Deinem Nick unter Access ...
Wenn sich ein User einloggst holst dir den Wert ... und schaust, ob er die entsprechenden Rechte hat.
z.B. so
if($user_access & 1) { darf seine eignen einstellungen bearbeiten }
if($user_access & 2) { darf neue mitglieder anlegen }
if($user_access & 4) { darf mitglieder details bearbeiten }
etc...
ich hoffe ich hab es verständlich erklärt.
Rob
-
Eigentlich ist schon fast alles gesagt. Aber möchte noch was zu der Sache mit dem Profilediting sagen.
Das kannst du überprüfen in dem du folgendes abfragst
Hoffe das hilftPHP-Code:if ($user_level == 3 || $owner == $logged_user)
{
//Profil darf geändert werden
}
else
{
// Profil Editing nicht erlaubt
}
So Long
TheVirus+-------------------------------------+
|Never underestimate the power of F1. |
+-------------------------------------+
-
Ahso die idee mit dem addieren ist gut - Danke an euch

Werds heut nachmittag ma zu hause ausprobiern
Grüße, Morphnothing
-
Hab mir das mit dem user access nochmal genau durch den kopf gehen lassen - die idee ist schon ziemlich gut, nur wie gebe ich die variable, in der die bits addiert wurden, weiter ? weil muss ja was zum vergleichen haben ( if($user_access == 2) ... if($user_access == 15) ...)
Die evtl zu globalen variable deklarieren ? Per ...&user_access=$blub weiterzugeben ist ja schwachsinn, dann bräucht ich ja garkein access check
Danke im vorraus
Grüße, Morphnothing
-
mm ... ich würde die variable bei jedem seitenaufruf neu auslesen aus der File.
bzw - du machst einen Fehler.
Du darfst nicht schreiben if($user_access == 15) ... genau deshalb gibt es ja Bit-Operatoren ... sondern z.B. if($user_access & 2) ..
Ich erklär es nochmal
2 hoch 0 = 1 -> darf seine eignen einstellungen bearbeiten
2 hoch 1 = 2 -> darf neue mitglieder anlegen
2 hoch 3 = 4 -> darf fremde mitglieder details bearbeiten
2 hoch 4 = 8 -> Administrator
etc
Wichtig ist, du immer den letzten Wert mal 2 nimmst ******!! der nächste punkt wäre z.B. 16 .. dann 32
Un nun zählst du die werte zusammen ... wenn jemand z.b. nur die Details fremder bearbeiten darf und neue accounts erstellen darf, rechnest du wie folgt.
2 + 4 = 6
6 speicherst du unter Access
und nun darfst du NICHT if($user_access == 6 ) schreiben, sondern
if($user_access & 2) -> true
if($user_access & 4) -> true
alle anderen access if anweisungen sind dann false.
so .. wenn du noch fragen hast, frag
Rob
-
Erstmal danke für die erklärung zu den bit operatoren ... kannte ich noch garnicht

Jo hab noch fragen - bin ja auch ein schwerer fall *g*
Also: wenn ich des auf jeder seite, die sonen check braucht, auslesen soll, woher soll ich denn dann den user kennen, der die seite aufruft und dementsprechend weis ich auch garnicht, welchen user mit welchen rechten ich auslesen soll - ich frag ja immer ob eine session true oder false ist um dem user eintritt zu gewähren
Und da ist das problem - wie soll ich denn, wenn ich nur ne session aufrufe und prüfe ob true oder false dann noch herausfinden, welcher user die seite dann aufruft ?
weil die seitenaufrufe sind bei mir so -> blub.php?go=clan_login_form.php -> ...?go=clan_login.php [wenn userdaten richtig dann gehts per weiterleitung weiter] -> ...?go=clan_intern.php&[hier sind dann die sess daten dran] [mit "session abfrage"] -> z.b. ...?go=member_edit.php[session daten]
Grüße, Morphnothing
-
mm ... ganz einfach. gib jedem User eine ID .. kannst auch den Nick nehmen wenn du willst ... und diese ID (nick) speicherst du in deiner session ab
session_register (user_id);
easy
-
Cool Rob' - Tausend mal Danke

Das ist genau das, was ich gesucht hab' *freu*
Grüße, Morphnothing
-
hehe ... das freut mich
Ähnliche Themen
-
Nur bestimmte Links zulassen, bzw Validierung
Von typhoch2 im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 09.03.10, 19:00 -
nur bestimmte Zeichen zulassen...
Von ruNN0r im Forum PHPAntworten: 2Letzter Beitrag: 23.05.08, 21:21 -
[Hibernate] nur bestimmte Werte zulassen
Von Vatar im Forum JavaAntworten: 2Letzter Beitrag: 28.11.06, 18:26 -
bestimmte URL zulassen
Von makitaman im Forum PHPAntworten: 16Letzter Beitrag: 16.05.05, 10:53 -
Nur bestimmte Tasten in einer Component zulassen (Textfeld)
Von Vatar im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 7Letzter Beitrag: 19.04.05, 13:36





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren