Lunedì, 23 Dicembre 2019 09:30

La funzione header di PHP

Scritto da

Un breve post che punta l'attenzione su una funzione di PHP non proprio banale che ci permette di fare diverse applicazioni interessanti.

La funzione header() permette di gestire ed inviare gli header HTTP delle pagine che andiamo ritornare dal server al client/browser.

Una delle funzionalità più usate è il redirect, ovvero uno script PHP viene chiamato, esegue magari un determinato codice anche senza necessariamente produrre un risultato HTML e il browser viene rediretto verso un'altra pagina. Il codice è semplicissimo da provare:

header("Location: http://www.ansa.it");

Per forzare il browser client ad aprire un determinato file che gli stiamo inviando, possiamo forzare l'intestazione della pagina. Ad esempio, se abbiamo generato un PDF con una qualche libreria, potremmo inviarlo al browser specificando, alla fine dello script, la riga di codice:

header("Content-Type: application/pdf");

 

Altra applicazione che potrebbe tornare utile è il refresh di uno script magari per segnare un errore e quindi redirigere l'utente sulla pagina iniziale che stava compilando  o altra, in modo automatico. Ad esempio immaginiamo di compilare una form ma si verifica un errore, possiamo temporeggiare qualche istante su un messaggio di errore prima di tornare allo script che ci fa compilare la form in questione. 

header("refresh: 5; url=compilaform.php");
echo "Qualcosa è andato storto! <br>"; 
echo "Ti riporto tra 5 secondi alla compilazione della form o clicca <a href="/compilaform.php>qui</a>";

 

Meno diffuso ma sempre utile è segnalare una risorsa/pagina mancante, magari a fronte di una serie di parametri GET/POST errati

header("HTTP/1.0 404 Not Found");

 

 

Letto 62 volte
Prof. Alfredo Centinaro

Docente di "Scienze e tecnologie informatiche", "Tecnologie e progettazione di sistemi informatici", "Sistemi e Reti" presso IIS Alessandrini-Marino (Teramo), consulente e sviluppatore web. Ha collaborato per anni come sviluppatore presso MHT - Treviso, assistente Sistemi ed elaborazione dell'informazione in UniTE Corso di laurea in Scienze del turismo culturale, tutor presso Telecom Italia Learning Services (L'Aquila)

Joomla SEF URLs by Artio