Hallo,
ich habe vor, das man in meinem System einstellen kann, welcher Benutzer auf Welche Seite zugreifen kann.
Meine Datenbank sieht bis jetzt so aus:
Loginname
Passwort
E-Mail
Meine Prüfung ob man eingelogt ist:
sessionhelpers.inc.php
Wie implementiere ich jetzt am besten son Berechtigungkonzept. Ich hab mir folgendes gedacht. Ich füge in die Tabelle alle Seitennamen ein und trage dann eine Null ein für nicht berechtigt und eine 1 für berechtigt. Und prüfe dann in der Lgoinabfrage ob für die aufgerufene Seite eine 1 in der Datenbank steht und zeige die Seite dann nur an. Ist das sinnvoll?
ich habe vor, das man in meinem System einstellen kann, welcher Benutzer auf Welche Seite zugreifen kann.
Meine Datenbank sieht bis jetzt so aus:
Loginname
Passwort
Meine Prüfung ob man eingelogt ist:
PHP:
<?
session_start();
include '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())
{
Seiteninhalt
}
?>
sessionhelpers.inc.php
PHP:
<?
function connect()
{
$con= mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('personal',$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();
?>
Wie implementiere ich jetzt am besten son Berechtigungkonzept. Ich hab mir folgendes gedacht. Ich füge in die Tabelle alle Seitennamen ein und trage dann eine Null ein für nicht berechtigt und eine 1 für berechtigt. Und prüfe dann in der Lgoinabfrage ob für die aufgerufene Seite eine 1 in der Datenbank steht und zeige die Seite dann nur an. Ist das sinnvoll?