الأوامر الشرطية
لقد أخذنا في الدروس السابقة فكرة عن المتغيرات وكيفية تعامل البيانات مع النماذج ...في هذا الدرس سنتعلم كيفية التحكم بالكود بمعني تنفيذ سطر معين من الكود عند حصول شرط معين وعند عدم حصوله نتجاهل السطر ونتجه الى السطر الذي يليه ..هذا يمنحنا تحكماً أكبر بالكود ويجعلنا نستخدم قرارات وتنفيذ أشياء ممتازة وبرامج رائعة بالـPHP .
دعنا نعطيك فكرة من حياتنا اليومية ....
تقوم في الصباح وتريد أن تحضر فطورك الذي يتكون من التالي :
عسل
جبنة
خبز
شاي
ستقوم بالذهاب إلى الثلاجة ثم تقوم بالبحث عن الأشياء التي يتكون منها فطورك ، فإذا لم تجد ما تريد تستعد للذهاب إلى المركز التجاري لشرائه حاجتك ، تذهب إلى المطبخ وتتأكد مره أخرى وتبحث عن المؤونة التي يحتاجها البيت بشكل عام .
1- تبحث عن جبنة وإذا لم تجدها تنتقل إلى الخطوة 3 .
2- إذا وجدت جبنة فإنك تبحث عن العسل فإذا وجدته تنتقل الى الخطوة 4 ، واذا لم تجده تنتقل الى الخطوة 5 .
3- تقوم بكتابتها في ورقة جانبية وتقوم بالبحث عن العسل .
4- تتجهز للذهاب إلى المركز التجاري .
5- تكتبه في ورقه جانبيه ثم تتجهز للذهاب إلى المركز التجاري .
هل لاحظت انك كنت تقوم بالبحث عن أشياء معينة فاذا وجدتها (true ) قمت بالبحث عن التي تليها وإذا لم تجدها (false) تقوم بتسجيلها في قائمة المشتريات لديك .
القيم المنطقية والدوال الشرطية
في الواقع لقد تكلمنا عن المتغيرات سابقاً وذكرنا بأن هناك متغيرات منطقية (قيمتها إما صحيح إم خطأ ) ولم نقم بشرحها ، وهذا الدرس سيتولي شرحها وإعطاء أمثلة على كيفية التعامل معها .
العبارة IF
IF condition is true ( إذا كان الشرط صحيحاً )
{
excute this code (قم بتنفيذ هذا الكود)
}
إن الدالة IF معروفة تقريباً في جميع لغات البرمجة ...حيث أنها تقوم بعملية التحقق من شي معين وتنفيذ بعض الأشياء إذا كان الشرط صحيحا (true) والقيام بتنفيذ أشياء أخرى أذا لم يكن صحيحا ....
سيقوم الـPHP بتنفيذ الكود التي بين { و } فقط اذا كان الشرط صحيحاً .
أما إذا لم يكن صحيحاً فسيقوم بتجاوزه وتنفيذ الكود الذي يليه .
ويمكنك أيضا أن تقوم بجعلها بسطر واحد ولا تستخدم الأقواس بل تكتب الأمر مباشرة :
IF condition is true excute function;
لاحظ أنه لابد من استخدام { و } إذا كان الكود يتكون من عدة أسطر أما إذا كان يتكون من سطر واحد فلا داعي لاستخدامها .
فالمثالين التاليين كلهما صحيحين
مثال(1)
<?
$S=10
IF ($S=10) echo 11;
?>
مثال (2)
<?
$S=10
IF ($S=10){
echo 11;
}
?>
لنتخيل مثلاً أن الجو ممطر وسنقوم بإعطاء المطر متغيراً ونسميه rain ونقوم بإعطاء المظلة اسم متغير آخر ونسميه umbrella وسنقوم بإفتراض أن هناك أمر في الـphp يسمي go out حسناً الآن الكود الذي نريد أن نقوم بكتابته هو :
If $rain = true
{
$umberrlla = true
}
go out();
فائدة هذا الكود هو أن تأمر الـPHP بحمل المظلة ($umberrlla=true) معه إذا كان الجو ممطراً ($rain=true)وإذا لم يكن ممطراً ولم يتحقق الشرط فإنه سيخرج إلى النزهه بدون أي مظلة .
طبعا ليس هناك دالة تقوم بذلك إنما قمنا بذلك من أجل التوضيح للمستخدم هيكلية عمل الدالة بشكل عام .
مقدمه الى القيم المنطقيه (Boolean Values)
القيم المنطقية ترمز إلى الأشياء التي لاتحتمل أكثر من احتمالين وهما إما صح وإما خطأ ، وهي نوع جديد من القيم غير التي كنت نعرفها سابقا (مثل الرقميه والنصيه) .
مثال
<?
$variable=true;
echo “$variable”;
?>
لو قمت برؤيه النتييجة ستجد أنه يطبع الرقم واحد وهو قيمة المتغير إذا كان صحيحاً ، أما أذا كان خطأ أو غير صحيح فقيمته ستكون( 0 ) .
المعاملات المنطقية
لقد أخذنا المعاملات الرياضية فيما سبق بشيء من التفصيل (+،-،/،*) والان سنأخذ شيئاً جديداً من المعاملات وهي المعاملات المنطقية التي تساعدنا في صناعة الشروط والتقييدات على شي معين وتعطينا تحكما أكبر في الكود .
المعاملات : < و >
من المفترض أن تكون متآلفاً مع علامتي الأكبر من والأصغر من في الرياضيات التي تتعلمها في المدرسة مما يجعل فهم هذا الأمثله بسيطاً .
<?
If (6>5)
{
echo “الرقم ستة أكبر من الرقم خمسة ”;
}
Echo “end”;
?>
سيقوم الـPHP في مثالنا هذا بفحص الشرط (6>5) فإذا كان صحيحاً (true) سيقوم بطباعة السطر (الرقم سته اكبر من الرقم خمسه) ثم يقوم بطباعة end ، وإذا لم يكن صحيحاً فسيقوم بتجاهل الكود وطباعة (end) فقط .
يمكننا أيضا استعمالها في المقارنة بين متغير ورقم أو بين متغير وثابت (constant) أو العكس أو المقارنة بين متغيرين .
مثال (1)
<html dir =”rtl”>
<?
$LuckeyNumber = 5;
If ($LuckeyNumber<6)
{
echo (“رقم الحظ أصغر من الرقم ستة ”);
}
?>
مثال (2)
<html dir=”rtl”>
<?
$f=5;
$r=10;
If ($f >$r)
{
echo “المتغير $f أكبر من المتغير $r”;
}
?>
تطبيق عملي :
قم بتشغيل محرر النصوص واكتب الكود التالي واحفظه باسم thegame.php
<html dir = “rtl”>
<body>
<form method =get action=”game.php”>
ماهو الرقم الذي أفكر به الآن والذي هو بين 1 و10 ؟
<input type=”text” name=”number”>
<br>
<br>
<input type =submit>
</form>
</body>
</html>
قم بفتح محرر النصوص لديك من جديد واكتب الكود التالي واحفظه باسم game.php
<html dir=”rtl”>
<body>
<?
$num = rand (1,10);
if ($number>$num)
{
echo “لقد اخترت رقم أكبر من الذي أفكر فيه” ;
Echo “الرقم الذي أفكر فيه هو “;
Echo $num;
Echo “<br>”.“يؤسفنا فعلاً أنك لم تنجح ، نتمنى أن نقول لك في المرات القادمة “ ;
}
if ($number<$num)
{
echo “لقد اخترت رقم أصغر من الذي أفكر فيه” ;
Echo “الرقم الذي كان في مخيلتي هو $num”;
Echo “<br>”. “يؤسفنا فعلاً أنك لم تنجح ، نتمنى أن نقول لك في المرات القادمة “;
}
?>
لقد نجحت
</body>
</html>
شرح التطبيق :
الداله rand
تقوم هذه الدالة باختيار رقم عشوائي من بين رقمين يتم اعطاءها إياها الرقم الاول(x) هو الأصغر والرقم الثاني هو الأكبر(y)
Rand (x,y);
يمكنك حفظ القيمة التي تقوم بإخراجها هذه الدالة في متغير مباشرة
مثال
$Num = rand (5.57);
وهذا يوضح ماقمنا به في الكود
$num=rand(1,10);
لقد قمنا باختيار قيمة عشوائية ثم قمنا بمقارنتها مع القيمة التي تم إدخالها من قبل المستخدم فإذا كانت القيمة التي أدخلها المستخدم أكبر من قيمة العدد العشوائي أخبرناه بأن الرقم الذي أدخله أكبر من الرقم الصحيح ... وهذا ماتجده جليا في الأسطر التالية :
if ($number>$num)
{
echo “لقد اخترت رقم أكبر من الذي أفكر فيه” ;
Echo “الرقم الذي أفكر فيه هو “;
Echo $num;
Echo “<br>”.“يؤسفنا فعلاً أنك لم تنجح ، نتمنى أن نقول لك في المرات القادمة “ ;
}
فإذا لم ينطبق الشرط وكان الرقم الذي اختاره المستخدم أصغر من الرقم العشوائي فإنه يترك الشرط الأول ويتجه الى الشرط الثاني ويطبق الأوامر التي فيه والتي تقوم باخباره بأن الرقم الذي قام باختياره أصغر من الرقم المطلوب ، وهذا ماتجده جليا في الأسطر التالية :
if ($number<$num)
{
echo “لقد اخترت رقم أصغر من الذي أفكر فيه” ;
Echo “الرقم الذي كان في مخيلتي هو $num”;
Echo “<br>”. “يؤسفنا فعلاً أنك لم تنجح ، نتمنى أن نقول لك في المرات القادمة “;
}
فإذا لم يتطبق الشرطين فإنه يتركهما ويكتب الكلمة (لقد نجحت ) بدون أي كلمات آخرى مثلما كنا نكتب الكلمه (يؤسفنا فعلاً أنك لم تنجح ، نتمنى أن نقول لك في المرات القادمة ) قبل كلمة (لقد نجحت ) ، أتمني أنك قد فهمت جيداً ما أقول .... وتظهر هذه العبارة جلية في الأسطر التالية :
?>
لقد نجحت
</body>
</html>
على هذا نكون قد صنعنا لعبة كاملة تقوم بإخبار المستخدم عند نجاحه او خسارته .
معاملات المساواة : == و ===
لقد قمنا باستخدام علامة المساواة الفردية سابقاً في تخزين قيمة في متغير وهانحن نأخذ نوعاً من علامات المساواة وهو علامة الساواة المزدوجة (==) وعلامة المساواة المضاعفة (=== ) .
لقد كنا نستخدم علامة المساواة الفردية او العادية في تخزين القيم في المتغيرات .
مثال :
<?
$m=12;
?>
ولكن العلامات التي نتكلم عنها الآن تستخدم في تحديد إذا ماكانت قيمة معينة تساوي قيمة اخري .
مثال :
<?
$m=”11”;
$u=11;
If ($m==$u)
{
Echo “القيم متساوية ”;
}
?>
لاحظ أن $m متغير حرفي وان $u متغير رقمي .
إذا كنا نريد ارجاع قيمة إلى متغير نستخدم علامة المساواة العادية (=) وإذا أردنا اختبار متغيرين أو قيمة معينة من أنها متساوية نقوم باختبار القيم بواسطة علامة المساواة المزدوجه (==) .
في الـphp4.01 تم إصدار علامة مساواة جديدة تقوم باختبار القيم ولاتعطي القيمه (true) إلا إذا كانت أنواع القيم متساوية وأنواع البيانات في المتغيرات ايضا متساوية .
مثال (1) :
<?
$m=”11”;
$u=11;
If ($m==$u)
{
Echo “القيم متساوية ”;
}
?>
مثال (2) :
<?
$m=”11”;
$u=11;
If ($m===$u)
{
Echo “القيم متساوية ”;
}
?>
التوضيح
لاحظ أننا في المثال الأول استخدمنا علامة المساواة المزدوجة لاختبار القيم وكانت القيم متساوية في المتغيرين فتم طباعة أن القيم متساوية (مع أن نوع البيانات مختلف ) ولكن في المثال الثاني عندما استخدمنا علامة المساواة المضاعفة لم يتم طباعة أي شي وذلك لان القيم متساوية ولكن نوع البيانات مختلف فالمتغير $m حرفي بينما المتغير $u رقمي .
المعاملات : =! و <>
إن عكس علامة المساواة هي علامة عدم المساواة (!=)
مثال :
<?
If (5!=99) echo “القيم غير متساوية”;
?>
لاحظ أن 5 لاتساوي 99 لذلك فإن الشرط صحيح (true) لذلك قام بطباعة أن القيم غير متساوية .
إن الضد من علامة أكبر من وأصغر من هو علامة الـ(<>) وهو يقوم بارجاع قيمة (true) إذا كانت القيمتين مختلفتين عن بعضهما أي أنه مثل علامة != تقريباً .
مثال :
<?
If (5<>99) echo “القيم غير متساوية”;
?>
تطبيق عملي على علامات المساواة وعدم المساواة
قم بفتح محرر النصوص لديك واكتب الكود التالي :
<html>
<head></head>
<body>
<Form method =get ACTION= “quiz.php”>
ماهو اسم الرجل الذي يسمي بالفاروق ؟
<br><br>
<input type =”radio” name = “man” value=”عمر”>
عمر بن الخطاب رضي الله عنه
<br>
<input type =”radio” name = “man” value=”أبوبكر”>
أبو بكر الصديق رضي الله عنه
<br>
<input type =”radio” name = “man” value=”عثمان”>
عثمان بن عفان رضي الله عنه
<br>
<input type = submit>
</form>
</body>
</html>
احفظها باسم quiz.html ...
قم بفتح محرر النصوص لديك واكتب الكود التالي :
<html dir=”rtl”>
<head></head>
<body>
<?
If ($q==”عمر ”) echo “الإجابة صحيحة”;
If ($q!=”عمر”) echo “الإجابة خاطئة”;
?>
قم بحفظه باسم quiz.php وضعهما في مجلد السيرفر
قم بتشغيل الملف quiz.html
المعاملات المنطقيه (AND,OR,NOT)
إن هذه المعاملات المنطقية تتيح لك بتنفيذ الكود بعد التحقق من مجموعة شروط وأيضا تنفيذ الكود إذا تحقق أكثر من شرط : (AND)
أو تحقق شي معين من بين عده أشياء : (OR)
ويمكنك مثلاً التحقق من عدم صحة شي لكي تقوم بتنفيذ شي آخر : (NOT)
فيمكنك مثلاً أن تقول : إذا كان الجو ممطراً والعاصفة شديده فلن أخرج من البيت .
ويمكنك أن تقول : إذا كان الجو هادئاً أو لايوجد أمطار فسأقوم بالخروج الى المنتزه .
ويمكنك أيضا أن تقول : إذا لم يكن الجو ممطراً سأقوم بالخروج إلى نزهة .
ولكن عند استخدامك لهذه الدوال عليك مراعاة أن تقوم بجعل هذه الشروط بين قوسين .
المعامل (AND) ونظيره( && )
يمكننا استعمال المعامل (AND) والمعامل (&&) للتحقق من صحة عدة شروط لتنفيذ شي معين
مثال(1)
<?
$w=10;
$g=12;
IF ($w=10 and $g=12) echo (“لقد تحققت جميع الشروط”);
?>
مثال (2)
<?
$w=10;
$g=12;
IF ($w=10 && $g=15) echo (“لقد تحققت جميع الشروط”);
?>
في المثالين السابقين قمنا بعملية التحقق من أكثر من شرط باستخدام المعاملين (&& و and ) فعندما تحققت جميع الشروط تم تنفيذ الأمر .... وعندما لم تكن جميع الشروط صحيحة تم تجاهل الأمر .
لاحظ أننا قمنا بجعل الشروط بين قوسين () لكي يعمل الكود بشكل صحيح :
($w=10 && $g=15)
($w=10 and $g=12)
المعامل (OR) ونظيره ( || )
المعامل OR يقوم بالتحقق من عدة شروط وإذا تحقق أي واحد منها فإنه يقوم بتنفيذ الكود ونظيره (||) الذي يقوم بنفس العمليه .
مثال (1)
<?
$E=100;
$T=8;
IF ($E=14 OR $E=55 OR $E = 10 OR $T=8 ) echo (“لقد تحقق أحد هذه الشروط”);
?>
مثال (2)
<?
$E=100;
$T=458;
IF ($E=14 || $E=55 || $E = 10 || $T=8 ) echo (“لقد تحقق أحد هذه الشروط”);
?>
إذن عندما تحقق واحد من هذه الشروط تم طباعة السطر (لقد تحقق أحد هذه الشروط ) .
ملحوظة قد لاتكون بتلك الأهمية لكن يجب أن تعرف أن الرموز && و || لها الأسبقية والأفضلية على استخدام AND و OR .
المعامل NOT ونظيره ( ! )
في الواقع لايمكنك استخدام NOT أبدا لأنها ليست أصلاً موجودة في لغة PHP لكن يمكنك استخدام المعامل ( ! ) كبديل لها فهو يؤدي نفس وظيفتها وهي القيام بالتأكد من أن هناك قيمة غير صحيحة (FALSE) لكي يتم تنفيذ شي معين .
<?
$F=”الفارس”;
IF !($F==”نعمان”) echo ("أهلاً بك");
?>
في المثال السابق يقوم الـPHP بالتأكد من أن المتغير $F لايحتوي على القيمة الحرفية (نعمان) ويتم ذلك باستخدام المعامل ( ! ) وعندما يتم التأكد من ذلك يقوم بطباعة السطر (أهلاً بك)
ونشير إلى أننا عندما نقوم باختبار متغير بواسطة المعامل ( ! ) فإن الـPHP إذا وجد المتغير فارغاً أو لم يتم انشاؤه يعطيه القيمة صفر وهي FALSE .
مثال
IF (!($R)) echo (10);
استخدام المعاملات <= و >=
من المعاملات المعروفة والمشهورة في الرياضيات هي علامتي أصغر من أو يساوي <= أو أكبر من أو يساوي >= وهي تستخدم بنفس وظيفتها بالـphp وهي معرفة إذا ماكانت قيمة أصغر أو أكبر من أو تساوي قيمة آخري ، وهذه الأمثلة تعطيك مدخلاً أشمل لفهم هذه الدوال :
<?
$t = 15;
If ($t >= 10 ) echo (“ممتاز” . “<br>”);
$t = 5;
If ($t <= 9 ) echo (“جيد جدا”);
?>
تجميع المعاملات
يمكننا في الشرط أن نتحقق من مجموعة من القيم باستخدام مجموعة من المعاملات ، ونقوم بتجميع هذه المجموعات داخل أقواس () مثلما كنا نستخدم سابقاً أكثر من معامل (+ ، - ،/ ،*) باستخدام الأقواس .
وسيبدو ذلك واضحاً وجلياً في مثالنا التالى :
<?
$a=10;
$y=5;
$t =29;
If (($a == 10) or ($a==54) and ($y !=25) and ($t >= 11)) echo "تحققت جميع الشروط";
?>
سيتم طباعة 18 لأنه قيمة تجميع التعبير السابق تكون صحيحة ولو قمنا بشرح المثال فسنقوم برؤية القسم الأول وهو :
($a == 10) or ($a==54)
وطبعاً المتغير يحمل القيمة 10 فسيكون هذا الجزء صحيحاً .
ثم نقوم برؤية الجزء :
($y !=25) and ($t >= 11)
وطبعاً تم التحقق من جميع الشروط وتم طباعة الكلمة (تحققت جميع الشروط ) .
تعدد الشروط ( else if و else )
يمكننا استخدام أكثر من هيكلية للعباره if فهناك مثلاً الهيكلية التالية :
If condtion is true
{
Excute code
}
Else
{
Excute other code
}
وهي تقوم بالتحقق من الشرط فإذا وجدته صحيحاً قامت بتنفيذ الكود الأول وإذا لم تجده صحيحاً ستقوم بتنفيذ الكود الآخر .
مثال
<?
$age=10;
If ($age>18)
{
echo "مرحبا بك في أكبر موقع تجاري إلكتروني";
}
else
{
echo “ممنوع دخول الأطفال الموقع لأنهم لايملكون المال”;
}
?>
ويمكننا أيضا استخدام الهيكلية التالية :
If condtion is true
{
Excute code
}
Elseif
{
Excute other code
}
Else
{
Excute other code
}
وهي تقوم بتطبيق أكثر من شرط فإذا لم يكن أي شرط من الشروط صحيحاً سيتم تنفيذ الكود الذي يقع بعد كلمه else . مثال :
<?
$age=10;
If ($age<=18)
{
echo "مرحبا بك في أكبر موقع تجاري إلكتروني";
}
elseif )$y >= 44(;
{
echo “مافي مشكلة برضه إذا كنت كبير ”;
}
else
{
echo “ممنوع البقية”;
}
?>
تعشيش العبارات الشرطية
يمكنك تعشيش العبارات الشرطية ، ونعني بتعشيش العبارات الشرطية هي أن تقوم بعملية تعشيش الشروط فمثلاً إذا كان شرط ما صحيحاً فإنه يجب أن يكون شرط آخر صحيحاً لكي يتم حصول شي معين وغير ذلك .
مثال :
<?
$h=”ahmed”;
$f=45;
If ($h = = “ahmed” )
{ If ( $f= = 45)
{
echo “الاسم والرقم صحيحان”;
}
else
{
echo (“الرقم غير صحيح “ );
} }
else {
echo “اسم تسجيل الدخول غير صحيح “ ;
}
?>
هذا مجرد مثال بسيط جداً لتعشيش الدوال الشرطية حيث يقوم بإجراء اختبار على قيمة معينة ثم يقوم عند تجاوزه ذلك الاختبار بنجاح بإجراء اختبار ثاني فإذا تم تجاوز الاختبار الثاني يتم طباعة الاسم والرقم صحيحان وإذا لم يتم الاجتياز يتم طباعة عبارة الفشل في الاجتياز .
تطبيق عملي
سنقوم في هذا التطبيق بصناعة مسابقة بسيطة نستخدم فيها ماتكلمنا عنه سابقاً
1- قم بانشاء ملف Msabqa.html .
2- قم بكتابه الكود التالي فيه :
<html>
<body>
<form method="POST" action="msabqa.php" dir="rtl">
<br> من هو أول الخلفاء الراشدين
<p><br><input type="radio" value="abubaker" name="s">أبوبكر الصديق<br><input type="radio" value="3mar" name="s">عمر
<br><input type="radio" value="3thman" checked name="s">عثمان<br><br><br>
</p>
<p><input type="submit" value="ارسال"> <input type="reset" value="حــــــــــذف"></p>
</form>
</body><html>
قم بفتح ملف وقم بتسميته msabqa.php
<?
<html dir = “rtl”>
If $s == “3mar”{
الإجابه صحيحة
}
else
{
echo “الإجابه خاطئة”;
}
?>
العبارة Switch
Switch (VARIABLE) {
CASE THING1 :
Excute code ;
break;
CASE THING2 :
Excute code ;
break;
Default;
Excute code ;
}
تقوم العبارة بنفس عملية العبارة if ولكن بهيكلية أسهل ومحببة أكثر وتتيح لك اختبار قيمة متغير وإجراء أكثر من اختبار عليه .
break;
تقوم بالخروج من عباره معينه مثل switch و if والذهاب الى الأوامر والعبارات التي بعدها .
EXIT;
تقوم بعملية الخروج من الكود نهائياً ولاتطبق أي أوامر بعدها ، وفي الأمثله التوضيحية التالية ستجد أن break; تخرج من العبارة فقط (Statement) بينما الـexit; تقوم بالخروج من كامل الكود (code).
مثال :
<?
$s=10;
if ($s=10) {
echo “number=10”;
exit;
}
elseif ($s<11) {
echo “number is less than 11”
{
echo “hello”;
?>
مثال :
<?
$s=10;
if ($s=10) {
echo “number=10”;
break;
}
elseif ($s<11) {
echo “number is less than 11”
{
echo “Hello”;
?>
Defualt;
إذا لم تصلح جميع الحالات (Cases) في العبارة (Switch) فسيتم تنفيذ الأوامر التي تقع بعد هذه الكلمة وهي تؤدي نفس عمل else تقريباً في العباره if .
مثال ( 1)
<?
$g= “ahmed”;
Switch ($g) {
Case “ahmed”:
Echo “مسموح “;
Break ;
Case “khaled “ :
Echo “ممنوع “ ;
Break ;
Case “salem“ :
Echo “ممنوع “ ;
Break ;
Case “Mohmed “ :
Echo “مسموح “ ;
Break ;
Default ;
Echo “لقد ادخلت اسم غير صالح”;
}
?>
مثال (2)
Switch ($g) {
Case $g>50:
Echo “كبير “;
Break ;
Case 40 :
Echo “لاباس “ ;
Break ;
Case ($g<15) :
Echo “أطفال ممنوع “ ;
Break ;
Case 30 :
Echo “مسموح “ ;
Break ;
}
لاحظ أننا عند اختبارنا لنصوص نحتاج الى علامتي تنصيص مزدوجة وعند الارقام فاننا لانحتاج الي ذلك .
تطبيق عملي
قم بفتح محرر النصوص لديك واكتب الكود التالي واحفظه باسم age.html
<html>
<form method=post action=”age.php”>
كم عمرك ؟
<br>
<input type=”text” name = “g”>
<input type=submit value=”ارسال”>
</form>
</html>
قم بفتح محرر النصوص لديك واكتب الكود التالي واحفظه باسم age.php
<?
Switch ($g) {
Case $g>50:
Echo “كبير “;
Break ;
Case 40 :
Echo “لاباس “ ;
Break ;
Case ($g<15) :
Echo “أطفال ممنوع “ ;
Break ;
Case 30 :
Echo “مسموح “ ;
Break ;
}
?>
الشرح
تقوم العبارة Switch باختبار قيمة متغير ما ويمكنك إجراء أكثر من افتراض عليه ويجب عليك كتابة الكلمة break; لكي تقوم بإيقاف تنفيذ العبارة switch فمثلاً لو قمت بكتابة الكود التالي :
<?
$g=40
Switch ($g) {
Case $g<50:
Echo “1 “;
Case 40 :
Echo “2“ ;
}
?>
فاذا ادخل المستخدم الرقم 40 فسيتم طباعة الرقمين واحد واثنين كلاهما وذلك لأنك لم تقم بإيقاف العبارة فاكملت التحقق وطبقت جميع العمليات المطلوبة .
التخلص من وسوم الـ html
إذا قمت بوضع مربع نص وأردت من المستخدم كتابة شي فيه فإنه يستطيع ادخال أي شي ولنفترض أنه كتب في مربع النص كالتالى :
I am <b>ahmed</b> …
فسيقوم المتصفح بعرضها بعد معالجتها كالتالى :
I am ahmed ….
ولنقم بتطبيق عملي على ذلك
قم بفتح محرر النصوص واكتب الكود التالي واحفظه باسم htmlch.html
<html dir="rtl">
<form method=post action="html.php">
أدخل اسمك الكريم
<br>
<input type="text" name = "fname">
<input type=submit value="ارسال">
</form>
</html>
قم بفتح محرر النصوص واكتب الكود التالي واحفظه باسم html.php
<?
Echo “هذا هو الشكل الطبيعي للعبارة عند طباعتها ”;
Echo “<br>” . $fname;
?>
قم بوضع الملفات في مجلد السيرفر ثم قم بتشغيل الملف htmlch.html واكتب في مربع النص أي شي وضعه بين وسوم html
مثال :
I am <b><i>alfareees</b></i>
ستجد أنه قدتم التعامل مع الوسوم كـ html وليس كنص عادي ولكي تعرضها كنص عادي فإنك تقوم باستخدام الدالة
HtmlSpecialChars();
حيث أنها ستقوم بمعاملة كود الـhtml كنص عادي وطبيعي تماماً .
إذاً نقوم بتعديل ملف الـhtml.php ليصبح كالتالى :
<?
$fname = HtmlSpecialChars($fname);
Echo “هذا هو الشكل بعد استخدام الدالة ”;
Echo “<br>” . $fname;
?>
منقوووول للافادة
hg]vs hgohls (hgh,hlv hgav'dm)