Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Alternative a Location?

    Salve,
    ho notato che questo script:
    codice:
    <? header('Location: 001.php'); ?>
    funziona solo se lo metto ad inizio pagina, altrimenti mi dà un errore di "Headers already sent"

    Il problema è che, usando files di inclusione, potrei avere la necessità di effettuare il redirect in mezzo alla pagina, ad es. alla fine di uno script "incluso" nel body

    Esistono alternative a Location? In ASP posso fare senza problemi una cosa come:
    codice:
    <html>
    ...
    <body>
    ...
    <% Response.Redirect("pagina.asp") %>
    ...
    </body></html>
    in PHP come faccio?

    Grazie...
    Home: http://www.ivansweb.com
    Le mie applicazioni gratuite in ASP
    · IWGallery
    · IWNewsletter
    · IWMessenger
    · IWGuestbook

  2. #2
    metti all'inizio del file che fa tutto (ovvero quello che non viene incluso ma eventualmente include gli altri)


    ob_start();


    ciao
    ratatuia

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    prova a mettere come prima istruzione della pagina
    ob_start();
    e anche se metti codice html prima dell'header('Location: ...');
    dovrebbe funzionare...

    ciao


    [EDIT] scusa ratatuia, avevo il box di risposta aperto e non ho visto che avevi già risposto...

  4. #4
    Originariamente inviato da ken84

    [EDIT] scusa ratatuia, avevo il box di risposta aperto e non ho visto che avevi già risposto...

    figurati

  5. #5
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Esistono altre alternative efficaci: basta usare JS: inserisci dove vuoi il seguente codice.

    codice:
    ?>
    <script language="javascript">
      document.location.href="<?=$pagina_che_vuoi?>";
    </script>
    <?
    exit;

    [.:: JaguarXF ::.]
    __________________

  6. #6
    Originariamente inviato da mark2x
    Esistono altre alternative efficaci: basta usare JS: inserisci dove vuoi il seguente codice.

    codice:
    ?>
    <script language="javascript">
      document.location.href="<?=$pagina_che_vuoi?>";
    </script>
    <?
    exit;

    se però uno ha JS disabilitato peggiori la situazione

  7. #7
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Ovvio.

    Mai incontrato qualcuno con JS disabilitato, tra i miei clienti, cmq.

    [.:: JaguarXF ::.]
    __________________

  8. #8
    Originariamente inviato da mark2x
    Ovvio.

    Mai incontrato qualcuno con JS disabilitato, tra i miei clienti, cmq.

    sì, è vero...per con location fai un'operazione trasparente al l'utente compatibile con tutti i browser...

  9. #9
    E' lui! E' lui!
    Grazie, ragazzi!
    Effettivamente stavo pensando che anche su ASP il Buffer deve essere abilitato (Response.Buffer = True) affinchè non avvegnano gli errori di "headers already sent"... mi era sfuggito perchè da IIS 5 in poi il buffer è abilitato di default
    Home: http://www.ivansweb.com
    Le mie applicazioni gratuite in ASP
    · IWGallery
    · IWNewsletter
    · IWMessenger
    · IWGuestbook

  10. #10
    Originariamente inviato da Ratatuia
    metti all'inizio del file che fa tutto (ovvero quello che non viene incluso ma eventualmente include gli altri)


    ob_start();


    ciao
    ratatuia

    cavolo devo provare anche io....pensavo che non ci fosse rimedio! grazie!


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.