تسجيل الدخول

مشاهدة النسخة كاملة : [الدرس مفصل الثالث عشر] شرح طريقة القوائم والحقل الخفي وعمل نموذج إرسال بالبريد الإلكتروني



walid
11-01-2013, بتوقيت غرينيتش 04:00 PM
http://www.dzbatna.com/images/icons/iconrote.gif [ط§ظ„ط¯ط±ط³ ط§ظ„ط«ط§ظ„ط« ط¹ط´ط±] ط´ط±ط* ط§ظ„ظ‚ظˆط§ط¦ظ… ظˆط§ظ„ط*ظ‚ظ„ ط§ظ„ط®ظپظٹ ظˆط¹ظ…ظ„ ظ†ظ…ظˆط°ط¬ ط¥ط±ط³ط§ظ„ ط¨ط§ظ„ط¨ط±ظٹط¯ ط§ظ„ط¥ظ„ظƒطھط±ظˆظ†ظٹ (http://www.dzbatna.com/t122879/)



بسم الله الرحمن الرحيم
الحمد لله رب العالمين
والصلاة السلام على أشرف المرسلين
سيدنا محمد عليه أفضل الصلوات والتسليم

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

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

اقتباس


[الدرس مفصل الأول] مقدمة في لغة Php والتعرف على مميزاتها (http://www.dzbatna.com/t54666/)
[الدرس مفصل الثاني] تركيب install برنامج Iis (http://www.dzbatna.com/t56278/)
[الدرس مفصل الثالث] شرح طريقة كيفية تركيب install مترجم لغة Php (http://www.dzbatna.com/t57409/)
[الدرس مفصل الرابع] كيف تضيف قاعدة البيانات MySQL لسيرفر SERVER IIS (http://www.dzbatna.com/t58657/)
[الدرس مفصل الخامس] تركيب install ملف Php وتنفيذ صفحات Php (http://www.dzbatna.com/t60036/)
[الدرس مفصل السادس] شرح طريقة بروتوكولات تبادل المعلومات بين السيرفر SERVER والمتصفح (http://www.dzbatna.com/t60931/)
[الدرس مفصل السابع] التعليقات والمتغيرات (http://www.dzbatna.com/t62832/)
[الدرس مفصل الثامن] البيانات الحرفية والبيانات العددية (http://www.dzbatna.com/t68694/)
[الدرس مفصل التاسع] شرح طريقة متغيرات النظام والثوابت وبعض الدوال (http://www.dzbatna.com/t70285/)
[الدرس مفصل العاشر] إستخدام النماذج Form (http://www.dzbatna.com/t82487/)
[الدرس مفصل الحادي عشر] أدوات الإدخال في النماذج (http://www.dzbatna.com/t87809/)
[الدرس مفصل الثاني عشر] مربعات الإختيار المتعددة وأدوات الإختيار المنفردة (http://www.dzbatna.com/t116046/)




وإن شاء الله سنبدأ اليوم في شرح طريقة كيفية صنع القوائم المنسدلة والقوائم المتعددة الإختيارات والحقل الخفي وكيفية عمل نموذج إرسال بالبريد الإلكتروني .


أتمنى من الله أن يكون سهل وبسيط في نفس الوقت



بسم الله ::


القوئم Drop down list and menu list ::



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

قائمة منسدلة ::


رمز PHP:

<code style="white-space:nowrap"> <code> <select name="select">
</select>
</code> </code>




قائمة متعدد الإختيارات ::


رمز PHP:

<code style="white-space:nowrap"> <code> <select name="select" size="5" multiple>
</select>
</code> </code>



ويتم ذلك عن طريق الإختيار option تحديد قيمة كل إختيار كما سيتضح من المثال ::


قم بكتابة الكود code الآتي في الصفحة page03.htm ::


رمز Code:
<html dir=&quot;rtl&quot;> <head> <body> <form name=&quot;form1&quot; method=&quot;POST&quot; action=&quot;result03.php&quot;> <p> <lable>طريقة الدفع <select name=&quot;select&quot;> <option value=&quot;visa&quot;>Visa Card</option> <option value=&quot;master&quot;>Master Card</option> <option value=&quot;american&quot;>American Express</option> <option value=&quot;enroute&quot;>enRoute</option> </select> </lable> <br> <lable>المجلات</lable></br> <select name=&quot;select2[]&quot; size=&quot;5&quot; multiple> <option value=&quot;m1&quot;>المجلة الأولى</option> <option value=&quot;m2&quot;>المجلة الثانية</option> <option value=&quot;m3&quot;>المجلة الثالثة</option> <option value=&quot;m4&quot;>المجلة الرابعة</option> </select> </p> <p> <lable> <input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;إرسال&quot;> </lable> </p> </form> </head> </body> </html>


وعند إستعراض الصفحة ببرنامج IE تكون النتيجة كما في الصورة التالية ::

http://www.eltayer.net/lesson/35.gif

لاحظ أننا قمنا بإنشاء قائمة منسدلة يستطيع الزائر أن يختار أحد طرق الدفع بفتح القائمة المنسدلة ثم يمكنه عن طريق القائمة المتعددة أن يختار أحد أو كل المجلات التي يريد أن يشترك بها ، مثلاً بإختيار المجلة الثانية والثالثة .


قم بكتابة الكود code التالي في الصفحة التالية result03.php كما يلي ::


رمز Code:
<html dir=&quot;rtl&quot;> <? echo &quot;طريقة الدفع: &quot;.$_POST[&quot;select&quot;].&quot;<br>&quot;; if (isset($_POST[&quot;select2&quot;][0])) echo $_POST[&quot;select2&quot;][0].&quot;<br>&quot;; if (isset($_POST[&quot;select2&quot;][1])) echo $_POST[&quot;select2&quot;][1].&quot;<br>&quot;; if (isset($_POST[&quot;select2&quot;][2])) echo $_POST[&quot;select2&quot;][2].&quot;<br>&quot;; if (isset($_POST[&quot;select2&quot;][3])) echo $_POST[&quot;select2&quot;][3].&quot;<br>&quot;; ?> </html>


ويجب أن تكون النتيجة بهذا الشكل ::

http://www.eltayer.net/lesson/36.gif

ولرؤية مثال حي أضغط هنا (http://www.eltayer.net/lesson/page03.htm)





بهذه الطريقة تمكنا من معرفة إختيارات المستخدم ، وهناك بالطبع طرق كثيرة لإستخراج إختيارات المستخدم أهمها عن طريق الحلقات التكرارية بإستخدام العبارة foreach وسنقوم بشرح طريقةها لاحقاً .
لاحظ أنه في الصفحة الأولى تم تسمية القائمة بالإسم &quot;select2[]&quot; حتى يتم الإعلان عنها على أنها مصفوفة ، ويمكن الوصول إلى أي من عناصرها المختلفة ، وسيتم شرح طريقة المصفوفات بتفصيل أكثر في الدروس القادمة إن شاء الله .
لاحظ أننا إستخدمنا العبارة if isset() لإختبار وجود المتغير حتى لايقوم المعالج بإظهار رسالة خطأ .


الحقل الخفي Hidden Fild ::


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




رمز PHP:

<code style="white-space:nowrap"> <code> <input name="&#91;name&#93;" type="hidden" value="&#91;value&#93;">
</code> </code>



تم إستبدال الخصائص name و value بالإسم وقيمة الحقل على الترتيب .


مثال ::

قم بوضع قيمة للحقل الخفي في الصفحة الأولى هكذا ::


رمز Code:
$h_msg=&quot;قيمة سرية&quot;;


ولا تنسى وضع العلامات <? و ?> قبل كتابة كود code PHP ، والآن قم بكتابة الحقل الخفي في نفس الصفحة لتخزين قيمة المتغير h_msg .



رمز PHP:

<code style="white-space:nowrap"> <code> <input name="my_hidden_field" type="hidden" value=$h_msg>
</code> </code>





الآن أنتقل إلى الصفحة التالية result.php وفيها يمكنك عرض قيمة الحقل المخفي هكذا ::


رمز Code:
echo $_POST[&quot;my_hidden_field&quot;];



لاحظ في الصفحة الأولى يجب أن تكون صفحة PHP وليس HTML ، ويمكن إظهار عناصر HTML عن طريق العبارة echo &quot;html code&quot; .

حقل كلمة السر Password field ::

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


رمز Code:
<input type=&quot;password&quot; name=&quot;[name]&quot;>


ونلاحظ أنه تم تحديد نوعية الأداة في الوسم input عن طريق الخاصية type وتحديد الإسم لهذه الأداة عن طريق الخاصية name .


مثال ::

قم بكتابة الكود code التالي في صفحة وقم بحفظها بإسم page04.html ::


رمز Code:
<html dir=&quot;rtl&quot;> <head> <body> <form name=&quot;form1&quot; method=&quot;POST&quot; action=&quot;result04.php&quot;> <p> <lable>إسم المستخدم <input type=&quot;text&quot; name=&quot;user_name&quot;> </lable> </p> <p> <lable>كلمة السر <input type=&quot;password&quot; name=&quot;user_pw&quot;> </lable> </p> <p> <lable> <input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;دخول&quot;> </lable> </p> </form> </head> </body> </html>


هذا الكود code يجب أن يكون نتيجته الشكل القادم ::

http://www.eltayer.net/lesson/37.gif


قم الآن بكتابة كود code إظهار القيم في الصفحة result04.php كما يلي ::


رمز Code:
<html dir=&quot;rtl&quot;> <? echo &quot;إسم المستخدم: &quot;.$_POST[&quot;user_name&quot;].&quot;<br>&quot;; echo &quot;كلمة السر: &quot;.$_POST[&quot;user_pw&quot;]; ?> </html>



بعد أن تكون قمت بإدخال إسم المستخدم وكلمة السر قم بالضغط على مفتاح دخول ويجب أن تظهر صفحة result04.php بالشكل التالي ::

http://www.eltayer.net/lesson/38.gif




ولرؤية مثال حي أضغط هنا (http://www.eltayer.net/lesson/page04.htm)


الإرسال بالبريد الإلكتروني ::

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

ويتم إستخدم الدالة mail() لهذا الغرض كما يلي ::


رمز Code:
mail(address,subject,message,header);



نلاحظ أن المعاملات السابقة أنه يجب تحديد العنوان المرسل أليه في المعامل address وموضوع الرسالة في المعامل sudject والرسالة نفسها في المعامل message وأخيراً المعامل header التي يمكن عن طريقها تحديد بريد الراسل وإرسال أيضاً نسخة طبق الأصل من الرسالة إلى بريد آخر ، فمثلاً يمكن أن يتم ذلك هكذا ::


رمز Code:
&quot;From: infohttp://www.dzbatna.com/images/mail.gifdzbatna.net: dzbatnahttp://www.dzbatna.com/images/mail.gifhotmail.com&quot;


هذا طبعاً على سبيل المثال


من المثال السابق يتم إظهار البريد infohttp://www.dzbatna.com/images/mail.gifdzbatna.net في الخانة from وإرسال نسخة من الرسالة إلى البريد الآخر :

مثال ::

قم بكتابة الكود code الآتي وقم بحفظ الملف بإسم page05.htm كما يلي ::


رمز Code:
<html dir=&quot;rtl&quot;> <head> <body> <form name=&quot;form1&quot; method=&quot;POST&quot; action=&quot;result05.php&quot;> <p> <lable>الراسل<br> <input name=&quot;from&quot; type=&quot;text&quot; size=&quot;20&quot;> </lable> </p> <p> <lable>المرسل أليه<br> <input name=&quot;to&quot; type=&quot;text&quot; size=&quot;20&quot;> </lable> </p> <p> <lable>موضوع الرسالة<br> <input name=&quot;sub&quot; type=&quot;text&quot; size=&quot;30&quot;> </lable> </p> <p> <lable>الرسالة<br> <textarea name=&quot;msg&quot; clos=&quot;40&quot; row=&quot;10&quot;></textarea> </lable> </p> <p> <lable> <input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot; إرســال &quot;> </lable> </p> </form> </head> </body> </html>


وستكون نتيجة الكود code السابق هو نموذج إرسال الإيميل كما بالشكل التالي ::

http://www.eltayer.net/lesson/39.gif


قم الآن بكتابة سطر الإرسال الإيميل في الصفحة result05.php كما يلي ::


رمز Code:
<html dir=&quot;rtl&quot;> <? mail($_POST[&quot;to&quot;],$_POST[&quot;sub&quot;],$_POST[&quot;msg&quot;], &quot;From:&quot;&$_POST[&quot;from&quot;]); ?> </html>


وعند تجربة المثال والضغط على المفتاح &quot;أرسل&quot; ستظهر رسالة الخطأ كما يلي ::

http://www.eltayer.net/lesson/40.gif


والتي تدل على عدم وجود سيرفر SERVER يدعم إرسال البريد وهذا طبيعي لأننا نقوم بالتجربة على جهازنا المحلي ، ولكن حتى تستطيع رؤية النتيجة يجب أن تقوم بتنفيذ الكود code على الإنترنت

ولرؤية مثال حي أضغط هنا (http://www.eltayer.net/lesson/page05.htm)

وستلاحظ أن رسالة الخطأ لم تظهر ولكن ستظهر صفحة بيضاء

أتمنى من الله أن أكون أفدتكم وإن شاء الله سنبدأ من الدرس مفصل القادم في أوامر الشرط

أخوكم الطاير http://www.dzbatna.com/images/smilies/icon26.gif






ألعاب الأندرويد مجانا و حصريا (http://www.apotox.info/forum)




https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/482113_236967293114455_1193518507_n.png (http://www.dzbatna.com)
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى (http://www.dzbatna.com)©

استعمل مربع البحث في الاسفل لمزيد من المواضيع


سريع للبحث عن مواضيع في المنتدى