نوشته شده توسط
abbas3zaar
درود.
یه سوال دیگه داشتم.
در مورد Role ها میشه توضیح بدین که چجوری پیاده سازی میشه.. مثلا یک فیلد permission در جدول کاربران بزاریم وقتی مقدارش 0 باشه کاربر معمولی باشه. وقتی 1 باشه مدیر باشه و بتونه وارد پنل بشه و مطلب ارسال کنه و البته سطح دسترسی به بعضی از بخش های مدیریت رو نداشته باشه مثلا بخش قالب و ... فقط بتونه مطلب ارسال کنه
این کاری نداره !
این عملیات رو باید توی صفحات مورد نیاز انجام بدید !
فرض بگیریم 2 تا صفحه داریم :
1- صفحه user_post.php ( که کاربران عادی با سطح دسترسی 0 میتونن از داخل اون پست بذارن )
2- صفحه admin_post.php ( مثل همون صفحه قبل اما کسانی که مدیر هستن با سطح دسترسی 1 میتونن پست خاصی بذارن )
حالا کد هر صفحه خیلی راحت هست - مثلا :
صفحه user_post.php که نیازی نداره ( البته منظور من اینه که هم کاربر معمولی و هم مدیر میتونه توش پست بذاره پس نیازی به عملیات خاص ( جلوگیری نیست )
اما صفحه admin_post.php
//db connect and other data
$username=$_SESSION['username'];
$sql=mysql_query("SELECT `perm` FROM `users` WHERE `username`='$username'");
$obj=mysql_fetch_object($sql);
$perm=$obj->perm;
//
if($perm=="0"){
header("Location:index.php?msgid=1");
exit;
}
// other code
در اینجا میایم و سطح دسترسی کاربر فعال رو چک میکنید ! اگر 0 بود ( کاربر معمولی ) به صفحه دیگه ای ریدایرکت میشه و اون متغیر GET هم واسه اینه که یک هندل باشه واسه نمایش پیغام مناسب توی صفحه مورد نظر
مثلا :
if(isset($_GET['msgid']) && $_GET['msgid']==1)){
echo "You dont have Admin Permission to Write any post";
}
امیدوارم موثر باشه !
موفق باشید :)