Autore Topic: fare il redirect  (Letto 4200 volte)

pastor823

  • Nuovo arrivato
  • *
  • Post: 41
fare il redirect
« il: 07 Gennaio, 2012, 00:18:21 »
ho creato una pagina modificandone l'estensione in php (proprietà pagina / esperto).

Al suo interno ho inserito un Widget con dentro questo codice:

<?php
    header("Location:wordpress/sommario/");
?>

Il problema è che quando apro la pagina col browser, mi compare questo errore:

Warning:  Cannot modify header information - headers already sent by (output started at /web/htdocs/www.miosito.it/home/pagina.php:94) in /web/htdocs/www.miosito.it/home/pagina.php on line 213

Perchè?

tigrone

  • Moderatore
  • Utente esperto
  • *****
  • Post: 322
    • tuoweb
Re:fare il redirect
« Risposta #1 il: 07 Gennaio, 2012, 01:57:34 »
Perchè, prima di quel comando, c'è qualche output a video...


Metti questo all'inizio della pagina:
Codice:
Only registered users can see contents. Please click here to Register or Login.

pastor823

  • Nuovo arrivato
  • *
  • Post: 41
Re:fare il redirect
« Risposta #2 il: 07 Gennaio, 2012, 09:46:38 »
nell'intestazione o all'inizio del corpo (body)?

tigrone

  • Moderatore
  • Utente esperto
  • *****
  • Post: 322
    • tuoweb
Re:fare il redirect
« Risposta #3 il: 07 Gennaio, 2012, 11:33:42 »
All'inizio della pagina quindi più in alto possibile...
Se hai evo9 si può mettere proprio... all'inizio della pagina...

pastor823

  • Nuovo arrivato
  • *
  • Post: 41
Re:fare il redirect
« Risposta #4 il: 07 Gennaio, 2012, 17:09:41 »
ok, l'ho messo all'interno del body.
grazie

tigrone

  • Moderatore
  • Utente esperto
  • *****
  • Post: 322
    • tuoweb
Re:fare il redirect
« Risposta #5 il: 07 Gennaio, 2012, 17:25:38 »
ok, l'ho messo all'interno del body.
grazie
:-\
Ho detto: all'inizio della pagina!
Il body è dentro la pagina...

serzio

  • Amministratore
  • Utente storico
  • *****
  • Post: 1706
Re:fare il redirect
« Risposta #6 il: 07 Gennaio, 2012, 20:22:46 »
ok, l'ho messo all'interno del body.
grazie
:-\
Ho detto: all'inizio della pagina!
Il body è dentro la pagina...

E vabbè .... stai a vède er capello ...

pastor823

  • Nuovo arrivato
  • *
  • Post: 41
Re:fare il redirect
« Risposta #7 il: 07 Gennaio, 2012, 20:51:24 »
ok, l'ho messo all'interno del body.
grazie
:-\
Ho detto: all'inizio della pagina!
Il body è dentro la pagina...

E vabbè .... stai a vède er capello ...


quindi prima di </head>?

serzio

  • Amministratore
  • Utente storico
  • *****
  • Post: 1706
Re:fare il redirect
« Risposta #8 il: 07 Gennaio, 2012, 20:59:03 »
ok, l'ho messo all'interno del body.
grazie

 :-\
Ho detto: all'inizio della pagina!
Il body è dentro la pagina...


E vabbè .... stai a vède er capello ...



quindi prima di </head>?


http://www.unofficialwsx5.com/index.php?topic=428.0

Cosa viene prima, /head oppure html ?  ;)


pastor823

  • Nuovo arrivato
  • *
  • Post: 41
Re:fare il redirect
« Risposta #9 il: 07 Gennaio, 2012, 21:14:41 »
addirittura, fuori dall'html!!!
Se lo dici tu ;)

serzio

  • Amministratore
  • Utente storico
  • *****
  • Post: 1706
Re:fare il redirect
« Risposta #10 il: 07 Gennaio, 2012, 21:22:46 »
addirittura, fuori dall'html!!!
Se lo dici tu ;)

Il problema è causato dalla presenza di output che viene inviato prima del comando header e per output non si intende soltanto quello visibile ma in generale tutto quello che viene inviato al browser e quindi anche i vari meta. L'istruzione che ti ha suggerito tigrone serve a dire al webserver di NON inviare l'output subito ma a memorizzarlo in un buffer, ovvero una memoria temporanea. Tutto questo dovrebbe chiarire che l'inserimento di qualcosa prima del tag /head significa che quel qualcosa viene inserito prima della chiusura della sezione HEAD e quindi ben dopo aver inviato un bel po' di roba in output.

pastor823

  • Nuovo arrivato
  • *
  • Post: 41
Re:fare il redirect
« Risposta #11 il: 07 Gennaio, 2012, 21:51:45 »
ok, tutto chiaro!!!