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

    Problema Header con libreria FPDF

    Ciao a tutti , avrei un problema di header con la libreria FPDF.

    Praticamente ho un pulsante nella mia finestra che alla pressione effettua una finta submit cosi da richiamare se stessa e quindi creare il pdf .Fin qui tutto ok, firefox mi carica la finestrella ("SALVA FILE CON NOME") ma se in quell'istante ripremo il pulsante (senza premere pulsanti sulla finestrella di firefox) mi compare il messaggio di errore header indicandomi che l'header è già stato spedito e mi compare a schermo anche tutto il codice del pdf (codice sorgente illeggibile pagina pdf).

    Come posso fare per risolvere il problema?

    C'è un metodo più sicuro per operare?


    Dite che se imposto queste righe di codice nella funzione make_pdf possono risolvere il problema?

    ....

    $path=$id_pratica.".pdf";
    $type = 'application/pdf';
    header("Pragma: public");
    header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
    header("Cache-Control: private", false);
    header("Content-type: $type");
    header("Content-Disposition: attachment; filename=\"$path\"");
    $pdfcode=$pdf->Output($path,'D');
    header("Content-Length: " . strlen($pdfcode));
    die();

    .....

  2. #2
    magari basta ripulire l'header o cancellarlo una volta che è stato inviato?

    se si , come posso fare?

  3. #3
    L'output del pdf è richiamato con

    $pdf->Output($path,'D');


    Ho notato che il problema avviene solo con firefox mentre con IE e OPERA no, in quanto la finestra "SALVA CON .." non permette pressioni di pulsanti sulla finestra opener (o finestra padre)

    Ho notato che se richiamo
    $pdf->Output($path,'S'); con 'S' , il problema dell'header lo risolvo anche in firefox ma la stringa restituita da fdpd è illeggibile (cosi mi dice foxitreader).

    La stringa viene letta con readear($stringa_pdf);


    Ecco la parte finale della mia funzione make_pdf(...) aggiornata

    .....

    header("Pragma: public");
    header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
    header("Cache-Control: private", false);
    header("Content-Description: File Transfer");
    header("Content-Disposition: attachment; filename=\"$path\"");
    header("Content-type: application/pdf");
    $pdfcode=$pdf->Output($path,'D');
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: " . strlen($pdfcode));
    //echo $pdfcode;
    readfile($pdfcode);
    ....

  4. #4
    Risoltoooooooooo cosi

    .....


    header("Pragma: public");
    header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
    header("Cache-Control: private", false);
    header("Content-Description: File Transfer");
    header("Content-Disposition: attachment; filename=\"$path\"");
    header("Content-type: application/pdf");
    $pdfcode=$pdf->Output($path,'S');
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: " . strlen($pdfcode));
    echo $pdfcode;
    die();


    .....



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.