PDA

View Full Version : [PHP] Problema con header


DigitalKiller
18-09-2006, 10:34
Può sembrarvi stupido, ma in una pagina php, ho la necessità di visualizzare un file pdf e, contemporaneamente, di aprire un'altra pagina.. :mc:
Cerco di spiegarvi meglio il problema..
La pagina in questione visualizza un form. Compilandolo e cliccando su "Invia", vorrei che si aprisse un file pdf (da stampare) e che si aprisse la pagina principale del sito. E' possibile una cosa del genere? :confused:

DigitalKiller
18-09-2006, 20:17
Questa la pagina che elabora il form:

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:http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/main.php");


Mentre questa è una parte del codice della funzione show_pdf():

/*
* Istruzioni per la creazione del pdf
*/

// Visualizzo il pdf creato
header( 'Content-type: application/pdf' );

header( 'Content-disposition: attachment; filename=test.pdf' );

Naturalmente il codice in questo modo non è corretto, in quanto l'header che richiama la pagina main.php non viene eseguito. C'è un modo per risolvere il problema? Ho provato ad utilizzare ob_start/ob_end_flush ma non sono riuscito ad ottenere i risultati sperati :cry:

dierre
18-09-2006, 20:24
Dal codice non ho molto ben capito che vuoi fare, nel frattempo ti cito parte del manuale php sperando possa esserti d'aiuto:

Remember that header() must be called before any actual output is sent

edit: forse ho capito, ma io so farlo in javascript, in php non credo si possa fare.
http://www.javascripter.net/faq/openinga.htm

DigitalKiller
18-09-2006, 21:21
L'utente accede ad un form di registrazione.
Dopo aver compilato il form e aver cliccato su "Invia", il codice php memorizza le informazioni del form in un db ed in un secondo momento genera un pdf (sempre con le informazioni prese dal form) che viene visualizzato per la stampa.
Il pdf viene visualizzato non nella finestra di firefox (non dal plug-in) ma direttamente nell'acrobat reader (cioè come se il file risiedesse sul mio pc).
La pagina che ha generato il pdf, quindi, resta "bloccata" ed io vorrei fare in modo che ritorni alla pagina principale del sito