سال نو مبارک
خوب شما باید باید بیاید ابتدا تیبلی شبیه به این درست کنید
+---------------------------------------------+
|access[3] |
+-------+--------------------------+----------+
|id[int]|access[json[text]] |name[text]|
+-------+--------------------------+----------+
|1 |["cp.php","new_post.php"] |Admin |
+----------------------------------+----------+
سپس شما اگر رو اصول کار کرده باشید باید اطلاعات کاربر لاگین کرده رو توی یه سشن ریخته باشید ولی قبل از اون این دیتابیس رو به یک متغیر انتقال بدید مثلا:
<?php
$sql = self::$sql_obj->query("SELECT * FROM `access` WHERE 1");
foreach($sql as $row){
self::$access[$row['id']] = $row;
}
self::$user_count = $sql->rowCount();
?>
بعد شما باید زمانی که اطلاعات کاربر لاگین شده رو در سشن ثبت میکنید اینگونه عمل کنید:
$_SESSION['access'] = self::$access[$user['access']];
بعد از این در هر صفحه باید در متغیری نام صفحه قرار بگیره و با تابع json_decode سشن ایجاد شده رو تبدیل به آرایه کنید و سپس با تابع in_array چک کنید که نام صفحه در دسترسی کاربر وجود داره یا نه اگر نه کاربر رو به صفحه خطا هدایت کنید