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

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

risposto 4 mesi 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 3 mesi fa
alykiss
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda