Pri práci so superglobálnou $_SERVER môže programátor naraziť na chybové hlásenie Error: [8]: Undefined index: HTTP_REFERER. Dôvodom chybového hlásenia je fakt, že pole $_SERVER neobsahuje index HTTP_REFERER. Tento jav nastáva, ak je súbor so zápisom $_SERVER['HTTP_REFERER'] spustený priamo a nie odkazom z inej stránky. Chybové hlásenie budem demonštrovať na nasledujúcich súboroch. Prvý súbor bude mať názov start.php a druhý názov page.php. Príklad: Obsah súboru start.php. | <!DOCTYPE html> | <html> | <head> | <title>Demo site - PHP referer</title> | <meta charset="utf-8"> | <meta name="author" content="PhDr. Matej Lednár, PhD."/> | </head> | <body> | <a href="page.php">Link</a> | </body> | </html> |
|
Príklad: Obsah súboru page.php. | <?php | echo $_SERVER['HTTP_REFERER']; | ?> |
|
Ak používateľ spustí iba súbor page.php, dostané chybové hlásenie Error: [8]: Undefined index: HTTP_REFERER. Ak ale spustí súbor start.php, klikne na odkaz link, súbor page.php vypíše URI súboru odkiaľ bol zavolaný, teda umiestnenie súboru start.php. V tomto prípade bol vytvorený index HTTP_REFERER a preto chybové hlásenie Error: [8]: Undefined index: HTTP_REFERER sa nezobrazí. Pri práci s HTTP_REFERER netreba zabúdať, že za normálnych okolností neexistuje. Je vytvorý len v prípade, že dokument bol volaný iným dokumentom (stránkou).