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 a inviare dal server al client/browser. Gli usi sono molteplici ma qui vediamo quelli più interessanti per le esercitazioni prettamente scolastiche.
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");
Analogamente se stiamo lavorando con Ajax e JSON, sicuramente torneremo uno script PHP con heder
header("Content-type:application/json")
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");
Ultima modifica 13 Febbraio 2023