[PHP] Verschiedene Sessions für Administrator und Kunde (einfache Version) aber wie?

C

cyberdude2011

Gast
Moin,

programmieren gerade in der Berufsschule mit PHP und MySQL einen (einfachen) Onlineshop. Jedenfalls hab ich da einen Login für Kunde und den Admin eingebaut und das mit den Sessions funktioniert auch wunderbar (hab ich mir im Internet unter http://www.php-resource.de/tutorials/read/38/1/ angeeignet), jedoch hab ich keine Ahnung wie man das mit zwei unterschiedlichen Sessions hinbekommt. Also momentan ist es so, dass wenn ein Kunde sich eingeloggt er Zugriff auf den Adminbereich hat, gemeinsames Ausloggen etc. Das will ich ja nicht, nur keine Ahnung wie man zwei Sessions hinbekommt o.O

Hier mal meine Dateien:
login_kunden.php schrieb:
<?
session_start();
include_once 'sessionhelpers.inc.php';
if (isset($_POST['login']))
{
$userid=check_user($_POST['username'], $_POST['userpass']);
if ($userid!=false)
login($userid);
else
echo 'Ihre Anmeldedaten waren nicht korrekt!';
}
if (!logged_in())
echo '<form method="post" action="index.php?section=login_kunden">
<label>Benutzername:</label><input name="username" type="text"><br>
<label>Passwort: </label><input name="userpass" type="password" id="userpass"><br>
<input name="login" type="submit" id="login" value="Einloggen">
</form>';
else
echo 'Sie sind erfolgreich eingeloggt!';
echo '<p /><a href="index.php?section=logout_kunden">Ausloggen</a>';
echo '<p /><a href="index.php?section=logged_in">Check</a>';
?>

und die
sessionshelpers.inc.php schrieb:
<?
function connect()
{
$con= mysql_connect('xxx','xxx','xxx') or die(mysql_error());
mysql_select_db('xxx',$con) or die(mysql_error());
}

function check_user($name, $pass)
{
$sql="SELECT UserId
FROM users
WHERE UserName='".$name."' AND UserPass=MD5('".$pass."')
LIMIT 1";
$result= mysql_query($sql) or die(mysql_error());
if ( mysql_num_rows($result)==1)
{
$user=mysql_fetch_assoc($result);
return $user['UserId'];
}
else
return false;
}

function login($userid)
{
$sql="UPDATE users
SET UserSession='".session_id()."'
WHERE UserId=".$userid;
mysql_query($sql);
}

function logged_in()
{
$sql="SELECT UserId
FROM users
WHERE UserSession='".session_id()."'
LIMIT 1";
$result= mysql_query($sql);
return ( mysql_num_rows($result)==1);
}

function logout()
{
$sql="UPDATE users
SET UserSession=NULL
WHERE UserSession='".session_id()."'";
mysql_query($sql);
}

connect();
?>


Was muss ich da ändern? Hab von der Materie nicht so wirklich viel Ahnung :D


Vielen Dank schon mal :) Pls ASAP da ich den Shop morgen fertigstellen muss :p
 
AW: [PHP] Verschiedene Sessions für Administrator und Kunde (einfache Version) aber wie?

mach einfache noch ne spalte in die user MYSQL tablle mit dem namen "rights"
(TINYINT reicht)

kunde gibste dann z.b. die 100
und dem admin die 200

und innen admin bereich kommt nur der, dessen "rightswert" 200 oder mehr is...
 
AW: [PHP] Verschiedene Sessions für Administrator und Kunde (einfache Version) aber wie?

Du bekommst 2 getrennte Sessions hin, indem du den Session Name änderst.

Also für jede Seite im Adminbereich heisst die session z.B. session_admin und in den öffentlichen Seiten session_customer.
 
AW: [PHP] Verschiedene Sessions für Administrator und Kunde (einfache Version) aber wie?

ok danke, hat gefunzt :D
 
Zurück
Oben