Odkąd PHP stało się popularnym językiem skryptowym, istnieją duże archiwa darmowych skryptów, które można często bez żadnych ograniczeń wykorzystywać na swoich stronach WWW. Twórcy PHP postarali się, aby uruchamianie starszych skryptów było możliwe we wszystkich nowszych wersjach środowiska. Czasami jednak, aby uruchomić taki program, trzeba będzie dokonać w nim pewnych zmian.
Dwie najistotniejsze zmiany w stosunku do starszych wersji PHP to:
Zastąpienie zmiennych $HTTP_*_VARS
(które wewnątrz funkcji muszą być importowane tak jak zmienne globalne)
tablicami superglobalnymi
w wersji 4.1.0 środowiska PHP.
Oto one: $_GET
, $_POST
,
$_COOKIE
, $_SERVER
,
$_FILES
, $_ENV
,
$_REQUEST
i $_SESSION
. Wykorzystywane
wcześniej tablice $HTTP_*_VARS
, takie jak np.
$HTTP_POST_VARS
, nadal są dostępne dla skryptów.
Od PHP w wersji 5.0.0, długie tablice
zmiennych predefiniowanych
mogą być wyłączone dyrektywą konfiguracji
register_long_arrays.
Zmienne pochodzące "z zewnątrz" nie są już domyślnie rejestrowane jako
zwyczajne zmienne skryptu. Inaczej mówiąc, od wersji
4.2.0 dyrektywa konfiguracyjna
register_globals w pliku php.ini
domyślnie przyjmuje wartość off. Zalecana metoda
odwoływania się do zmiennych "z zewnątrz" polega na zastosowaniu
opisanych wyżej tablic superglobalnych. W starszych skryptach, książkach
i kursach możesz się spotkać ze starą składnią, która jest niestety mniej
bezpieczna. Korzystając ze zmiennych superglobalnych masz pewność, że dane
przesłane metodą GET znajdą się w tablicy $_GET
, metodą
POST w $_POST
itd.
Poprzedni | Spis treści | Następny |
PHP i formularze | Początek rozdziału | Co dalej? |