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

    FPDF error: Some data has already been output, can't send PDF file

    Non conosco questa libreria, mi è stato chiesto di capire come mai una volta il pdf veniva generato ed ora non più. Sinceramente non so dove sia il problema

    Per postare il codice del file php che genera l'errore, che è abbastanza lungo, come faccio?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Dal messaggio d'errore che hai messo come titolo, direi che hai qualche echo oppure altro output prima della generazione del PDF e questo pare dia fastidio a FPDF.
    Assicurati che non ci siano stampe prima di generare il file PDF.

    Per stampe intendo echo, codice html o anche solo spazi bianchi.

    esempio
    Codice PHP:

    <div>...</div> <!-- questo è output html -->
    <?php
        
    // un po' di codice php tranne echo, print, ecc...

        // la riga bianca qui sopra non è output perché dentro il tag php
        
    echo "pippo"// questo è output
    ?>
    La riga bianca prima di <div> anche è output perché sta fuori dal tag <?php e quindi è interpretata come una stampa sulla pagina.

    Assicurati anche che il file sia salvato con codifica UTF8 SENZA BOM.
    Ultima modifica di Alhazred; 06-09-2017 a 16:08

  3. #3
    Sto cercando di capire , questo è il codice

    come faccio a capire a che punto o in quele file richiamato c'è l'errore?
    se commento

    // require("funzioni.php");
    // require("funzioni_2.php");

    l'errore non compare ma restituisce pagina bianca.




    <?php
    require('fpdf153/fpdf.php');
    require('fpdf153/classe_write_tag_voucher.php');

    require_once ("setting.inc");
    require ("db_config.inc");

    require("funzioni.php");
    require("funzioni_2.php");

    $query="SELECT * FROM $table_voucher WHERE id='$id_modif'";

    $result=mysql_query($query);
    $struttura_selected=mysql_result($result,0,"id_str uttura");
    $tipo=mysql_result($result,0,"tipo");

    if ($tipo =="s") {
    $from_sel_strutt="y";
    }
    else if ($tipo =="t") {
    $from_sel_tour_op="y";
    }
    $array_spett=get_dati_spett($from_sel_strutt,$from _sel_tour_op,$struttura_selected,$struttura_select ed);

    $num_persone=get_num_pers($result);

    $pagamento=mysql_result($result,0,"pagamento");
    if (($pagamento=="0") or ($pagamento==""))
    $str_pagam=mysql_result($result,0,"altro_pagam");
    else
    $str_pagam=get_label($table_vouch_pag,"label","cod e",$pagamento);

    $str_cliente=get_dati_cliente(mysql_result($result ,0,"tipo_cliente"),mysql_result($result,0,"cliente "));

    $str_ultima=$array_spett['localita']." ".$array_spett['cap']." ".$array_spett['prov'];

    $str_struttura=concatena_1($str_struttura,"Spett.l e","\n");
    $str_struttura=concatena_1($str_struttura,$array_s pett['nome'],"\n");
    $str_struttura=concatena_1($str_struttura,$array_s pett['indirizzo'],"\n");
    $str_struttura=concatena_1($str_struttura,$str_ult ima,"\n");
    $str_struttura=concatena_1($str_struttura,$array_s pett['telefono'],"\n");

    define('FPDF_FONTPATH','font/');
    $def_font_family="helvetica";
    $def_font_size='9';
    $def_font_size_testo='7';

    $pdf=new PDF();
    //$pdf->SetMargins(30,15,25);
    $pdf->SetFont($def_font_family,'',$def_font_size);

    $pdf->Open();
    $pdf->AddPage();


    $pdf->Voucher($result,$str_struttura,$num_persone,$str_ pagam,$str_cliente,"(ORIGINALE)",$def_font_size,'1 0','10');

    $altezza=$pdf->GetY() + 5;
    $pdf->SetFont($def_font_family,'',$def_font_size);
    $pdf->Voucher($result,$str_struttura,$num_persone,$str_ pagam,$str_cliente,"(Copia1)",$def_font_size,'10', $altezza);

    $altezza=$pdf->GetY() + 5;
    $pdf->SetFont($def_font_family,'',$def_font_size);
    $pdf->Voucher($result,$str_struttura,$num_persone,$str_ pagam,$str_cliente,"(Copia2)",$def_font_size,'10', $altezza);

    //$pdf->SetY(-15);

    $pdf->Output();


    ?>

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    La funzione Output() che fa? Genera il file PDF, giusto? Viene generato? Lo trovi nella cartella?
    La pagina resta bianca perché non c'è alcun echo, print o simili, quindi non c'è niente da stampare a video.

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.