PHP HEADER()

Standard

the header() method sends a raw http header
header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP
it is an error to read code with include, or require, functions, or another file access function, and have spaces or empty lines that are output before header() is called
the same problem exists when using a single PHP/HTML file

<html>
<?php
// this will give an error, because the <html> tag is placed before the header() call
header(‘Location: http://www.example.com/&#8217;);
exit;
?>

there are two special-case header calls:

header(“HTTP/1.0 404 Not Found”);

the first is a header that starts with the string “HTTP/”, which will be used to figure out the HTTP status code to send
for example, if APACHE has been configured with a PHP script to handle requests for missing files (using the ErrorDocument directive), you may want to make sure that your script generates the proper status code

header(“Location: http://www.example.com/&#8221;);
the second special case is the “Location:” header, that sends this header back to the browser and also returns a REDIRECT (302) status code to the browser unless the 201 or a 3xx status code has already been set

per fare un redirect PHP è necessario utilizzare la funzione header()
questa è una funzione nativa del PHP, mediante la quale possiamo inviare intestazioni HTTP al client che sta visitando la nostra pagina web, è possibile impostare una nuova location verso la quale reindirizzare la navigazione dell’utente, in poche parole possiamo far “rimbalzare” l’utente portandolo su un’altra pagina del nostro o di un altro sito

effettuare un redirect automatico dell’utente verso una diversa pagina del sito o di un sito differente
// redirect verso pagina interna
header(“location: /nuova-pagina.php”);

// redirect verso una risorsa esterna al sito
header(“location: http://www.sito.it/pagina.php&#8221;);

l’uso di questo codice deve essere fatto prima di aver generato alcun output, altrimenti l’interprete PHP restituirà un errore
echo “print it before the redirect”;
header(“location: http://www.sito.it/pagina.php&#8221;);
// error

dopo l’uso della funzione header(), bisogna inserire un exit se all’interno dello script c’è altro codice da eseguire dopo quello che fa il redirect

if ($utente_loggato == false) {
header(“location: http://www.sito.it/pagina.php&#8221;);
exit;
}
// segue altro codice php

Advertisements

say something

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s