Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [PHP] Problema con header

    Ciao a tutti!
    In un piccolo sito in php che sto sviluppando, l'utente accede ad una pagina di registrazione. Dopo aver compilato il form e cliccato sul pulsante "Invia", il codice php memorizza le informazioni del form in un db e successivamente crea un pdf (sempre con le informazioni prese dal form) che viene visualizzato per la stampa.

    Questa è la pagina di elaborazione del form:
    Codice PHP:
    include ('creapdf.php')
    /*
    * Istruzioni per l'elaborazione del form
    * e la memorizzazione dei dati nel db
    */

    // Funzione che visualizza il pdf con i dati del form
    show_pdf();

    header("Location:[url]http://[/url]" $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/main.php"); 
    mentre questa è una parte della funzione che crea e visualizza il pdf:

    Codice PHP:
    /*
    * Istruzioni per la creazione del pdf
    */

    // Visualizzo il pdf creato
    header'Content-type: application/pdf' );
    header'Content-disposition: attachment; filename=test.pdf' ); 
    Il pdf viene creato e visualizzato correttamente, ma (naturalmente) il secondo header, quello che dovrebbe fare il redirect alla main.php posto dopo l'header che visualizza il pdf, non funziona! La pagina in questo modo resta "bloccata"...
    C'è un modo per evitare questo?

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    crei il pdf in una pagina di popup, oppure in un frame... credo
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Originariamente inviato da Andrea1979
    crei il pdf in una pagina di popup, oppure in un frame... credo
    Cioè? Come dovrei fare?

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    avrai un link o bottone che apre una popup o nuova istanza del browser e in quella nuova finestra genererai i pdf. nella vecchia finestra farai l'eventuale redirect.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Ho risolto inserendo nella pagina di elaborazione del form queste righe:
    Codice PHP:
    echo 
                
    "<script>
                    window.location = 'http://" 
    $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/main.php'
                    window.open('../pdf/printreceipt.php?id=" 
    $id "'); 
                </script>"

    In questo modo, la pagina di elaborazione del form viene indirizzata alla pagina principale del sito e contemporaneamente viene aperta una nuova finestra che crea il pdf.

    Grazie per l'idea!

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.