بسم الله الرحمن الرحيم
تحدثنا في الدرس السابق و هو الجزء الثاني من التعامل مع النماذج و برمجتها و رأينا كيفية التعامل مع المصفوفات الخارقة POST و GET و كيفية تطويع تصميم النموذج للإستفادة منه في سحب بيانات النموذج و معالجتها في كود ال php و بإمكانكم زيارة الإطلاع على الدروس السابقة من خلال الفهرس التالي :
- [دورة php - الدرس الأول] - تحضير البرامج و كتابة اول برنامج
- [دورة php - الدرس الثاني] - المتغيرات و طريقة تعريفها و انواعها و التعامل معها
- [دورة php - الدرس الثالث] - الجزء الأول : الطباعة المدمجة و تنسيق الصفحات لعرضها
- [دورة php - الدرس الرابـع] - الجزء الثاني : طباعة المتغيرات في النصوص و بعض الدوال
- [دورة php - الدرس الخامس] - الثوابت و متغيرات النظام و دوال لا يستغني عنها اي مبرمج
- [دورة php - الدرس السادس] - الجزء الأول : النماذج و كيفية تصميمها و فوائدها
- [دورة php - الدرس السابع] - الجزء الثاني : معالجة بيانات النماذج و برمجتها
اما في درسنا اليوم و هو الجزء الأخير من دروس التعامل مع النماذج فسوف نقوم بعمل تطبيق عملي شائع في معظم مواقع الإنترنت و هو نموذج الإتصال بالإدارة او ما يسمى في بعض المواقع اتصل بنا او contact us و هذه بعض الأمثلة :
http://www.al79n.com/vb/sendmessage.php
http://www.star28.com/mail.php
http://www.traidnt.net/Portal/Emailus.html
اذا كما نرى فتطبيقنا بصيغته البسيطة هو عبارة عن نموذج يحتوي على 3 صناديق نص لإدخال الإيميل و عنوان الرسالة و اسم المرسل و ايضا صندوق نص متعدد السطور (text area) لكتابة موضوع الرسالة و ايضا بالإضافة لزر الإرسال مع العلم انه بإمكاننا تصميم النموذج ليرسل اي شيء نريده مثل رقم اي بي او غيره
نبدأ كالتالي :
اولا نذهب الى المسار C:\AppServ\www ثم ننشئ مجلد جديد نسميه contact
ثم نفتح المحرر و نكتب كود تصميم النموذج بلغة html كالتالي :
كود PHP:
<form action='mail.php' method='POST'>
Sender Name :<br>
<input type='text' name='s_name'><br>
Sender Email :<br>
<input type='text' name='s_mail'><br>
Subject :<br>
<input type='text' name='subj'><br>
Message :<br>
<textarea rows='10' cols='50' name='msg'></textarea><br>
<input type='submit' value='send email to admin'>
</form>
ثم نقوم بحفظ هذا الكود الذي كتبناه بداخل المجلد contact الذي انشأناه و نحفظ الكود بإسم form.html ولاحظ ان الصيغة يجب ان تكون html و شرح النموذج اننا قمنا بعمل form يرسل البيانات الى الصفحة mail.php بالطريقة POST و قمنا بعمل 3 صناديق ادخال لأسم المرسل و بريد المرسل و عنوان الرسالة و ايضا قمنا بعمل صندوق نص متعدد السطور ليحمل محتوى الرسالة و ايضا زر للإرسال
الآن قمنا بتصميم النموذج لكن نحن بحاجة لمعالجة البيانات , كيف ؟؟
ببساطة يجب ان نقوم ببرمجة كود php يقوم بإستقبال بيانات هذا النموذج ثم يجمعها ثم يقوم بإرسالها الى بريد نقوم بتحديده وهو بريد المدير العام للموقع عادة في معظم المواقع
لنبدأ
نقوم بفتح المحرر لكتابة كود php كما في الدروس السابقة ثم نكتب الكود التالي :
ثم نقوم بحفظ هذا الكود ايضا بداخل المجلد contact بإسم mail.php كما قمنا بتحديده في الخاصية action في النموذج و شرح الكود كالتالي :
في السطور الأربعة الأولى قمنا بتعريف اربعة متغيرات و قمنا بإستخدامهم لإستقبال البيانات من النموذج تمهيدا لإرسالهم الى الأدمن
ثم قمنا بتعريف متغير جديد اسميناه header$ و هذا هو باراميتر للدالة mail التي سنشرحها في السطور التالية و وظيفة هذا المتغير هي ان نجمع اسم المرسل و بريده الإلكتروني في متغير واحد لإرسالها للأدمن
ثم قمنا بتعريف متغير جديد اسمه to$ و هذا سنستخدمه لتحديد البريد الإلكتروني الذي ستصل اليه الرسالة (اي ايميل مدير الموقع) و بإمكانكم وضع ايميلاتكم
اما الجزء الأخير من الكود فهو الدالة mail
ما هي الدالة mail و ما وظيفتها ؟؟
الدالة mail هي دالة دعمتنا فيها لغة php لتمكين المبرمج من ارسال بريد الكتروني عبر موقع مما سيسمح بتواصل اكبر ما بين مدراء المواقع و زوار المواقع و تحقيق الهدف الأساسي للإنترنت و هو التواصل
اما هذه الدالة فلها 5 معاملات يهمنا 4 منها و الصيغة العامة لها كالتالي :
كود PHP:
mail(المعامل الأول , المعامل الثاني , المعامل الثالث , المعامل الرابع , المعامل الخامس);
المعامل الأول : وهو البريد الذي سنرسل له و هو إجباري
المعامل الثاني : عنوان الرسالة و هو اجباري
المعامل الثالث : محتوى الرسالة و هو اجباري
المعامل الرابع : الهيدر و هو اختياري لكن يحبذ استخدامه لتحسين مظهر الرسالة
المعامل الخامس : هو معامل اختياري للإستخدامات الخاصة مثل المرفقات في البريد و غيرها ولكنه لا يهمنا حاليا
بهذا نكون قد انهينا البرمجة لكن يجب علينا تجربة ما قمنا بكتابته
الآن اذهب الى الرابط التالي :
http://localhost/contact/form.html
ثم قم بتعبئة بيانات النموذج ثم اضغظ على الزر
ستجد انه يوجد خطأ كما في الصورة التالية :
لكن لا تقلق فبرمجتنا سليمة 100% لكن هذا الخطأ يظهر لأن جهازك ليس سيرفر حقيقي و انما محلي (افتراضي - وهمي)
و لتجربة الدرس بإمكانكم زيارة الرابط التالي :
http://www.al79n-php.info/less8/form.html
و تعبئة بيانات النموذج ثم الضغظ على زر الإرسال ولاحظ انه لن يظهر الخطأ لأنني رفعته على الموقع اي سيرفر حقيقي وسوف تصلني الرسائل
بهذا نكون قد قمنا بتطبيق عملي بسيط لكن في الحقيقة برمجة صفحة الإتصال بنا تحتاج الى اكثر من ذلك مثل التحقق من القيم بالجافا سكريبت او التعابير القياسية لكن لا يهم حاليا فنحن نتعلم و للعلم فقط يمكن استخدام النماذج و php في عمليات اختراق متنوعة مثل الإيميل و بعض المواقع و الفيزا كارد و لكن اعتذر فلن اذكر الطريقة و سأحتفظ فيها لنفسي لكي لا يسيء ضعفاء النفوس و اطفال الهكر استخدامها ضد اخواننا المسلمين
ارجوا منكم تطبيق الدرس و السؤال عن اي نقطة مبهمة في الدرس و سأعيد شرحها بإذن الله
و بإذن الله سنتحدث في الدرس القادم عن جمل الإختيار و الشرط مثل if و if-else و switch
والسلام عليكم و رحمة الله و بركاته
مواقع النشر (المفضلة)