უფლებები 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') {
// გვერდის კონტენტს მხოლოდ ადმინისტრატორებს ვაჩვენებთ
}
?>