View Full Version : [PHP]redirect...
Scusate la domanda scema, ma non risesco a far funzionare in redirect il php :muro:
Scrivendo questo:
header("Location: http://www.gogle.it");
Quando lo va ad eseguire esce sto messaggio e non fa il redirect:
Warning: Cannot modify header information - headers already sent by (output started at C:\Programmi\Apache Group\Apache2\htdocs\index.php:6) in C:\Programmi\Apache Group\Apache2\htdocs\index.php on line 9
Perchè? :muro: :help:
Probabilmente hai gia fatto qualche output. Controlla che non ci siano echo, print prima di quella chiamata ad header. Ricorda che anche le righe vuote prima del tag <?php o dopo ?> sono convertite in echo e quindi sono effettivamente degli output.
ciao ;)
Grazie....ho risolto spostando tutto incima....avevo messo il redirect nel body....:fagiano:
davidino80
14-05-2005, 12:40
scusate riprendo il thread..
ma se a me servisse fare un redirect alla pagina precedente dopo aver validato o meno un utente? posso usare questo codice cmq?
ad esempio:
- controllo utente
se OK vai alla pagine precedente tramite index.php?user=nomeutente
altrimenti torna alla pagina precendete senza nulla
come potrei fare?
grazie
anonimizzato
14-05-2005, 13:11
certo esegui tutte le istruzioni PHP necessarie per il controllo utente e poi fai un redirect con la funzione header alla pagina precedente (passando magari le info sull'utente stesso).
L'attenzione da riporre è solo quella di NON creare output verso il browser prima di inviagli un HEADER.
davidino80
14-05-2005, 15:36
certo esegui tutte le istruzioni PHP necessarie per il controllo utente e poi fai un redirect con la funzione header alla pagina precedente (passando magari le info sull'utente stesso).
L'attenzione da riporre è solo quella di NON creare output verso il browser prima di inviagli un HEADER.
perfetto.. chiedo troppo di inserire un delay di 5 sec prima di fare il redirect?
grazie
Futuregames
14-05-2005, 22:01
<?
echo"fra 5 secondi sarai reindirizzato";
sleep(5);
Header("location http://www.lol.it");
?>
<?
echo"fra 5 secondi sarai reindirizzato";
sleep(5);
Header("location http://www.lol.it");
?>
Ma se fai l'echo poi non funge il redirect :mbe:
Futuregames
14-05-2005, 23:49
funge...^^ gli errori di header sono sul file di destinazione nn su quello in cui attui la funzione ;)
e poi prima di parlare provarlo? :rolleyes:
funge...^^ gli errori di header sono sul file di destinazione nn su quello in cui attui la funzione ;)
e poi prima di parlare provarlo? :rolleyes:
Certo che l'ho provato....a me non funge...guarda cosa stampa:
fra 5 secondi sarai reindirizzato
Warning: Cannot modify header information - headers already sent by (output started at C:\Programmi\Apache Group\Apache2\htdocs\redirect.php:2) in C:\Programmi\Apache Group\Apache2\htdocs\redirect.php on line 5
Futuregames
15-05-2005, 13:54
si ma li dall'errore che vedo io tu hai reindirizzato alla pagina stessa e alla linea 2 vi è un errore...
nn devi mettere spazi prima del <? e dopo il ?>
si ma li dall'errore che vedo io tu hai reindirizzato alla pagina stessa e alla linea 2 vi è un errore...
:mbe: non ho reindirizzato alla stessa pagina....l'errore lo da perchè non riesce ad eseguire il redirect perchè alla linea 2 c'è stato l'echo!
nn devi mettere spazi prima del <? e dopo il ?>
Non ci sono spazi...guarda l'allegato....
Questo l'errore:
fra 5 secondi sarai reindirizzato
Warning: Cannot modify header information - headers already sent by (output started at C:\Programmi\Apache Group\Apache2\htdocs\redirect.php:2) in C:\Programmi\Apache Group\Apache2\htdocs\redirect.php on line 4
Ma te l'hai provato?
funge...^^ gli errori di header sono sul file di destinazione nn su quello in cui attui la funzione ;)
e poi prima di parlare provarlo? :rolleyes:
No...non può funzionare...gli header devono essere terminati prima di qualsaisi echo...
Un redirect a tempo lo puoi fare con javascript...
per risolvere il problema del passaggio header ecc..... metti ob_start(); all'inizio della pagina e nn hai problemi ;) in pratica "bufferizza" tutto quello che c'è :)
e il redirect cmq basta farlo in html :fagiano:
Comunque la pagina non si visualizzerebbe, visto che il redirect tramite gli header è immediato...
si beh ob_start è una soluzione che nn si usa per quello dicevo che puo servire......cmq per me la cosa migliore è farlo da semplice html
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.