Stampa

Temporizzare il redirect con PHP

Frequentando i forum dedicati a PHP mi capita spesso di visualizzare discussioni in cui gli utenti affermano di utilizzare redirect realizzati in Javascript perché la funzione header() non permette di definire la durata del caricamento di una pagina prima del redirect verso un’altra risorsa.

Ciò non è assolutamente vero, header() mette infatti a disposizione un attributo, denominato refresh, che permette di definire il tempo di attesa prima di un redirect espresso in numero di secondi; si osservi per esempio il seguente listato:

< ?
  header( "refresh:5;url=index.php" );
  echo "Se il tuo browser non supporta il redirect clicca < a href=\"index.php\">qui< /a>.";
?>
 
Nel caso proposto il redirect alla pagina “index.php” avverrà dopo 5 secondi di attesa; è possibile anche invertire le due righe d’istruzione mostrate evitando che l’invio di un output prima della funzione header() produca un errore da parte del browser, ciò sarà possibile utilizzando le funzioni ob_start() e ob_end_flush()
 
< ?
   ob_start();
   echo "Se il tuo browser non supporta il redirect clicca < a href=\"index.php\">qui< /a>.";
   header( "refresh:5;url=index.php" );
   ob_end_flush();
?>
 
In questo modo ob_start() devierà il flusso dei dati verso il buffer dedicato all’esecuzione dell’applicazione che verrà liberato al momento della chiamata a ob_end_flush().

Valuta questo articolo

1 1 1 1 1 1 1 1 1 1 Valutazione 0.00 (0 Voti)

hits
2109
Ritieni il contenuto di questa pagina incompleto, non attendibile oppure oggetto di altre problematiche? INVIA UNA SEGNALAZIONE Grazie!

Tags cloud

resistività Compagnie Telefoniche mela Valle Aosta Greenwich idroclorofluorocarburi Alpi titano WSJT-X quotazioni Enrico Ruggeri La2 marchio galassie JAR-OPS ISO silver Angelo Pintus ReadyBoost tablet 2G Satellite cintura antizanzare UTC Marco Bocci etichetta Re candela soia Papiliochromis ramirezi dei rosmetro Monte Bianco start PS3 Sovietico ceci Da Valerio Scanu Ispettorato Regionale Husseini Quentin Tarantino memory Mattel Mediterraneo 800 900 800 Orari Negozio JPG angolari genova DNS Primario elettromagnetica tumefazione Steve Coogan Revelations Feedback Deposito esterno Diego Rispoli Richard Armitage Edipo cereali Bergamo punti Steve Buscemi DS ananas polpette ricotto Gressoney calcolare Amateur TeleVision aurum tatuaggio Apollo 17 PHP mondiali calcio ballerine digitale Android riscaldamento shoes fenomeni atmosferici relay QFH Brad Pitt offset Messier 87 potenziale frutta EUROBIRD Modem Router Wi-Fi Stella Polare Alghicida Repubblicano sisma orzaiolo cappelle fsx VDC vitamine residenza Troposfera  orbita geostazionaria ph FSK Italia aru telecomunicazioni madagascar Triesnecker Joule Verdon lingam motori di ricerca Onde Sismiche Alpha Maestrale pittura corpo Ben Wilson metano JTDX Cacciatorpediniere divinità app Xbox 1952 elettrodomestico compagnie aeree pre-pagata Francis Lawrence PERSONAGGIO VOR Edwin Aldrin rilevatori Michael Caine Robert Boyle punti cardinali 16036 uscite Abduction Elio E Le Storie Tese SSTV Sistema RST Gianmarco Banzi PageRank cpc RedEdit orefice Riviera Esquilino