Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [FPDF] Problem
Reiven
post 16.11.2007, 13:50:22
Post #1





Grupa: Zarejestrowani
Postów: 100
Pomógł: 1
Dołączył: 17.03.2006

Ostrzeżenie: (0%)
-----


Witam, mam pewien problem z fpdf, otóż to wyświetla mi taki błąd:

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

a mój skrypt wygląda następująco:

  1. <?php
  2.  
  3.  
  4. define('FPDF_FONTPATH','font/');
  5. require('fpdf.php');
  6.  
  7.  
  8. include("config.php");
  9.  
  10.  
  11. $pdf=new FPDF();
  12.  
  13.  
  14. $pdf->Open();
  15.  
  16.  
  17. $pdf->SetAutoPageBreak(false);
  18.  
  19.  
  20. $pdf->AddPage();
  21.  
  22.  
  23. $y_axis = 60;
  24. $y_axis_a = 50;
  25.  
  26. $pdf->Image('karta.PNG', $pdf->GetX()+0, $pdf->GetY()+0, 0, 0, 'PNG');
  27.  
  28. $pdf->SetFillColor(232,232,229);
  29. $pdf->SetFont('Arial','B',10);
  30. $pdf->SetY($y_axis_a);
  31. $pdf->SetX(18);
  32. $pdf->Cell(5,6,'id',1,0,'L',1);
  33. $pdf->Cell(15,6,'stadium',1,0,'L',1);
  34. $pdf->Cell(21,6,'Data lnienia',1,0,'R',1);
  35. $pdf->Cell(45,6,'Data ostatniego karmienia',1,0,'R',1);
  36. $pdf->Cell(24,6,'Pokarm',1,0,'R',1);
  37. $pdf->Cell(31,6,'Data nawadniania',1,0,'R',1);
  38. $pdf->Cell(12,6,'Ile ML',1,0,'R',1);
  39. $pdf->Cell(14,6,'dc',1,0,'R',1);
  40. $pdf->Cell(14,6,'caly',1,0,'R',1);
  41.  
  42.  
  43. $y_axis = $y_axis + $row_height;
  44.  
  45.  
  46. $result=mysql_query('select * from karty where kto="'.$_SESSION["login2"].'" and dzial="4"');
  47.  
  48.  
  49. $i = 1;
  50.  
  51.  
  52. $max = 25;
  53.  
  54.  
  55. $row_height = 6;
  56.  
  57. while($row = mysql_fetch_array($result))
  58. {
  59.  
  60. if ($i == $max)
  61. {
  62. $pdf->AddPage();
  63.  
  64.  
  65. $pdf->SetY($y_axis);
  66. $pdf->SetX(18);
  67. $pdf->Cell(5,6,'id',1,0,'L',1);
  68. $pdf->Cell(15,6,'stadium',1,0,'L',1);
  69. $pdf->Cell(21,6,'Data lnienia',1,0,'R',1);
  70. $pdf->Cell(45,6,'Data ostatniego karmienia',1,0,'R',1);
  71. $pdf->Cell(24,6,'Pokarm',1,0,'R',1);
  72. $pdf->Cell(31,6,'Data nawadniania',1,0,'R',1);
  73. $pdf->Cell(12,6,'Ile ML',1,0,'R',1);
  74. $pdf->Cell(14,6,'dc',1,0,'R',1);
  75. $pdf->Cell(14,6,'caly',1,0,'R',1);
  76.  
  77.  
  78.  
  79. $y_axis = $y_axis + $row_height;
  80.  
  81.  
  82. $i = 1;
  83. }
  84.  
  85. $id = $row['id'];
  86. $stadium = $row['stadium'];
  87. $wylinka = $row['wylinka'];
  88. $dataostatniegokarmienia = $row['dataostatniegokarmienia'];
  89. $pokarm = $row['pokarm'];
  90. $datazwilzenia= $row['datazwilzenia'];
  91. $mc = $row['mc'];
  92. $dc = $row['dc'];
  93. $caly = $row['caly'];
  94. $kto = $row['kto'];
  95. $dodanedata = $row['dodanedata'];
  96. $edycjadata = $row['edycjadata'];
  97. $dzial = $row['dzial'];
  98.  
  99. $pdf->SetY($y_axis);
  100. $pdf->SetX(18);
  101. $pdf->Cell(5,6,$id,1,0,'L',1);
  102. $pdf->Cell(15,6,$stadium,1,0,'L',1);
  103. $pdf->Cell(21,6,$wylinka,1,0,'L',1);
  104. $pdf->Cell(45,6,$dataostatniegokarmienia,1,0,'L',1);
  105. $pdf->Cell(24,6,$pokarm,1,0,'R',1);
  106. $pdf->Cell(31,6,$datazwilzenia,1,0,'R',1);
  107. $pdf->Cell(12,6,$mc,1,0,'R',1);
  108. $pdf->Cell(14,6,$dc,1,0,'R',1);
  109. $pdf->Cell(14,6,$caly,1,0,'R',1);
  110.  
  111. $y_axis = $y_axis + $row_height;
  112. $i = $i + 1;
  113. }
  114.  
  115. $pdf->Output('karta-'.$_SESSION["login2"].'.pdf', D);
  116. ?>


gdy w $pdf->Output dam:
  1. <?php
  2. $pdf->Output('karta-'.$_SESSION["login2"].'.pdf');
  3. ?>

zapisuje mi na serwerze
a gdy dam:

  1. <?php
  2. $pdf->Output();
  3. ?>

