Իրավասություններ PHP-ում
Ամենից հաճախ կայքում օգտատերերի մեկ տեսակ չկա, այլ մի քանիսը, և բոլորն ունեն տարբեր իրավասություններ: Օրինակ, դուք կարող եք ունենալ սովորական օգտատերեր և ադմինիստրատորներ: Ադմինիստրատորները կունենան ավելի շատ իրավասություններ, քան սովորական օգտատերերը:
Ինչպես է դա իրականացվում. ստեղծենք
օգտատերերի աղյուսակում ևս մեկ դաշտ, անվանենք
այն status և յուրաքանչյուր օգտատերի համար
կպահենք նրա կարգավիճակը: Թող ադմինիստրատորների համար լինի
'admin' բառը, իսկ սովորական օգտատերերի համար
- 'user' բառը:
Այժմ օգտատերի լրացման ժամանակ $_SESSION['status']-ում
կգրենք օգտատերի կարգավիճակը տվյալների բազայից:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
$_SESSION['status'] = $user['status']; // գրում ենք կարգավիճակը
}
?>
Ենթադրենք, այժմ մեր կայքում կա ինչ-որ էջ, որին մուտք ունեն միայն ադմինիստրատորները: Եկեք անենք այնպես, որ միայն ադմինիստրատորները տեսնեն այդ էջի բովանդակությունը:
<?php
if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
// կցուցադրենք էջի բովանդակությունը միայն ադմինիստրատորներին
}
?>