مشروع يقدم نظام إدارة منتجات بسيط وقابل للتطوير، يتم التحكم فيه من خلال واجهة مستخدم تفاعلية باستخدام PHP و MySQL.

تفاصيل العمل

المشروع الحالي هو عبارة عن نظام إدارة منتجات بسيط باستخدام PHP، PDO، و MySQL. يتيح هذا النظام للمستخدمين المسجلين إدارة المنتجات من خلال واجهة ويب بسيطة تشمل عرض المنتجات، تعديلها، حذفها، وإضافة منتجات جديدة. يعتمد المشروع على قاعدة بيانات لتخزين معلومات المنتجات مثل اسم المنتج، سعره، وحالته (في المخزون أو خارج المخزون).

تفاصيل المشروع:

1. جلسة المستخدم (Session):

المشروع يعتمد على نظام الجلسات (Sessions) في PHP للتحقق مما إذا كان المستخدم مسجل دخولًا أم لا. إذا كان المستخدم قد سجل الدخول مسبقًا (isset($_SESSION['username']))، يتم السماح له بالوصول إلى الصفحة التي تحتوي على قائمة المنتجات وإمكانية إدارتها.

إذا لم يكن المستخدم مسجلًا الدخول، يتم تحويله تلقائيًا إلى صفحة تسجيل الدخول (header('Location: index.php');).

2. الاتصال بقاعدة البيانات:

يتم استخدام مكتبة PDO (PHP Data Objects) للاتصال بقاعدة البيانات، وهي طريقة مرنة وآمنة للتعامل مع قواعد البيانات في PHP.

يتم تنفيذ جملة SELECT لجلب جميع المنتجات من جدول "products" في قاعدة البيانات.

3. عرض المنتجات:

يتم عرض جميع المنتجات المتاحة في قاعدة البيانات داخل جدول (Table) باستخدام HTML. يحتوي الجدول على أربعة أعمدة رئيسية:

اسم المنتج (Product Name): لعرض اسم المنتج.

سعر المنتج (Product Price): لعرض سعر المنتج.

حالة المنتج (Product Status): لعرض إذا كان المنتج في المخزون (In Stock) أو غير متاح (Out of Stock) باستخدام شارات ملونة (bg-success للحالة المتاحة و bg-danger للحالة غير المتاحة).

العمليات (Actions): تحتوي على أيقونات تعديل وحذف المنتج، والتي ترتبط بملفات PHP أخرى لتنفيذ هذه العمليات.

4. إدارة المنتجات:

يتم توفير خيارين رئيسيين لإدارة المنتجات:

تعديل المنتج: عبر النقر على أيقونة التعديل، يتم تحويل المستخدم إلى صفحة التعديل (editProduct.php)، حيث يمكن تعديل تفاصيل المنتج.

حذف المنتج: عبر النقر على أيقونة الحذف، يتم تحويل المستخدم إلى صفحة حذف المنتج (deleteProduct.php)، حيث يتم حذف المنتج من قاعدة البيانات.

5. إضافة منتجات جديدة:

أسفل الجدول، يوجد نموذج لإضافة منتجات جديدة. هذا النموذج يتطلب:

اسم المنتج (Product Name): نص يُدخل فيه المستخدم اسم المنتج.

سعر المنتج (Product Price): حقل رقمي لإدخال سعر المنتج.

حالة المنتج (Product Status): خياران باستخدام أزرار التحديد (radio buttons) لإدخال حالة المنتج: إما في المخزون أو خارج المخزون.

عند إرسال النموذج، يتم إرسال البيانات إلى ملف insertProduct.php لتنفيذ عملية إدراج المنتج الجديد في قاعدة البيانات.

6. المشروع والاعتماد على قاعدة البيانات:

تم بناء المشروع بحيث يعتمد على قاعدة بيانات MySQL لحفظ البيانات.

تم إنشاء جدول يُسمى "products" يتضمن الأعمدة التالية:

id: معرّف المنتج (رقم تسلسلي فريد لكل منتج).

product_name: اسم المنتج.

product_price: سعر المنتج.

product_status: حالة المنتج (1 للمخزون المتاح، 0 لغير المتاح).

7. التصميم باستخدام Bootstrap:

تم استخدام Bootstrap لجعل الواجهة أكثر جاذبية وسهولة في التصفح. تم تطبيق أنماط CSS جاهزة مثل الجداول المنسقة، الشارات الملونة، والنماذج المتجاوبة لعرض المنتجات بشكل منظم وسهل الفهم.

8. أمان التطبيق:

يتم تأمين الجلسات للتحقق من هوية المستخدم قبل الوصول إلى صفحة إدارة المنتجات، مما يضمن أن المستخدمين غير المصرح لهم لا يمكنهم التلاعب بالبيانات.

استخدام PDO لتنفيذ العمليات على قاعدة البيانات، مما يوفر حماية من هجمات SQL Injection.

الوظائف الأساسية للمشروع:

عرض جميع المنتجات: يتم عرض قائمة المنتجات مع كافة التفاصيل (الاسم، السعر، الحالة).

إضافة منتج جديد: من خلال النموذج المتاح، يمكن للمستخدم إدخال منتج جديد في قاعدة البيانات.

تعديل منتج موجود: يمكن للمستخدم تعديل معلومات المنتجات الموجودة عبر النقر على أيقونة التعديل.

حذف منتج: يمكن حذف أي منتج من قاعدة البيانات بالنقر على أيقونة الحذف.

ملفات مرفقة

بطاقة العمل

اسم المستقل Taher A.
عدد الإعجابات 0
عدد المشاهدات 1
تاريخ الإضافة