واحد من الناسـ
04-08-07, 05:27 PM
بسم الله الرحمن الرحيم
الحمد لله رب العالمين
والصلاة السلام على أشرف المرسلين
سيدنا محمد عليه أفضل الصلوات والتسليم
السلام عليكم ورحمة الله وبركاته
وإن شاء الله سنبدأ اليوم في شرح كيفية صنع القوائم المنسدلة والقوائم المتعددة الإختيارات والحقل الخفي وكيفية عمل نموذج إرسال بالبريد الإلكتروني .
أتمنى من الله أن يكون سهل وبسيط في نفس الوقت
بسم الله ::
القوئم Drop down list and menu list ::
وهي من الأشياء الشائعة جداً في النماذج وتستخدم لإستقبال إختيارات الزائر ويمكن أن تسمح بعدة إختيارات أو بإختيار واحد فقط كما يتضح من الصيغة القياسية :
قائمة منسدلة ::
<select name="select">
</select>
قائمة متعدد الإختيارات ::
<select name="select" size="5" multiple>
</select>
ويتم ذلك عن طريق الإختيار option تحديد قيمة كل إختيار كما سيتضح من المثال ::
قم بكتابة الكود الآتي في الصفحة page03.htm ::
<html dir="rtl">
<head>
<body>
<form name="form1" method="POST"
action="result03.php">
<p>
<lable>طريقة الدفع
<select name="select">
<option value="visa">Visa Card</option>
<option value="master">Master Card</option>
<option value="american">American Express</option>
<option value="enroute">enRoute</option>
</select>
</lable>
<br>
<lable>المجلات</lable></br>
<select name="select2[]" size="5" multiple>
<option value="m1">المجلة الأولى</option>
<option value="m2">المجلة الثانية</option>
<option value="m3">المجلة الثالثة</option>
<option value="m4">المجلة الرابعة</option>
</select>
</p>
<p>
<lable>
<input type="submit" name="Submit" value="إرسال">
</lable>
</p>
</form>
</head>
</body>
</html>
وعند إستعراض الصفحة ببرنامج IE تكون النتيجة كما في الصورة التالية ::
http://www.eltayer.net/lesson/35.gif
لاحظ أننا قمنا بإنشاء قائمة منسدلة يستطيع الزائر أن يختار أحد طرق الدفع بفتح القائمة المنسدلة ثم يمكنه عن طريق القائمة المتعددة أن يختار أحد أو كل المجلات التي يريد أن يشترك بها ، مثلاً بإختيار المجلة الثانية والثالثة .
قم بكتابة الكود التالي في الصفحة التالية result03.php كما يلي ::
<html dir="rtl">
<?
echo "طريقة الدفع: ".$_POST["select"]."<br>";
if (isset($_POST["select2"][0]))
echo $_POST["select2"][0]."<br>";
if (isset($_POST["select2"][1]))
echo $_POST["select2"][1]."<br>";
if (isset($_POST["select2"][2]))
echo $_POST["select2"][2]."<br>";
if (isset($_POST["select2"][3]))
echo $_POST["select2"][3]."<br>";
?>
</html>
ويجب أن تكون النتيجة بهذا الشكل ::
http://www.eltayer.net/lesson/36.gif
ولرؤية مثال حي أضغط هنا (http://www.eltayer.net/lesson/page03.htm)
بهذه الطريقة تمكنا من معرفة إختيارات المستخدم ، وهناك بالطبع طرق كثيرة لإستخراج إختيارات المستخدم أهمها عن طريق الحلقات التكرارية بإستخدام العبارة foreach وسنقوم بشرحها لاحقاً .
لاحظ أنه في الصفحة الأولى تم تسمية القائمة بالإسم "select2[]" حتى يتم الإعلان عنها على أنها مصفوفة ، ويمكن الوصول إلى أي من عناصرها المختلفة ، وسيتم شرح المصفوفات بتفصيل أكثر في الدروس القادمة إن شاء الله .
لاحظ أننا إستخدمنا العبارة if isset() لإختبار وجود المتغير حتى لايقوم المعالج بإظهار رسالة خطأ .
الحقل الخفي Hidden Fild ::
من التقنيات الهامة جداً فهذه الحقول تسمح بتبادل المعلومات بين صفحات PHP بدون أن يراها المستخدم ، وهذه الحقول تأخذ الصيغة الآتية ::
<input name="[name]" type="hidden" value="[value]">
تم إستبدال الخصائص name و value بالإسم وقيمة الحقل على الترتيب .
مثال ::
قم بوضع قيمة للحقل الخفي في الصفحة الأولى هكذا ::
$h_msg="قيمة سرية";
ولا تنسى وضع العلامات <? و ?> قبل كتابة كود PHP ، والآن قم بكتابة الحقل الخفي في نفس الصفحة لتخزين قيمة المتغير h_msg .
<input name="my_hidden_field" type="hidden" value=$h_msg>
الآن أنتقل إلى الصفحة التالية result.php وفيها يمكنك عرض قيمة الحقل المخفي هكذا ::
echo $_POST["my_hidden_field"];
لاحظ في الصفحة الأولى يجب أن تكون صفحة PHP وليس HTML ، ويمكن إظهار عناصر HTML عن طريق العبارة echo "html code" .
حقل كلمة السر Password field ::
ويستخدم حتى يستطيع الزائر الدخول إلى بيانات خاصة بحيث لا تظهر كلمة السر لأي شخص بجانب الزائر وتظهر فيها نجوم بدلاً من الحروف ، وهذا الحقل عبارة عن صندوق نصي بالصيغة التالية ::
<input type="password" name="[name]">
ونلاحظ أنه تم تحديد نوعية الأداة في الوسم input عن طريق الخاصية type وتحديد الإسم لهذه الأداة عن طريق الخاصية name .
مثال ::
قم بكتابة الكود التالي في صفحة وقم بحفظها بإسم page04.html ::
<html dir="rtl">
<head>
<body>
<form name="form1" method="POST"
action="result04.php">
<p>
<lable>إسم المستخدم
<input type="****" name="user_name">
</lable>
</p>
<p>
<lable>كلمة السر
<input type="password" name="user_pw">
</lable>
</p>
<p>
<lable>
<input type="submit" name="Submit" value="دخول">
</lable>
</p>
</form>
</head>
</body>
</html>
هذا الكود يجب أن يكون نتيجته الشكل القادم ::
http://www.eltayer.net/lesson/37.gif
قم الآن بكتابة كود إظهار القيم في الصفحة result04.php كما يلي ::
<html dir="rtl">
<?
echo "إسم المستخدم: ".$_POST["user_name"]."<br>";
echo "كلمة السر: ".$_POST["user_pw"];
?>
</html>
بعد أن تكون قمت بإدخال إسم المستخدم وكلمة السر قم بالضغط على مفتاح دخول ويجب أن تظهر صفحة result04.php بالشكل التالي ::
http://www.eltayer.net/lesson/38.gif
ولرؤية مثال حي أضغط هنا (http://www.eltayer.net/lesson/page04.htm)
الإرسال بالبريد الإلكتروني ::
هناك العديد من الفوائد التي يمكن الحصول عليها من إرسال بريد تلقائي إلى جهة معينة ، فمثلاً عند وجود ملحوظة يريد الزائر أن يرسلها إلى إدارة الموقع أو للإبلاغ عن خطأ معين من الموقع أو لإرسال رابط لبريد المستخدم عن طريقه يتم تفعيل إشتراكه في الموقع ، وهكذا ....
ويتم إستخدم الدالة mail() لهذا الغرض كما يلي ::
mail(address,subject,message,header);
نلاحظ أن المعاملات السابقة أنه يجب تحديد العنوان المرسل أليه في المعامل address وموضوع الرسالة في المعامل sudject والرسالة نفسها في المعامل message وأخيراً المعامل header التي يمكن عن طريقها تحديد بريد الراسل وإرسال أيضاً نسخة طبق الأصل من الرسالة إلى بريد آخر ، فمثلاً يمكن أن يتم ذلك هكذا ::
"From: info@traidnt.net:
traidnt@hotmail.com"
هذا طبعاً على سبيل المثال
من المثال السابق يتم إظهار البريد info@traidnt.net في الخانة from وإرسال نسخة من الرسالة إلى البريد الآخر :
مثال ::
قم بكتابة الكود الآتي وقم بحفظ الملف بإسم page05.htm كما يلي ::
<html dir="rtl">
<head>
<body>
<form name="form1" method="POST"
action="result05.php">
<p>
<lable>الراسل<br>
<input name="from" type="****" size="20">
</lable>
</p>
<p>
<lable>المرسل أليه<br>
<input name="to" type="****" size="20">
</lable>
</p>
<p>
<lable>موضوع الرسالة<br>
<input name="sub" type="****" size="30">
</lable>
</p>
<p>
<lable>الرسالة<br>
<****area name="msg" clos="40" row="10"></****area>
</lable>
</p>
<p>
<lable>
<input type="submit" name="Submit" value=" إرســال ">
</lable>
</p>
</form>
</head>
</body>
</html>
وستكون نتيجة الكود السابق هو نموذج إرسال الإيميل كما بالشكل التالي ::
http://www.eltayer.net/lesson/39.gif
قم الآن بكتابة سطر الإرسال الإيميل في الصفحة result05.php كما يلي ::
<html dir="rtl">
<?
mail($_POST["to"],$_POST["sub"],$_POST["msg"],
"From:"&$_POST["from"]);
?>
</html>
وعند تجربة المثال والضغط على المفتاح "أرسل" ستظهر رسالة الخطأ كما يلي ::
http://www.eltayer.net/lesson/40.gif
والتي تدل على عدم وجود سيرفر يدعم إرسال البريد وهذا طبيعي لأننا نقوم بالتجربة على جهازنا المحلي ، ولكن حتى تستطيع رؤية النتيجة يجب أن تقوم بتنفيذ الكود على الإنترنت
ولرؤية مثال حي أضغط هنا (http://www.eltayer.net/lesson/page05.htm)
وستلاحظ أن رسالة الخطأ لم تظهر ولكن ستظهر صفحة بيضاء
أتمنى من الله أن أكون أفدتكم
أخوكم الطاير
منقول نصياً من الأخ الطاير جزاه الله كل خير
دُمتم بحفظ الله
الحمد لله رب العالمين
والصلاة السلام على أشرف المرسلين
سيدنا محمد عليه أفضل الصلوات والتسليم
السلام عليكم ورحمة الله وبركاته
وإن شاء الله سنبدأ اليوم في شرح كيفية صنع القوائم المنسدلة والقوائم المتعددة الإختيارات والحقل الخفي وكيفية عمل نموذج إرسال بالبريد الإلكتروني .
أتمنى من الله أن يكون سهل وبسيط في نفس الوقت
بسم الله ::
القوئم Drop down list and menu list ::
وهي من الأشياء الشائعة جداً في النماذج وتستخدم لإستقبال إختيارات الزائر ويمكن أن تسمح بعدة إختيارات أو بإختيار واحد فقط كما يتضح من الصيغة القياسية :
قائمة منسدلة ::
<select name="select">
</select>
قائمة متعدد الإختيارات ::
<select name="select" size="5" multiple>
</select>
ويتم ذلك عن طريق الإختيار option تحديد قيمة كل إختيار كما سيتضح من المثال ::
قم بكتابة الكود الآتي في الصفحة page03.htm ::
<html dir="rtl">
<head>
<body>
<form name="form1" method="POST"
action="result03.php">
<p>
<lable>طريقة الدفع
<select name="select">
<option value="visa">Visa Card</option>
<option value="master">Master Card</option>
<option value="american">American Express</option>
<option value="enroute">enRoute</option>
</select>
</lable>
<br>
<lable>المجلات</lable></br>
<select name="select2[]" size="5" multiple>
<option value="m1">المجلة الأولى</option>
<option value="m2">المجلة الثانية</option>
<option value="m3">المجلة الثالثة</option>
<option value="m4">المجلة الرابعة</option>
</select>
</p>
<p>
<lable>
<input type="submit" name="Submit" value="إرسال">
</lable>
</p>
</form>
</head>
</body>
</html>
وعند إستعراض الصفحة ببرنامج IE تكون النتيجة كما في الصورة التالية ::
http://www.eltayer.net/lesson/35.gif
لاحظ أننا قمنا بإنشاء قائمة منسدلة يستطيع الزائر أن يختار أحد طرق الدفع بفتح القائمة المنسدلة ثم يمكنه عن طريق القائمة المتعددة أن يختار أحد أو كل المجلات التي يريد أن يشترك بها ، مثلاً بإختيار المجلة الثانية والثالثة .
قم بكتابة الكود التالي في الصفحة التالية result03.php كما يلي ::
<html dir="rtl">
<?
echo "طريقة الدفع: ".$_POST["select"]."<br>";
if (isset($_POST["select2"][0]))
echo $_POST["select2"][0]."<br>";
if (isset($_POST["select2"][1]))
echo $_POST["select2"][1]."<br>";
if (isset($_POST["select2"][2]))
echo $_POST["select2"][2]."<br>";
if (isset($_POST["select2"][3]))
echo $_POST["select2"][3]."<br>";
?>
</html>
ويجب أن تكون النتيجة بهذا الشكل ::
http://www.eltayer.net/lesson/36.gif
ولرؤية مثال حي أضغط هنا (http://www.eltayer.net/lesson/page03.htm)
بهذه الطريقة تمكنا من معرفة إختيارات المستخدم ، وهناك بالطبع طرق كثيرة لإستخراج إختيارات المستخدم أهمها عن طريق الحلقات التكرارية بإستخدام العبارة foreach وسنقوم بشرحها لاحقاً .
لاحظ أنه في الصفحة الأولى تم تسمية القائمة بالإسم "select2[]" حتى يتم الإعلان عنها على أنها مصفوفة ، ويمكن الوصول إلى أي من عناصرها المختلفة ، وسيتم شرح المصفوفات بتفصيل أكثر في الدروس القادمة إن شاء الله .
لاحظ أننا إستخدمنا العبارة if isset() لإختبار وجود المتغير حتى لايقوم المعالج بإظهار رسالة خطأ .
الحقل الخفي Hidden Fild ::
من التقنيات الهامة جداً فهذه الحقول تسمح بتبادل المعلومات بين صفحات PHP بدون أن يراها المستخدم ، وهذه الحقول تأخذ الصيغة الآتية ::
<input name="[name]" type="hidden" value="[value]">
تم إستبدال الخصائص name و value بالإسم وقيمة الحقل على الترتيب .
مثال ::
قم بوضع قيمة للحقل الخفي في الصفحة الأولى هكذا ::
$h_msg="قيمة سرية";
ولا تنسى وضع العلامات <? و ?> قبل كتابة كود PHP ، والآن قم بكتابة الحقل الخفي في نفس الصفحة لتخزين قيمة المتغير h_msg .
<input name="my_hidden_field" type="hidden" value=$h_msg>
الآن أنتقل إلى الصفحة التالية result.php وفيها يمكنك عرض قيمة الحقل المخفي هكذا ::
echo $_POST["my_hidden_field"];
لاحظ في الصفحة الأولى يجب أن تكون صفحة PHP وليس HTML ، ويمكن إظهار عناصر HTML عن طريق العبارة echo "html code" .
حقل كلمة السر Password field ::
ويستخدم حتى يستطيع الزائر الدخول إلى بيانات خاصة بحيث لا تظهر كلمة السر لأي شخص بجانب الزائر وتظهر فيها نجوم بدلاً من الحروف ، وهذا الحقل عبارة عن صندوق نصي بالصيغة التالية ::
<input type="password" name="[name]">
ونلاحظ أنه تم تحديد نوعية الأداة في الوسم input عن طريق الخاصية type وتحديد الإسم لهذه الأداة عن طريق الخاصية name .
مثال ::
قم بكتابة الكود التالي في صفحة وقم بحفظها بإسم page04.html ::
<html dir="rtl">
<head>
<body>
<form name="form1" method="POST"
action="result04.php">
<p>
<lable>إسم المستخدم
<input type="****" name="user_name">
</lable>
</p>
<p>
<lable>كلمة السر
<input type="password" name="user_pw">
</lable>
</p>
<p>
<lable>
<input type="submit" name="Submit" value="دخول">
</lable>
</p>
</form>
</head>
</body>
</html>
هذا الكود يجب أن يكون نتيجته الشكل القادم ::
http://www.eltayer.net/lesson/37.gif
قم الآن بكتابة كود إظهار القيم في الصفحة result04.php كما يلي ::
<html dir="rtl">
<?
echo "إسم المستخدم: ".$_POST["user_name"]."<br>";
echo "كلمة السر: ".$_POST["user_pw"];
?>
</html>
بعد أن تكون قمت بإدخال إسم المستخدم وكلمة السر قم بالضغط على مفتاح دخول ويجب أن تظهر صفحة result04.php بالشكل التالي ::
http://www.eltayer.net/lesson/38.gif
ولرؤية مثال حي أضغط هنا (http://www.eltayer.net/lesson/page04.htm)
الإرسال بالبريد الإلكتروني ::
هناك العديد من الفوائد التي يمكن الحصول عليها من إرسال بريد تلقائي إلى جهة معينة ، فمثلاً عند وجود ملحوظة يريد الزائر أن يرسلها إلى إدارة الموقع أو للإبلاغ عن خطأ معين من الموقع أو لإرسال رابط لبريد المستخدم عن طريقه يتم تفعيل إشتراكه في الموقع ، وهكذا ....
ويتم إستخدم الدالة mail() لهذا الغرض كما يلي ::
mail(address,subject,message,header);
نلاحظ أن المعاملات السابقة أنه يجب تحديد العنوان المرسل أليه في المعامل address وموضوع الرسالة في المعامل sudject والرسالة نفسها في المعامل message وأخيراً المعامل header التي يمكن عن طريقها تحديد بريد الراسل وإرسال أيضاً نسخة طبق الأصل من الرسالة إلى بريد آخر ، فمثلاً يمكن أن يتم ذلك هكذا ::
"From: info@traidnt.net:
traidnt@hotmail.com"
هذا طبعاً على سبيل المثال
من المثال السابق يتم إظهار البريد info@traidnt.net في الخانة from وإرسال نسخة من الرسالة إلى البريد الآخر :
مثال ::
قم بكتابة الكود الآتي وقم بحفظ الملف بإسم page05.htm كما يلي ::
<html dir="rtl">
<head>
<body>
<form name="form1" method="POST"
action="result05.php">
<p>
<lable>الراسل<br>
<input name="from" type="****" size="20">
</lable>
</p>
<p>
<lable>المرسل أليه<br>
<input name="to" type="****" size="20">
</lable>
</p>
<p>
<lable>موضوع الرسالة<br>
<input name="sub" type="****" size="30">
</lable>
</p>
<p>
<lable>الرسالة<br>
<****area name="msg" clos="40" row="10"></****area>
</lable>
</p>
<p>
<lable>
<input type="submit" name="Submit" value=" إرســال ">
</lable>
</p>
</form>
</head>
</body>
</html>
وستكون نتيجة الكود السابق هو نموذج إرسال الإيميل كما بالشكل التالي ::
http://www.eltayer.net/lesson/39.gif
قم الآن بكتابة سطر الإرسال الإيميل في الصفحة result05.php كما يلي ::
<html dir="rtl">
<?
mail($_POST["to"],$_POST["sub"],$_POST["msg"],
"From:"&$_POST["from"]);
?>
</html>
وعند تجربة المثال والضغط على المفتاح "أرسل" ستظهر رسالة الخطأ كما يلي ::
http://www.eltayer.net/lesson/40.gif
والتي تدل على عدم وجود سيرفر يدعم إرسال البريد وهذا طبيعي لأننا نقوم بالتجربة على جهازنا المحلي ، ولكن حتى تستطيع رؤية النتيجة يجب أن تقوم بتنفيذ الكود على الإنترنت
ولرؤية مثال حي أضغط هنا (http://www.eltayer.net/lesson/page05.htm)
وستلاحظ أن رسالة الخطأ لم تظهر ولكن ستظهر صفحة بيضاء
أتمنى من الله أن أكون أفدتكم
أخوكم الطاير
منقول نصياً من الأخ الطاير جزاه الله كل خير
دُمتم بحفظ الله