endurance
28.09.2014, 17:31:43
Witam, mam problem dotyczący formularza który robię. Formularz napisany jest w HTML z polami do wpisania swoich danych, później pobieram dane w PHP i robię uzupełniony cały formularz za pomocą echo, następnie korzystam z biblioteki mpdf do konwersji jego w PDF tylko tu się pojawia problem, że PDF zwraca czysty kod PHP a nie wykonany przez serwer. Jestem w tej kategorii początkujący i prosiłbym o pomoc jak rozwiązać ten problem aby w PDF był uzupełniony formularz danymi, które wpisał użytkownik. Z góry dziękuje za pomoc.
trueblue
28.09.2014, 17:36:50
mPDF zwraca PDF, a nie kod PHP.
Pokaż jak wstawiasz kod HTML do PDFa.
endurance
28.09.2014, 17:45:53
Przepraszam mały błąd zwraca mi PDF w których jest kod php.
Poniżej kod
<?php
include "mpdf57/mpdf.php";
$mpdf = new mPDF();
$mpdf->WriteHTML($HTML);
$mpdf->Output();
?>
trueblue
28.09.2014, 17:50:45
file_get_contents nie parsuje pliku.
Powinieneś włączyć buforowanie, zainkludować go i pobrać zawartość bufora jako treść do writeHTML.
http://php.net/manual/pl/function.ob-start.php
endurance
28.09.2014, 19:05:39
Dziękuje bardzo kolego zrobione wszystko działa jak należy mam tylko na marginesie małe pytanko czy jest możliwość pominięcia sprawdzania zawartości zmiennej? Bo jak mam puste pole to w PDF pojawiają mi się błędy, które zwraca PHP.
djpotwosss
28.09.2014, 19:08:50
Ja to zrobiłem tak:
<?
include('mpdf/mpdf.php');
$mpdf=new mPDF();
$html= "Tekst do wyplucia wPDF";
$mpdf->WriteHTML($html);
$mpdf->Output("plik.pdf","D");
?>
Spróbuj tak
endurance
28.09.2014, 19:20:43
Zrobiłem podobnie działa już wszystko dobrze tylko mam problem, z tymi zmiennym jak jest puste pole to na górze w PDF pojawiają mi się błędy:
Notice: Undefined index: wersja in C:\xampp\htdocs\serwis\form.php on line 18
Notice: Undefined index: obudowa in C:\xampp\htdocs\serwis\form.php on line 20
Notice: Undefined index: reinstalacja in C:\xampp\htdocs\serwis\form.php on line 21
Notice: Undefined index: archiwizacja in C:\xampp\htdocs\serwis\form.php on line 24
Notice: Undefined index: dysk in C:\xampp\htdocs\serwis\form.php on line 25
Da się jakoś pominąć te zmienne? Bo wpisanie value w polu tekstowym mija się z celem, gdyż trzeba to usuwać zanim się wpisze.
trueblue
28.09.2014, 19:26:01
error_reporting(E_ALL ^ E_NOTICE);
Ale mógłbyś je sprawdzać przed wykorzystaniem za pomocą funkcji isset.
endurance
28.09.2014, 20:50:37
Natknąłem się na kolejny problem podczas gdy na localhost wszysto generuje się pięknie to odpalone na zewnętrznym hostingu już klapa pokazuje taki komunikat:
mPDF error: Some data has already been output to browser, can't send PDF file
trueblue
28.09.2014, 21:26:44
Sprawdź kodowanie pliku php, również tego pliku gdzie generujesz PDF, ustaw na UTF-8 bez BOM, sprawdź, czy przed znacznikiem otwarcia (<php?) nie masz jakichkolwiek znaków.
Przed buforowanie nie powinieneś nic wysyłać do przeglądarki.
endurance
29.09.2014, 09:04:13
Zrobiłem tak jak kolega napisał i nic dalej to samo, najgorsze jest to że na localhost działa.. wysyłanie PDF na mejla też działa a wyświetlenie już nie.
trueblue
29.09.2014, 09:47:07
Włącz pełne raportowanie błędów i zamiast drukować $html do PDF, wydrukuj go na ekran.
endurance
29.09.2014, 17:19:20
Problem zniknął po zmianie edytora. Moje ostatnie pytanie, taki offtop czy jest możliwość użycia coś takiego jak captch ? Żeby nie było spamu przez jakieś boty na mejlu. Dziękuje bardzo wszystkim za pomoc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.