login für community bereich

ZETA

Grünschnabel
hi,
eine frage:
loginsystem ist schon klar wie das . Aber wenn ich ein Community-System anbieten möchte, dann habe ich bspw User "a" der seine eigene Daten einbinden möchte. User "b" will auch seine Daten abspeichern.

Ich arbeite mit Session ID. registrieung und einloggen funktioniert einwandfrei.

Nur wenn man sich einloggt sieht man das was "jeder" registrierte User sehen kann.
Ich möchte aber für jeden einzelenen User individuelle Eintellungsmöglichkeiten anbieten. Z.B. Namen, Adresse, E-Mail, etc. ändern.

Also wenn "a" sich einloggt dann soll nur "a" seine Daten sehen und ändern können.

Vielen Dank für Denkanstöße und auch vielleicht schon fertige skripte. (bin aber eher für Denkanstöße, weil ich ja PHP auch iregendwann kapieren möchte!) ;-)

Bis dennn.........
Zeta
 
Also erstmal sei erwaehnt, dass ich UserLevel nutze um festzulegen ob ein User ein normaler User (Level 1) oder Admin (255) ist.
Bei der Anzeige der Daten wird dann der UserLevel gecheckt, bei 255 (also Admin) werden alle User angezeigt und koennen bearbeitet werden. Andernfalls nur der User der zugreift.
Auch in den Abschnitten zum Loeschen, Editieren und Updaten sind diese Checks drin.

Zur Verdeutlichung mal der Abschnitt zum Loeschen aus meiner users.php:
PHP:
if ($delete)
	{
		$id=$_SESSION["id"];
		$users=mysql_query("select * from users where id='$id'",$db);
		$user=mysql_fetch_array($users);
		if (($user[4]==255) || ($delete==$id))
			{
				$users=mysql_query("select * from users where id='$delete'",$db);
				$user=mysql_fetch_array($users);
				mysql_query("delete from news where userid='$delete'",$db);
				mysql_query("delete from users where id='$delete'",$db);
				printf("User <b>%s</b> has been deleted from the database<br>",$user[1]);
				if ($delete==$id)
					{
						header("Location:index.php?subsite=logout.php");
					}
			}
		else
			{
				printf("Access denied!");
			}
	}
 
Wieso Userlevel - ist doch viel zu umständlich.
Mach Usergruppen, welche du Rechte zuweist. Lede die Rechte als Konstanten an und Programmier dir eine Klasse, die das Recht des Benutzers prüft.

So Long
 
Was ist denn so schlimm an 'nem simplen XOR? Oder so C ist das ja aucht nicht.
Ist halt Arbeit mit Bits (Prost!).
Naja, vielleicht ist's doch was hoch. Ich hab halt manchmal solche Ideen, kommt davon wenn man schon mit so vielen Sprachen rumgemacht hat. ;)
 
Vielen Dank für Eure Antworten,

ich muss mir das erst mal verinnerlichen. Den Gribs mal einschalten. Wenn ich wieder hänge, frag ich nochmal nach!

danke

greetz
zeta
 
Hi

wenn es hier um die persönlichen Daten eines Users geht, diese würde ich immer anhand eines gespeicherten Wertes (session, cookie) ganz explicit aus der Datenbank lesen lassen. Speichere einfach nach dem Login die ID oder ein Passwort in eine Session oder in einen Cookie und filtere die Userdaten eben auf diese Session oder Cookie.

In dem Falle würde User b nie Daten von User a lesen können.
 
Luzie hat gesagt.:
Hi

wenn es hier um die persönlichen Daten eines Users geht, diese würde ich immer anhand eines gespeicherten Wertes (session, cookie) ganz explicit aus der Datenbank lesen lassen. Speichere einfach nach dem Login die ID oder ein Passwort in eine Session oder in einen Cookie und filtere die Userdaten eben auf diese Session oder Cookie.

In dem Falle würde User b nie Daten von User a lesen können.
Das steht sozusagen in meinem Codeschnipsel schon drin.
PHP:
        $id=$_SESSION["id"]; 
        $users=mysql_query("select * from users where id='$id'",$db); 
        $user=mysql_fetch_array($users); 
        if (($user[4]==255) || ($delete==$id))
...

In $delete steht die ID des Users der geloescht werden soll. Falls der User ein Admin ist ($user[4]==255) oder in der User sich selbst loeschen will ($delete==$id) geht's weiter, ansonsten Fehlanzeige.
Und das implementiert man dann auch fuer's editieren und anzeigen und schon koennen die User nicht mehr auf Daten anderer User zugreifen. Vom Admin mal abgesehen.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück