Hejsa Udviklerer...!
Jeg sidder og skal til at lave et login system til et clan-site, hvor brugerne har forskellig adgang.
Der vil være:
En admin, som har adgang til alle områder.
En Clan Leader, som har adgang til næsten alle områder.
Nogle Team Leaders, som har adgang til områder, der vedrører det team de styrer.
En masse members, som skal have adgang til at rette, deres egen profil.
Jeg laver en database med følgende oplysninger:
Tabelnavn users
id
brugernavn
password
userlevel
Mit spørgsmål er så:
Kan jeg bruge Sessions til at finde ud af, hvem der har adgang til hvilke områder således:
- at members ikke kan få adgang til andre områder en ens egen profil.
- at team leaders kun har til områder der vedrører der eget team.
Og så videre...?
Jeg har fundet nogle koder her på udvikleren, som måske bare skal skrives lidt om.
Jeg ved det ikke helt, da jeg ikke har nogen erfaring med Sessions. Jeg har dog læst de artikler, der er her på udvikleren.
Jeg har forestillet mig, man kan bruge følgende på den side, hvor folk skal logge ind, via en form.
<? include("db.php");
session_start();
if ($brugernavn > "") {
$result = mysql_query("SELECT * FROM users where brugernavn = '$brugernavn'") or die (mysql_error());
$row = mysql_fetch_array($result);
$number = mysql_num_rows($result);
if ($number == "0") {
$_SESSION['loggedin'] = 0;
echo "<font color='red'>Brugeren findes ikke</font>";
} else {
if ($row[password] == $password) {
$_SESSION['loggedin'] = ($row[userlevel]);
?>
<script language="JavaScript" type="text/javascript">
location.href="profil.php?id=<? echo "$row[id]"; ?>"
</script>
<?
} else {
$_SESSION['loggedin'] = 0;
echo "<font color='red'>Forkert password</font>";
}
}
}
?>
Og så bruge nedenstående kode til at kontrolere om brugeren har det rigtige adgangslevel.
<?
session_start();
if(!$_SESSION['loggedin'] >= 1 < 4) {//Hvis brugeren ikke adgang
header("Location: http://www.side.dk/duharikkeadgang.php"); //Sender brugeren videre til en side, der fortæller de ikke har adgang
exit; //Sørger for at resten af koden, ikke bliver udført
}
if(!$_SESSION['loggedin'] < 1 ) {//Hvis brugeren ikke er logged in
header("Location: http://www.side.dk/loginpage.php"); //Sender brugeren videre til login siden
exit; //Sørger for at resten af koden, ikke bliver udført
}
?>
Jeg har som sagt ikke den helt vilde erfaring, men jeg håber i vil være behjælpelige.
Mvh Sol