HTTP_GET_VARS و HTTP_POST_VARS
هذه ليست متغيرات بل مصفوفات ، نعم هذه مصفوفات ولكن في ماذا نستخدمها ولماذا ؟
في الواقع تحدثنا في الدرس السابق عن طريقة التعامل مع النماذج والحصول على البيانات من المستخدم وتكلمنا عن أسلوبين لنقل البيانات وهما GET و POST
عندما تصل البيانات محفوظة في متغيرات إلى صفحة الـPHP فإنه يقوم بتعريفها تلقائياً ويمكنك طباعة المتغيرات وقيمها مباشرة من غير تعريف .... ولكن هذه الميزة في الـPHP يمكن إلغاؤها عن طريق الملف PHP.INI وذلك بإغلاق ميزة register_globals
وذلك بوضع off بدلا من on


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


لنفرض أنك اشتركت عند مزود ويب وكان قد أغلق ميزة (register_globals) حسناً لنفرض أنك قد صنعت نموذجاً يستخدم مربع نص ويحفظ قيمته في متغير اسمه Dorrah ثم بعد ذلك يقوم بإرسال هذه القيمة باستخدام الأسلوب GET إذاً سيكون جزء من الكود في الصفحة الأولى والتي تحتوي على النموذج كالتالى
كود:
<form method =get action = “try.php”>
ماهو اسم الطفل الذي استيقظ به العالم الاسلامي من غفلته قبل عده شهور !!
<br>
<input type=text name = “Dorrah”>
<br>
في الملف الثاني(try.php) سنقوم بكتابة الجزء الذي سيقوم بطباعة القيمة كالتالى 
<?
Echo HTTP_GET_VARS[“Dorrah”];
?>
لاحظ أننا لم نستخدم $ ولكن إذا أردنا الإحتفاظ بقيمة المتغير في متغير آخر فيمكننا ذلك بشكل عادي كالتالى : 
<?
$Dorrah= HTTP_GET_VARS[“Dorrah”];
?>
طريقه بسيطة .... أليس كذلك ولكن .... لنفترض أن مزود خدمة الويب لديك حريص جداً ولذلك فقد ألغي أيضا ميزة استقبال هذه القيم في المصفوفات .... يمكنه ذلك في ملف الـphp.ini في اعدادات الـtrack_vars الذي يقوم بمنع السيرفر من استخدام هذه المصفوفات (هذه الميزة يمكن إلغاؤها في php4 ) .... على ذلك انصحك بإرسال رسال تذمر وشكوي إلى مزود الخدمة لديك .. تعلن فيها أن الأمر اصبح لايحتمل .