wyskakuje powyższy błąd....
Go to the top of the page
+Quote Post
kszychu
post 16.11.2007, 13:54:38
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


Zakomentuj $pdf->Output(); i zobacz, co Ci wyświetli. Skrypt zwraca Ci pewnie jakiś błąd.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
skowron-line
post 16.11.2007, 13:56:50
Post #3





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


zrob tak

Kod
include('config.php');
define('FPDF_FONTPATH','font/');
require('fpdf.php');


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
Reiven
post 16.11.2007, 13:58:24
Post #4





Grupa: Zarejestrowani
Postów: 100
Pomógł: 1
Dołączył: 17.03.2006

Ostrzeżenie: (0%)
-----


biała strona się pokazuje jak zakomentuje smile.gif

Cytat(skowron-line @ 16.11.2007, 13:56:50 ) *
zrob tak

Kod
include('config.php');
define('FPDF_FONTPATH','font/');
require('fpdf.php');


nadal FPDF error: Some data has already been output, can't send PDF file
Go to the top of the page
+Quote Post
kszychu
post 16.11.2007, 14:12:22
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


A co robi $pdf->Open()? Nie znajduję tego w manualu.
Dogrzebałem się co robi (sam tego używałem). Ale było to używane w starszej wersji biblioteki, więc może teraz powoduje ten błąd?

Ten post edytował kszychu 16.11.2007, 14:15:12


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
Reiven
post 16.11.2007, 14:24:31
Post #6





Grupa: Zarejestrowani
Postów: 100
Pomógł: 1
Dołączył: 17.03.2006

Ostrzeżenie: (0%)
-----


nawet po usunięciu tego: $pdf->Open() nadal wyświetla się błąd :|
FPDF error: Some data has already been output, can't send PDF file
Go to the top of the page
+Quote Post
nospor
post 16.11.2007, 14:34:35
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




FPDF informuje cie, ze wyslales juz do przeglądarki jakies dane. Jesli to jest caly skrypt co pokazales i nic wiecej nie masz, to zapewne chodzi o BOM - takie 3 znaczki na początku pliku UTF8. Musisz sie ich pozbyc. Jesli zas ten skrypt jest czesscia czegos wiekszego i to cos wali ci jakies echo czy cos podobnego - usun to smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kszychu
post 16.11.2007, 14:35:22
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


W logach (error_log) apache'a nie ma nic ciekawego?

I jeszcze do tego, co napisał nospor: czy <?php jest w PIERWSZEJ linijce skryptu i NIE MA tam ŻADNEJ SPACJI przed?

Ten post edytował kszychu 16.11.2007, 14:37:14


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
Reiven
post 16.11.2007, 14:44:55
Post #9





Grupa: Zarejestrowani
Postów: 100
Pomógł: 1
Dołączył: 17.03.2006

Ostrzeżenie: (0%)
-----


w logach nic nie ma..

nospor tak to jest cały skrypt.
Mówisz o BOM hmmm a jak to usunąć :| i nie widzę żadnych dodatkowych 3 znaczków smile.gif
Go to the top of the page
+Quote Post
nospor
post 16.11.2007, 14:53:37
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




BOM jest niewidzialny w edytorze.

1) Czy plik jest zapisane w utf-8? Jeśli tak, użyj normalnego edytora, ktory zapisuje bez BOM (np. eclipse).
2) To co napisal kszychu: <?php ma byc pierwsza linia w skrypcie i bez wczesniejszysz zadnych spacji


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Reiven
post 17.11.2007, 21:06:17
Post #11





Grupa: Zarejestrowani
Postów: 100
Pomógł: 1
Dołączył: 17.03.2006

Ostrzeżenie: (0%)
-----


zmieniłem serwer oraz kodowanie strony na iso-8859-2 z bazy danych dane ładnie wyświetla, zrobiłem poprzez ttf2pt1 i makefont polską czcionkę i nadal w pdf'ie nie ma polskich znaków tylko np zamiast ś jest
  1. <?php
  2. &#347;
  3. ?>


może mi ktoś pomóc ?

Ten post edytował Reiven 17.11.2007, 21:07:27
Go to the top of the page
+Quote Post
dadexix
post 17.11.2007, 21:21:11
Post #12





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


nie znam się na tym ale chyba PDF'a "piszesz" w taki sposób:
  1. <?php
  2. to som jakie&#347; treści
  3. ?>
(wiem że nie pisze się "som" ale nie chce mi się "ą" szukać:P)
a jak byś pisał pdf'a i generował go jako:
Kod
to som jakieś treści
- z polskimi znakami w kodzie?

Może coś źle mówie ale nigdy nie widziałem jeszcze skryptu do generowania PDF na oczy bo mi to nigdy nie było potrzebne(jestem początkujący)

6:13...
Właśnie zauważyłem że zmieniło moje pismo:P
czemu czasem mi zamienia
& #347;
na "ś"

Ten post edytował dadexix 18.11.2007, 06:37:26


--------------------
"Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...]
Grins: mów normalnie do mnie a nie po polsku
Ja: normalnie to znaczy jak?
Grins: No w PHP... inaczej mój parser ledwo kuma:)
Go to the top of the page
+Quote Post
Virgon
post 17.11.2007, 21:34:29
Post #13





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 20.10.2007

Ostrzeżenie: (0%)
-----


Jak o te BOM chodzi to możesz w notatniku otworzyć i wywalić albo w Notepadzie++ ustawić aby kododwał UTF8 bez BOM sam miałem ten problem z innym błędem smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 01:02