طريقة عمل صلاحيات أخفاء أو اظهار محتوى أدارية باللغة 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 تعني انت مستخدم عادي إي لايوجد لديك اي صلاحيات..

 

و تلاحظ لايوجد اي لوحة تحكم ظاهره..

 

وهكذا يتم عمل صلاحيات و اذا لديك استفسار او شرح مو واضح لاتتردد بالتواصل معانا..

 

أشوفكم على خير..