PHP

Register globals

Je to direktiva skriptovacího jazyka PHP. Direkativa znamená něco jako nastavení.

Pokud webhosting dbá na bezpečí, má register_globals = Off. To znamená, že veškeré proměnné, které vám do skriptu přichází z venku, musíte speciálně inicializovat. Jde často o proměnné posílané přes formuláře nebo pomocí parametrů v URL.

Možná se vám stalo, že jste přišli se svými stránkami na nový webhosting a přestalo vám tam něco fungovat. Třeba se neodesílal formulář. To může být právě tento případ.

Do svých skriptů musíte na začátek přidat toto:

  1. Pokud přijímáte proměnné metodou GET (třeba když stránku voláte přes soubor.php?promenna=ahoj):$promenna = $_GET[‚promenna‘];
  2. Pokud přijímáte proměnné metodou POST (třeba posíláte formulářem):$promenna = $_POST[‚promenna‘];

Takto je to i s dalšími typy proměnných, třeba s cookies. Chcete-li přečíst cookie, musíte takto:

$susenka = $_COOKIE['susenka'];

Podrobně o cookies píše Yuhů na Jak Psát Web.

Proměnné serveru

Můžete takto i získat různé proměnné, které vám dá server. Například pokud chcete zjistit, odkud někdo přišel na vaše stránky zjistíte to takto:

  $odkud_prisel = $_SERVER['HTTP_REFERER'];

Tady jsou některé další proměnné, které obsahují zajímavé informace ze serveru:

ProměnnáHodnotaPříklad hodnoty
QUERY_STRINGčást url za otazníkem.stranka.php?id=34
DOCUMENT_ROOTabsolutní adresa uvnitř serveru, kde je umístěn root stránek./data/www/stranky/
HTTP_HOSTdoména, kde jsou stránky.vseohostingu.cz
REQUEST_URIčást URL za názvem doményvseohostingu.cz/adresar/stranka.php
REMOTE_ADDRIP adresa návštěvníka stránkynějaká IP adresa
SCRIPT_NAMEjmeno souboru, kde se váš skript právě vykonává/soubor.php
HTTP_REFERERvrátí url, ze které se na vaši stránku někdo proklikl. Nemusí obsahovat nic, pokud někdo přijde na stránku zadáním do prohlížeče rovnou nebo pokud má nějaký firewall.nějaká URL adresa

Podobné příspěvky