Warning: Cannot modify header information - headers already sent by

salve a tutti
questo è il problema:
utilizzo lo script presente nella lezione 5 del corso PHP e MySQL

Utilizzandolo in locale "localhost" con xampp all'inizio ricevevo un messaggio d'errore:
Warning: Cannot modify header information - headers already sent by (output started at ecc.. ecc..
questa è la riga di codice che ho nello script:

header('location: '.$_SERVER['PHP_SELF']. '/la-mia-pagina/?userid='.$search_term . '&useridd='.$search_term2.'&msg='.$messaggio.'#evi');


in pratica esegue l'inserimento dei dati nel database e poi mi fa il redirect ad un'altra pagina

Ho risolto questo problema utilizzando "ob_start();" all'inizio dello script seguendo i vostri consigli.

Ho trasferito il tutto sul server ma non c'è nessun redirect, lo script inserisce i dati correttamente nel database ma non fa il redirect ad un'altra pagina, questo appunto per non permettere il refresh della pagina.

Ho provato anche con:

header("location:http://miosito/fast/la-mia-pagina/?msg=$messaggio#evi");


ma niente da fare, ho tolto "ob_start();" sperando in qualche avviso di errore, ma al contrario dall'uso in locale non mi da nessun errore e inserisce i dati correttamente nel database.

ogni aiuto è gradito grazie per l'attenzione
alykiss

inviato 4 anni fa
alykiss
modificato 4 anni fa
Gianni Tomasicchio
All'inizio dello script prova a mettere l'istruzione: error_reporting(E_ALL);Gianni Tomasicchio 4 anni fa
grazie della risposta, ma non succede niente, niente segnalazione degli errori, niente refresh e niente redirect, inserimento dati avvenuto con successoalykiss 4 anni fa
inserisci anche ini_set('display_errors', 1);Gianni Tomasicchio 4 anni fa
controlla anche i log di apacheGianni Tomasicchio 4 anni fa
X 0 X

Per caso prima della ridirezione hai dato qualche istruzione di output?

risposto 4 anni fa
and77
X 0 X

ciao a tutti avevo risolto il problema con questa istruzione:                  echo '<script type="text/javascript"> document.location = "http://www.miosito.it/fast/la-mia-pagina/?userid= '.$search_term .'&useridd='.$search_term2.'&msg='.$messaggio_info.'#evi"</script>';                                                     Questa istruzione però, produceva un ritardo sensibile nel visualizzare la pagina chiamata, così ho riscritto tutta la pagina anche quelle "incluse" ed ora funziona tutto, probabilmente c'era qualche linea che non andava.

grazie per l'aiuto cmq

alykiss

risposto 4 anni fa
alykiss
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda