Իրավասությունների բաժանումով գրանցում PHP-ում
Օգտատերերի իրավասություններ ավելացնելիս մենք պետք է փոփոխություններ կատարենք
մեր գրանցման մեջ: Այժմ օգտատիրոջ գրանցման ժամանակ մենք պետք է INSERT հարցումում նշենք
նրա կարգավիճակը:
Սովորաբար նախնական գրանցման ժամանակ մեր կայքի բոլոր օգտատերերը
ստանում են ամենացածր կարգավիճակը,
այսինքն՝ մեր դեպքում 'user':
<?php
$query = "INSERT INTO users
SET login='$login', password='$password', 'status'='user'";
?>
Ավելի բարձր կարգավիճակները սովորաբար տրվում են ադմինիստրատորի կողմից: Նա ադմինիստրատիվ պանելում տեսնում է օգտատերերի ցանկը և կարող է ցանկացածին դարձնել, օրինակ, ադմինիստրատոր:
Իսկ ինչպե՞ս կայքում այդ դեպքում կհայտնվի առաջին ադմինիստրատորը: Ամենապարզը՝ գրանցել սովորական օգտատեր և PhpMyAdmin-ի միջոցով դարձնել նրան ադմին:
Ավելի բարդ տարբերակ՝ հոստինգում առաջին գործարկման ժամանակ կայքի տեղադրումը գործարկել, ֆորմայի օգնությամբ հարցնել մուտքանունը և գաղտնաբառը և գրանցել կայքի ամենաառաջին օգտատիրոջը, ում և տալ ադմինիստրատորի կարգավիճակ:
Փոխեք գրանցման կոդն այնպես, որ բոլոր ավելացվող
օգտատերերը ստանան 'user' կարգավիճակ:
Ձեռքով փոխեք ինչ-որ օգտատիրոջ
կարգավիճակը 'admin'-ի: Նույնականացվեք
այս օգտատիրոջ տվյալներով:
Ստեղծեք admin.php էջ, որին
մուտք կունենան միայն 'admin' կարգավիճակ ունեցող օգտատերերը:
admin.php էջում ցուցադրեք ձեր կայքի
բոլոր գրանցված օգտատերերի ցանկը աղյուսակի տեսքով: Թող աղյուսակում լինեն
երկու սյունակ՝ մուտքանուն և կարգավիճակ:
Փոփոխեք նախորդ առաջադրանքն այնպես, որ հայտնվի նաև երրորդ սյունակ, հղումով, որի օգնությամբ ադմինը կկարողանա ջնջել ցանկացած օգտատիրոջ:
Փոփոխեք նախորդ առաջադրանքն այնպես, որ աղյուսակի տողերը, որոնք պատկանում են ադմիններին, ներկվեն կարմիր գույնով, իսկ սովորական օգտատերերինը՝ կանաչ:
Փոփոխեք նախորդ առաջադրանքն այնպես, որ հայտնվի ևս մեկ սյունակ: Այս սյունակում ադմինը կկարողանա փոխել օգտատերերի իրավասությունները: Կատարեք այնպես, որ բոլոր սովորական օգտատերերի համար այնտեղ լինի դարձնել նրան ադմին հղում, իսկ ադմինի համար՝ դարձնել նրան օգտատեր հղում:
Կատարեք այնպես, որ կայքի բոլոր էջերում, վերնագոտիում գրանցված օգտատերը տեսնի իր մուտքանունը և կարգավիճակը:
Փոփոխեք նախորդ առաջադրանքն այնպես, որ ադմինների համար կայքի վերնագոտիում ցուցադրվի նաև ադմինիստրատիվ պանելի հղում: