• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Wie übergebe ich Benutzerdaten mit der Session-ID

bodo92

Aktives Mitglied
Hallo,

ich bin momentan an der Entwicklung eines Passwortgeschützten Bereiche in dem verschiedene User bestimmte Rechte besitzen beispielsweise zum eintragen von News/Terminen.
Ich habe jetzt ein Login-Script erstellt das über eine MySQL DB Benutzer einloggt und eine Session erzeugt.

So jetz die frage:
Wie kann ich die Verschidenen Rechte die in der Datenbank hinterlegt sind über die Session an alle Seiten im Geschützten bereich weitergeben?

Login Script
PHP:
<?php
session_start();
?>

<?php

$verbindung = mysql_connect("##", "##" , "##")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");

mysql_select_db("##") or die ("Datenbank konnte nicht ausgewählt werden");

$username = $_POST["username"];
$passwort = md5($_POST["password"]);

$abfrage = "SELECT username, passwort FROM ## WHERE username LIKE '$username' LIMIT 1";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);

if ($row->passwort == $passwort)
	{
	$_SESSION["username"] = $username;
	echo "Login erfolgreich. <br>
	header("Location: ./##.php");";
	}
else
	{
	echo "Benutzername und/oder Passwort sind falsch. <a href=\"./benutzer_login.php\">Login</a>";
	}

?>

Geschützte Seite
PHP:
<?php 
session_start(); 
?> 

<?php 
if (!isset($_SESSION["username"])) 
	{ 
	echo "Bitte erst <a href=\"./benutzer_login.php">Einloggen</a>"; 
	exit; 
	} 
?>
 
Zuletzt bearbeitet:
Baue eine Login-Klasse die Du immer vor allem anderen in jeder Seite initialisierst. Darüber steuerst Du dann sowohl das Login als auch das Auslesen von Daten des eingeloggten Nutzers.
 
Würde mir jemand so ein Login Script Programmieren?
Gibt dafür natürlich auch ne Entschädigung..

Einfach mal per ICQ melden: XXXXXXXXX

Edit: ICQ-UIN wegen Datenschutz entfernt (XraYSoLo)
 
Zuletzt bearbeitet von einem Moderator:
Du hast es doch schon fast. Musst nur im Session Objekt neben dem username noch die Rechte des Benutzers ablegen (1x aus DB beim Login auslesen) und die vor jeder privilegierten Aktion abfragen.
 
Ich würde sowas nicht in der Session ablegen (sondern pro Seitenaufruf neu aus der DB auslesen), da es zu Synchronisationsproblemen führen kann. Zum Beispiel dann, wenn dem Nutzer Rechte entzogen werden, er sie aber in seiner Session dennoch noch besitzt.
 
Ich würde sowas nicht in der Session ablegen (sondern pro Seitenaufruf neu aus der DB auslesen)
Kann man machen, wenn man damit rechnet, dass so etwas während der Session vorkommt. Aber bei geänderten Rechen kommt es häufig vor, dass der Benutzer sich neu anmelden muss, um Änderungen wirksam werden zu lassen. Zur Not kann man ja einen Timestamp mit speichern und nach Ablauf die Daten aktualisieren.
 
Zurück
Oben