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:
- 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‘];
- 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á | Hodnota | Příklad hodnoty |
QUERY_STRING | část url za otazníkem. | stranka.php?id=34 |
DOCUMENT_ROOT | absolutní adresa uvnitř serveru, kde je umístěn root stránek. | /data/www/stranky/ |
HTTP_HOST | doména, kde jsou stránky. | vseohostingu.cz |
REQUEST_URI | část URL za názvem domény | vseohostingu.cz/adresar/stranka.php |
REMOTE_ADDR | IP adresa návštěvníka stránky | nějaká IP adresa |
SCRIPT_NAME | jmeno souboru, kde se váš skript právě vykonává | /soubor.php |
HTTP_REFERER | vrá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 |