السلام عليكم و رحمة اللله و بركاته ، كثيرا ما نرى في بعض السكربتات أنها تقوم بإرسال و إستقبال البيانات من نفس الصفحة و ذلك من مميزاته أنه يمنع تعدد الصحات و بطء في تتبع الاخطاء و سيكون اليوم هو موضوع درسنا .
عندما كنا نرسل البيانات فإننا نقوم بتحديد الصفحة التي ستقوم بإستقبالها كالتالي :
<form action="get.php" method="POST">
و ستقوم الصفحة get.php بإستقبال البيانات لكن إن أردنا أن نسقبلها من نفس الصفحة فإننا سنتبع إسم صفحتنا ب :
? بعدها المتغير = قيمته و الصورة التالية ستوضح أكثر :
ستلاحظ أنه من الممل أن تكتب إسم الصفحة أو في حالة أنك لا تعرف المسار الذي أنت فيه هنا تظهر فائدة المتغير PHP_SELF$ الذي دوره تحديد إسم الصفحة التي نعمل عليها و إن أردت أن تجربه قم بطباعته أما طريقة إستخدامه فهي كالتالي :
<form action=$PHP_SELF?arabteam2000=sife-c method=POST>
الآن فهمنا طريقة كتابته لكن بقت طرق إستخدامه و أمثلة عليه حتى يتكامل النظري مع التطبيقي ، يمكن أن نتحكم بإظهار النتائج إما بالشرط switch حيث تظهر النتائج و كأنها في صفحة جديدة أو بالشرط if و ستظهر النتائج في نفس الصفحة مع الحفاظ على ما تحتويه الصفحة و في هذا المثال البسيط سنقوم بكتابة إسم المستخدم و كلمة السر ومن ثم سنطبعها ، سنستعمل كلا من الشرطين لتكون الصورة أقرب و الفائدة أعم :
لاحظ في السطر الأول ، لقد قمت بكتابة المتغير PHP_SELF$ داخل وسمي ال PHP حتى يتم تنفيذه بنجاح ثم وضعت المتغير arabteam2000 وأعطيته القيمة الأفتراضية sife-c أما الباقي فأنتم أدرى به .
نمر الى السطر 7 حيث نقوم بوضع أداة الشرط if أما المتغير GET_$ فهو يقوم بالتحقق إن كانت قيمة المتغير تحمل القيمة التي وضعناه من قبل في action أما الباقي فأنتم أدرى به أيضا .
كلنا نعرف switch و إن لم نكن نعرفها فقتل أنفسنا خير لنا هاهاهاهاها ، في السطر 2 قمت بوضع المتغير الذي كتبته في النموذج بعدها نستعمل الswitch حتى تقوم بمقارنته ووضعة الوضع الإفتراضي هو نموذج بسيط ندخل فيه البيانات ، الأن أنظروا إلى السطر 10 و لا تحدقوا به فتخيفوه هاهاها ، لقد وضعت إحتمال تكون فيه قيمة المتغير هي sife-c فيقوم بطبع ناتج المدخلات .
حتى الآن عرفنا كيف نرسل و نستقبل البيانات من نفس الصفحة لكن ماذا لو أردنا أن نرسل البيانات و نستقبلها في حقول ، سأعرض لكم الطريقة سريعا على أساس أنكم فهمتم و أي إستفسار أنا على الخط الساخن رقم الهاتف : 0000000
كما قلتم لكم سابقا أنظروا إلى السطر 11 و لا تحدقوا به فتخيفوه ، لقد قمت بوضع قيمة الحقل text هي قيمة المتغير name$ التي تحمل ما كتبه المستخدم حيث ينطبق نفس الكلام على السطر 12 .
