السلام عليكم
الخاصية register_globals تمنحك القدرة على الحصول على قيمة المتغير من الـforms والوصلات URL. ولكن للأسف فإن هذه الخاصية القديمة مازالت مستخدمة في الكتب والدروس والأمثلة الحديثة. فمطوري البي اتش بي PHP أنفسهم أدركوا عيب هذه الخاصية وعملوا على تنقيح المسألة من خلال وضع الخاصية في موضع مغلق off في ملف الـphp.ini بشكل افتراضي بعد أن كان مفتوحا on. وتم نقاش هذا الأمر في دليل استخدام لغة بي اتش بي في الوصلة التالية:
http://www.php.net/manual/en/securit...terglobals.php
فاذا وضعت الخاصية مفتوحة، فإنك تخاطر بأن لا يعمل برنامجك على بعض المنصات platforms! كما إنه أمر غير محبذ أمنيا. ولكن هناك طريقة تجعل كل برامجك تعمل على كل المنصات وهي التي سنذكرها في الفقرة التالية.
فالطريقة المثلى للحصول على قيم هذه المتغيرات هي عبر استخدام مصفوفاتها arrays. أي تستطيع استعمال الأمر التالي:
$_GET['var']
ملاحظة: var هو المتغير المنقول إلينا من صفحة أخرى
أو استعمل الأمر التالي:
[شفرة]
$_SERVER['HTTP_USER_AGENT']
[/شفرة]
عوضا عن:
$HTTP_USER_AGENT
فالمصفوفات الرئيسية هن أربع:
$_GET
$_POST
$_COOKIE
$_SERVER
طبعا اعتمادا على مصدر المتغير
تستطيع قراءة المزيد عن هذه المصفوفات هنا:
http://www.php.net/manual/en/languag...predefined.php
http://www.php.net/manual/en/reserved.variables.php
والسلام
ملاحظة: أصل المقالة كتبها المسمى بـDr. Pepper وتوجد المقالة في الموضوع التالي:
http://www.sitepointforums.com/showt...threadid=54074
وقد تمت ترجمة المقالة بتصرف وباذن صاحبها
Bookmarks