pc Loft.it

Redirect automatico siti  php :

Con il linguaggio PHP è possibile creare dei redirect ad altre pagine od altri siti.
Per redirect intendiamo un reindirizzo ad un URL esterno o interno al sito. In questo modo possiamo creare un collegamento direttamente con il linguaggio PHP, senza far apparire a video nessuna pagina HTML e senza dover far cliccare un link al navigatore.

Perché creare una pagina per reindirizzare un visitatore senza che neppure veda che cosa accada?

Ci sono molte spiegazioni al limite del legale... ma analizziamo solo quelle legali:
Un redirect con PHP consente di eseguire uno script php prima di spostare l'URL su una nuova pagina.
Un esempio pratico potrebbe essere il conteggio dei clic su una pagina esterna, oppure la scelta in automatico della lingua del navigatore.

Codice redirect:

<? header("location: http://.........."); ?>

esempio pratico:
Nella directory di allwebfree i collegamenti ai siti non avvengono diretti, (salvo dove indicato "Link PageRank"). I collegamenti passano da una pagina chiamata redisite.php che aumenta il numero di clic su quel sito, per poi reindirizzare il navigatore in automatico:

<?
....
....//aumento clic sul database
....

header("location: http://....");//redirect
exit;
....
....
?>

La funzione exit blocca il programma senza leggere eventuali funzioni sottostanti. Non è obbligatoria.
Nella pagina non c'è nessun codice HTML, ma solo PHP. In questo caso possiamo eseguire tutto quello che vogliamo prima di cambiare pagina.
Il codice viene eseguito solo se il navigatore attiva il link. In questo modo possiamo avere una traccia degli spostamenti del navigatore, possiamo sapere dove è andato, quante volte ecc.

Se un redirect deve gestire più URL dobbiamo inserire una variabile nel codice e collegarci con una query string. Vediamo un esempio:

Prima pagina:
(da dove parte il link)

<?
$indirizzo=www.nomesito.it;
echo "<a href="/seconda pagina.php?indirizzo=".$indirizzo."">
seconda pagina
</a>";
?>
Seconda pagina:
(pag. del redirect)

<?
....
....
header("location: http://".$indirizzo);
?>

Avrete notato che la variabile non è contenuta dai doppi apici. In questo modo possiamo far passare tutti i link che vogliamo dalla pagina di redirect, basta associarli alla variabile $indirizzo (un nome variabile a caso...).

Errori:

Le funzioni header non richiedono nessuna uscita a video (output) prima della loro esecuzione. In pratica se scrivete anche un solo echo"......"; la pagina con il redirect genera un errore.

In script con manipolazioni sul database, che poi sfociano in un successivo redirect, è possibile che eventuali errori associati al redirect siano imputabili ad errori nascosti di connessione al database.
In caso di errore il consiglio è di togliere il redirect e testare tutto lo script che lo precede, successivamente reinserite la riga header e provate.