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


افتح محرر نصوص لديك واكتب الكود التالي :
كود:
<p dir="rtl" align="center">ادخل اسمك الكريم </p>
<form method="POST" action="quiz2.php">
<hr>
<input type="text" name="name" size="20"><br>
<input type="submit" value="إرسال" ></p>
</form>
احفظها باسم quiz.php


قم بفتح محرر النصوص واكتب الكود التالي :
كود:
<html dir ="rtl">
<?
If  (isset($name)) {
Echo "مرحبا بك يا" . $name ;
 Echo '
<br>
<form method="POST" action="quiz3.php" dir="rtl">
<input type="hidden" name = "thename" value = "’.$name.’">"
  من هو أول الخلفاء الراشدين ؟ </p>
  <p dir="rtl"><input type="radio" value="أبوبكر الصديق" name="khlifa">أبوبكر
  الصديق .</p>
  <p dir="rtl"><input type="radio" value="عمر بن الخطاب" checked name="khlifa">عمر
  بن الخطاب</p>
  <p dir="rtl">من هو الفاروق ؟</p>
  <p dir="rtl"><input type="radio" name="faroq" value="عمر بن الخطاب">عمر بن
  الخطاب</p>
  <p dir="rtl"><input type="radio" name="faroq" value="سالم" checked>سالم بن
  عامر</p>
<input type ="submit" value = "إرسال" dir="rtl">
</form>' ;
}
else
{
echo "غير مصرح لك بدخول هذه الصفحة" ;
}
?>
احفظها باسم quiz2.php


قم بفتح المفكرة واكتب الكود التالي :
كود:
<?
If  ((isset($thename)) && (isset($khlifa)) && (isset($faroq)))
{
echo 'لقد انتهت المسابقه يا '. $thename ;
$range=0;
$co = 0;
        if ($khlifa =="أبوبكر الصديق") {
        $range=$range+10;
        $co = $co +1;
        }
	   if ($faroq =="عمر بن الخطاب")
             {
             $range=$range+10;
             $co=$co+1;
             }
          if ( $range < 10)
          {
          echo "ليس هناك أي إجابة صحيحة";
          }
          else
          {
          echo "<br>"."عدد الاسئلة التي أجبت عليها =" . $co ;
          echo "<br>" . "الدرجة التي حصلت عليها " . $range ;
          }
}
?>
قم بوضع الملفات الثلاثه السابقه في مجلد السيرفر ثم قم بتشغيلها


الشرح
قمت في هذا المثال بمحاولة صنع مكنكة تواصل للبيانات ، بمعني أنني أحاول أن أقوم بالاختفاظ بالبيانات عبر الثلاث صفحات بشكل متواصل ، لاحظ أنني كنت اختبر في quiz2 و quiz3 باختبار المتغيرات قبل طباعة أي شي فقد يقوم المستخدم مثلاً بالاحتفاظ بالصفحة التي وصل إليها في المفضلة ثم يقوم باكمال المسابقة في وقت آخر ولكني لا اريد ذلك بل أريد ان أجعل وقتها محدوداً (طبعاً هذا الكلام سيحصل إذا كانت المسابقة طويلة) لذلك فإنني في كل عند الانتقال من صفحة إلى صفحة اقوم باختبار إن كانت جميع هذه القيم موجودة ولاحظ أنني كنت اجتفظ دوماً بقيم المتغيرات في متغيرات جديدة في حقول مخفية وكلما كان عدد المعلومات أكبر في كل مره كان عدد الحقول المخفية أكثر ، إن لهذه الطريقة أيضا مشاكلها فقد يفتح المستخدم كود الـhtml ويقوم بتفحص كيفية ملاحقته عبر المسابقة وقد يصنع هو الكود في وقت لاحق لكي يستطيع اكمال المسابقة بهذه الخدعة الماكرة ... لذلك يفضل أن لا تقوم بذلك وتقوم بجعل المسألة السابقة اكثر تعقيداً باستخدام الـregular expression بمحاولة تلغيم البيانات بواسطته ومن ثم فك هذا التلغيم في الصفحات التي تصل اليها البيانات .