طريقة عمل صلاحيات أخفاء أو اظهار محتوى أدارية باللغة php
الكاتب: Mr.Aziz
تاريخ النشر: 2022-11-01 07:57:11
مرحبا..
اليوم الدرس بيكون عن طريقة عمل صلاحيات ألاخفاء أو أظهار محتوى بالموقع عن طريق اللغة php.
تتذكرون أيام المنتديات أذا كنت مشرف يظهر لك أقسام المخفية و أذا كنت مدير يظهر لك لوحة التحكم خاص به؟ هذا هو بضبط...
ألان راح نعمل هذي الطريقة باللغة php مع mysql
هذي طريقة تنفع بكل حالات أخفاء محتوى عن الزوار أو اخفاء ايقونات خاصة بالمشرفين و ادارين مثل تعديل او حذف أو غيره.
أولآ راح نعمل جدول مستخدمين و ايضآ نضيف role مثل كذا.
كل مستخدم له role خاص به و طريقة عمله في قواعد البيانات بيكون بهذي طريقة
نستخدم enum لتحديد خيارات محدده فقط مثل أدمن و مشرف و مستخدم
اي مستخدم يسجل بشكل تلقائي يصبح user و نخليه defualt
الان مثل مانتو شايفين وضعت كل مستخدم له role خاص به
Aziz هو المدير
Khalid هو المشرف
saleh هو المستخدم عادي.
الان رح نعمل رابط بسيط للوحة تحكم خاص بالمدير و بالمشرفين كاتجربة
ولكن قبل كذا نريد نعمل صلاحيات بحيث اذا مستخدم سجل دخوله و هو ادارة سوف يظهر له لوحة تحكم خاص به.
ننشئ مجلد بأسم class ثم ملف بأسم user.php
بهذا الشكل.
بداخل الملف بيكون بهذا الشكل.
أول شي نعمل دالة خاصه بالادمن تمام
بداخل بيكون $_session تبع user_role
طيب ليش نستخدم هذي طريقة؟ راح اعملكم الحين.
في حال المستخدم الجلسة تبعه يساوي Admin تعني هو اداري
واذا كان مستخدم عادي لن يشتغل الدالة.
و نفس الشئ مع دالة المشرف...
الان نروح على صفحة login.php
راح تلاحظ المضلل
$userfound['role']
هذا سوف يجلب البيانات role من قواعد البيانات. بعد كذا يتم تخزينه في الجلسة user_role
لهذا سبب وضعنا هذا الجلسة في صفحة user.php في حال هذا المستخدم role تبعه يساوي admin تعني true
هو المستخدم اداري.
و الان نذهب الى index.php
بيكون بهذا الشكل
أولآ يجب استدعاء صفحة user.php زي ماعملنا فوق
"classes/user.php" include_once
بعد كذا نعمل متغير جديد هو $theuser
ثم يساوي و نستدعي أسم class هو user() التي عملناه في user.php.
ثم نعمل الشرط.
الان لدينا لوحتين وحده تبع المشرفين و ثاني تبع الادارة...
اللوحة التحكم تبع الادارة نضع الشرط اذا كان هو اداري سوف يظهر له اللوحة تحكم
$thisuser->is_admin
و نفس الشئ مع اللوحة التحكم المشرفين ولكن هذي المره نعمل شرطين
اذا كان اداري او مشرف يظهر له اللوحة التحكم..
وبس
خلينا نعمل تجربة أولآ كازائر نشوف وش يظهر لنا.
زي ماتلاحظ يظهر لنا تسجيل الدخول فقط. لايوجد اي معلومات عن اللوحة التحكم.
ألان سوف ادخل بالمستخدم اداري.
الان انا اداري. راح تلاحظ مكتوب you are admin تعني role تبعي اداري.
ظهر لي لوحتين تبع الادارة و تبع المشرفين..
الان نجرب ندخل بالمستخدم خاص بالمشرفين..
you are superadvisor تعني انت الان مشرف
راح تلاحظ ظهرت لنا اللوحة التحكم خاص بالمشرفين فقط.
لايوجد اي معلومات عن الادارة او اللوحة التحكم الادارة.
ألان راح ادخل بالمستخدم عادي او user.
you are user تعني انت مستخدم عادي إي لايوجد لديك اي صلاحيات..
و تلاحظ لايوجد اي لوحة تحكم ظاهره..
وهكذا يتم عمل صلاحيات و اذا لديك استفسار او شرح مو واضح لاتتردد بالتواصل معانا..
أشوفكم على خير..