Le funzioni per le URL in PHP hanno lo scopo di presiedere alle operazioni di codifica, decodifica e parsing delle URL. Si configurano quindi come uno strumento importante per avere il pieno controllo di tutto ciò che passa per la "barra degli indirizzi" nei browser dei nostri utenti.
Queste funzioni sono native in PHP e non necessitano di installazioni nè di librerie esterne per essere utilizzate, fanno parte cioè del "core" di questo linguaggio di scripting server side. Inoltre, le URL functions non richiedono modifiche al file di configurazione "php.ini", non definiscono risorse di runtime nè richiamano alcuna costante, sono quindi immediatamente utilizzabili per chiunque possieda un ambiente in cui giri un Web server come Apache e sia stato installato e configurato PHP.
Le funzioni per le URL in PHP non sono tante, avremo quindi occasione di elencarle nel corso di questa breve serie di articoli e di mostrarne l'azione attraverso alcuni semplici esempi.
Comiciamo subito con il proporre un pò di codice; per fare un esempio, pensiamo di non voler mostrare l'URL di un alias di dominio, classicamente nella forma "http://alias.it", in modo che esso sia preceduto dal prefisso universale del web: "www". Il listato da utilizzare potrebbe essere molto simile al seguente:
<? if ($HTTP_HOST == "alias.it") { header("Location: http://www.dominio.it"); die(); } ?>L'obbiettivo è quello di visualizzare l'URL passata come argomento alla variabile d'ambiente nel momento in cui viene rilevato il nome dell'alias, il tutto viene affidato all'azione di un'istruzione condizionale (if).
<? session_start(); if (!$_SESSION["valid_user"]) { //redirect header("Location: login.php"); } ?>Anche in questo caso l'azione di reindirizzamento è molto semplice da spiegare. Nel login viene inizializzata la variabile di sessione "valid_user" in caso di autenticazione con esito positivo, diversamente ("!") la variabile d'ambiente rispedirà l'utente all'interfaccia di login ogni volta che egli cercarà di accedere ad una pagina protetta dalla sessione.