Prøv at indsætte dit script, så kan vi lidt bedre hjælpe dig.
ellers skal du lave et ekstra felt i din tabel, f.eks.:
create table tbl_user
(
usr_id int primary key auto_increment,
usr_name varchar(255) not null,
usr_password varchar(255) not null,
usr_level int default 0
);
Du kan så vælge at beskytte dine sider på forskellige måder. Een af dem kunne være ved at angive et niveau i toppen af siden, som så blev tjekket op imod brugerens niveau. Vi kan her antage, at 0 i niveau, betyder "alle" og så kan dit niveau ellers stige (uendeligt hvis du vil. Det er nok smart at stoppe på et tidspunkt.) Du kan også vælge at lave niveauer med intervaller af 10. Så kan du altid lave et ekstra niveau, hvis du lige mangler et.
Når du så skal bruge det, skal du bare tjekke på de forskellige niveauer. f.eks.:
/**
* Denne funktion tjekker om brugeren har det rette niveau
* til en bestemt side.
* @param $id Brugerens id.
* @param $requiredLevel Det niveau brugeren skal have for at se siden.
* @return 1 hvis ok, ellers 0.
*/
function allowUser($id, $requiredLevel)
{
$sql;
$userLevel;
$sql = "select usr_level from tbl_user where usr_id = $id";
$sql = mysql_query($sql);
$row = mysql_fetch_array($sql);
$userLevel = $row['usr_level'];
if( $userLevel >= $requiredLevel )
return 1;
else
return 0;
}
For at det hele skal virke, skal du så i toppen af din side gøre følgende: (vi antager at du har en bruger (med id 2796), som har 1 i niveau og siden kræver 2):
<?php
$pageLevel = 2;
// husk at inkludere din funktion
if( allowUser(2796, $pageLevel) == 0 ) // hvis han ikke er god nok
{
echo "Du har ikke rette brugerniveau for at se denne side.";
exit;
}
else
{
// resten af koden her.
...
...
...
}
?>
Her går den så ned i databasen og tjekker om brugeren har det rette niveau (2 eller derover), via
allowUser() funktionen som vi definerede tidligere.
-------------------------------
Hilsen Jimmi Westerberg
http://www.westsworld.dk