بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

بالبداية احب اعتذر صراحة عن التأخير الغير مقصود ، وان شاء الله في هذا الدرس سيتم شرح برمجة صفحة عرض المقال بشكل كامل ومن محتوياتها :

- عرض المقال
- عرض التعليقات
- نموذج اضافة تعليق

نبدأ اولا ، بتشغيل المحرر ، ونقوم بانشاء ملف فارغ جديد داخل مجلد السكربت الرئيسي

www/Article/show_article.php

ونبدأ تلقائيا طبعا بفتح اكواد الـ php ، ونكتب تعليق بسيط في بداية الصفحة وهو لتعريف المستخدم انه هنا عرض المقال

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

وهذا شيء روتيني تعودنا عليه قبل البدء بأي مشروع او اي صفحة ...

طبعا كما نعلم اننا في الصفحة الرئيسية قمنا بجعل رابط الوصول للمقال كالتالي :

http://127.0.0.1/Article/show_article.php?id=1

طبعا واضح جدا انه الشيء الوحيد اللي نستقبله هو معرف المقال [ id ] لذلك سنقوم بالتالي :

- التأكد من صحة معرف المقال : ولذها سنقوم بتعريف متغير خاص بمعرف المقال ، وتكون قيمته طبعا القيمة المجلوبة من الرابط ، فنقوم باستخدام التالي :

[ ملاحظة : سنقوم بجلب ملف function.php ، وذلك لأنه يحتوي على كل شيء ]

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

طبعا كما شاهدنا بالكود السابق ، قمنا باستدعاء ملف الدوال




وايضا قمنا بتعريف متغير $ar_id ، وقمنا بجلب القيمة من الرابط عن طريق [ $_REQUEST ] ويمكن ايضا استعمال $_GET ...

وايضا قمنا بتنفيذ دالتنا mksafe الخاصة بالحماية لحماية المدخلات ، وطبعا استعمال الدالة هنا كالتالي


كود PHP:
                       mksafe($variable true


قمنا بجعل المتغير الثاني true لاخبار الدالة بأن المدخل نريد تطبيق عليه intval

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

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

كما نرى في الصورة اننا قمنا بعمل استعلام عادي وقمنا بجلب كل ما بداخل الجدول article

وبعدها عملنا الشرط ، واستعملنا بداخل الشرط دالة mysql_num_rows وهي تقوم بعد الصفوف بداخل القاعدة من الاستعلام ، ووضعنا معامل [ < | الأكبر من ] -----

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

الان بداخل الشرط ، فإن تحقق سنقوم بعمل جلب للبيانات من القاعدة مثل

لكن هناك ملاحظة بسيطة ، في هذا الجزء سنقوم بجلب معلومات المقال كالتالي

عنوان المقال
تاريخ الاضافة
عدد المشاهدات
نص المقال
معرف المقال

+ سنقوم بجلب [ اسم الكاتب ] | [ صورة الكاتب ] ...

+ إضافة : سنقوم بعمل حقل جديد في جدول article ، وهو عبارة عن معرف الكاتب

فيكون كالتالي : user_id | int

بعد ان قمنا بعمل الحقل هذا الجديد ، نذهب لصفحة show_article.php وكما قلنا بين قوسين الشرط

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

1- في هذا السطر قمنا باستخراج معلومات المقال طبعا بشكل كامل
2- قمنا بعمل استعلام جديد لجلب اسم الكاتب + المعرف + الصورة
3- استخرجنا معلومات الكاتب
4 - 5 - قمنا بتخزين البيانات داخل نظام القالب

وبهذا يعتبر انتهينا من الصفحة ، بقي الان علينا طباعة امر العرض ومن ثم نذهب للعمل داخل القالب



كود PHP:
                       $smarty->display("default/show_article.tpl"); 


--------------------------------------------------------------------------------------------------------


- عرض المقال بشكل مرتب

الان نتوجه إلى مجلد القالب [ www/Article/templates/default ]

ونقوم بانشاء ملف قالب جديد باسم show_article.tpl

وسنقوم بكتابة الكود بداخله

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

1-2-3-4-5 قمنا بكتابة المتغير وبما انه مصفوفة قمنا بتحديد اسم الحقل [ pic ]

وايضا سنضيف هذا في ملف Css

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

وبهكذا انتهت المقالة الان سنقوم بعمل صندوق اخر لعرض التعليقات

فبنفس ملف القالب نقوم بعمل التالي :

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

وفي ملف style.Css نكتب التالي :

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

^^^^^^^^ طبعا الكتابة تتعب ولكن ستشعر بالفائدة بالمرة القادمة لما تكتب ، واظن كل ما سبق بسيط ولا يحتاج شرح اصلا

--- الآن نتوجه إلى صفحة show_article.php ، وذلك لعمل حلقة تكرار وجلب التعليقات على المقال نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي



الان نعود إلى صفحة القالب ، ونقوم بالتالي عند مكان عرض التعليقات

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي


انتهينا الان من المقال والتعليقات ، ولم يتبقى لنا سوى عمل كود الاضافة للتعليق

طبعا بالسابق وبالاكواد السابقة قمنا بعمل نموذج التعليق ولكن هناك تعديل بسيط بالاكواد

ففي نفس صفحة القالب نبحث عن السطر الخاص ببداية النموذج ، ونستبدله بالتالي

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

ومن ثم نذهب إلى صفحة show_article.php

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

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

وبهذا نكون انتهينا بشكل كامل من الصفحة لكن بقي عمل شيء واحد وهو

سنقوم بعمل متغير بعد شرط التأكد من وجود المقال ، وستكون قيمته 1 إذا وجد المقال و0 إذا لم يوجد

ومن داخل القالب نعمل شرط إذا كان 0 يظهر رسالة خطأ في الوسط

كان 1 يظهر كل ما سبق نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي فتكون صفحة show_article.php كالتالي :

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي


وصفحة show_article.tpl كالتالي

نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعينقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي

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

تحياتي للجميع