PHP Суперглобални променливи и Register_Globals
PHP има специален вид променлива, която се нарича суперглобална. Причината тези променливи да са специални е, защото те са автоматично достъпни за всяка PHP програма, без програмистът да ги създава или определя в своята програма. Можете да мислите за тях като за "вградени" променливи.

Начинът, по който ще получите достъп до тези променливи, се различава в зависимост от това дали register_globals е включен или изключен на вашия сървър. Преди PHP версия 4.2, register_globals беше включен по подразбиране. Все пак по съображения за сигурност; тази настройка вече е изключена по подразбиране (версия 4.2+). Разбира се, хората, които управляват вашия сървър, решават дали да отменят настройката по подразбиране и да включат register_globals. Най-лесният начин да тествате вашия собствен сървър е да използвате phpinfo (). Вероятно ще имате връзка към тази уеб страница в административната област на вашия уебсайт. На тази уеб страница ще намерите секцията за конфигурация PHP Core, която съдържа тази информация.

Както бе споменато по-горе, вие ще получите достъп до суперглобалите по различен начин в зависимост от настройката на вашия сървър. За новата настройка на сървъра суперглобалите получиха нови имена. Ако вашият сървър все още има старата настройка, ще бъде по-добре да започнете да използвате новите имена. Ако използвате тези нови имена, можете да сте сигурни, че вашите програми ще работят при двете конфигурации на сървъра. Това обаче не важи за старите имена. Те ще работят само за старата конфигурация на сървъра. Графиката по-долу показва старите и новите имена и описание на суперглобалите. Забележете, че имената на тези суперглобали са с големи букви.

новСтарописание
$ _GET $ HTTP_GET_VARS Този суперглобал съдържа променливите, изпратени на програмата чрез метода get, като например guery string.
$ _POST $ HTTP_POST_VARS Този суперглобал съдържа променливите, изпратени на програмата чрез метод post.
$ _COOKIE $ HTTP_COOKIE_VARS Този суперглобал съдържа променливите, достъпни за програмата от бисквитка.
$ _SESSION $ HTTP_SESSION_VARS Този суперглобал съдържа променливите, регистрирани от програмата чрез сесия.
$ _FILES $ HTTP_POST_FILES Този суперглобал съдържа променливите, достъпни при качване на файл.
$ _ENV $ _HTTP_ENV_VARS Този суперглобал съдържа променливите, достъпни от сървърната среда.
$ _REQUEST -- Този суперглобал съдържа променливите, изпратени на програма от всеки тип потребителски въвеждане. Това е най-общият или универсален тип свръхглобал.
$ _SERVER -- Този суперглобал съдържа информация за сървъра, като файлови пътища.





Инструкции Видео: PHP Programming Language Tutorial - Full Course (Юли 2024).