PHP: impostare correttamente gli header HTTP

PHP: impostare correttamente gli header HTTP

In PHP gli header HTTP andrebbero sempre impostati seguendo una procedura specifica.

È sempre consigliato verificare che gli header non siano stati già impostati per non incorrere in un errore:


if (!headers_sent()) {
    header('Location: http://www.example.com/');
    exit;
}

La funzione headers_sent() può anche essere utilizzata a scopo di debugging leggendo i suoi due parametri opzionali, ossia il nome del file ed il numero di riga in cui gli header sono già stati impostati. Tuttavia, come ricorda la documentazione:

Note that $filename and $linenum are passed in for later use. Do not assign them values beforehand.


if (!headers_sent($filename, $linenum)) {
    header('Location: http://www.example.com/');
    exit;
} else {
    die("Headers already sent in $filename on line $linenum");
}

Torna su