Risolvere problemi con la funzione header di php
Posted by k8 - Articolo di k8. August 4, 2008, 8:43 am
IProgrammatori.it

In questo piccolo howto, vi mostrerò come aggirare il solito problema della funzione Header di PHP:

			
Warning: headers already sent by (output started ...

Per risolvere questo piccolo, ma fastidioso warning è necessario utilizzare due funzioni che php ci fornisce:

Piccolo esempio non funzionante:

		
<?php
/*
* Questo esempio non funzionerà, ma restituirà un warning, e quindi il redirect non verrà effettuato.
*/
echo 'Big-Bug - Community Programmazione & Linux';
header("Location: http://www.big-bug.net");
?>

ed ecco invece un esempio funzionante

:
		
<?php
ob_start();
/*
* Questo esempio funzionerà.
*/
echo 'Big-Bug - Community Programmazione & Linux';
header("Location: http://www.big-bug.net");
ob_end_flush();
?>

Nel primo esempio la funzione header() non funziona poichè prima di averla richiamata ho un output restituito dal costrutto echo.
Mentre nel secondo esempio, pur avendo un output,la pagina funziona correttamente.
Questo perchè?
Come vedete,nell'esempio funzionante ho inizializzato la funzione ob_start() ad inizio pagina, e dopo la chiamata alla funzione
header(), ho utilizzato ob_end_flush() risolvendo il problema, ed avendo uno script funzionante al 100%.


Condividi
Stats
Voti 2
Voto medio 5
Visite 8664
Visite uniche 7484
Num.Download 0
DownloadNon disponibile.
Spazio Visitatori
Prima di inviare il tuo commento assicurati che:
  • sia in tema con l'articolo e contribuisca alla discussione in corso
  • non abbia contenuti offensivi nei confronti di chicchessia
  • non abbia contenuti che violini le leggi italiane
  • non contenga indirizzi e-mail








Vota Pessimo 1 / 5 Migliorabile 2 / 5 Buono 3 / 5 Interessante 4 / 5 Speciale  5 / 5
Visualizza Commenti. (4)
Commenti
Maui [27 October 2010 - 11:10:07] Funziona che è una bellezza. Grazie!
Sampei [22 May 2010 - 01:05:28] Il codice corretto è: <?php ob_start(); /* * Questo esempio funzionerà. */ echo 'Big-Bug - Community Programmazione
k8 [22 August 2009 - 07:08:51] E' un piacere! ;) Torna a trovarci.
Pietro [16 July 2009 - 03:07:04] Ottimo.. Eccellente ... l'unico modo era usare un redirect con JS. Hai risolto un problema di molti !!! Grazie a nome di molti :D !!!
Tag Cloudwarning php header × php risolvere problema header × warning funzione header ×

Advertisement

Iprogrammatori.it
| I contenuti di questo sito sono rilasciati sotto Licenza Creative Commons |