Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Formularz w php do PDF (mpdf)
Forum PHP.pl > Forum > Przedszkole
endurance
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
mPDF zwraca PDF, a nie kod PHP.
Pokaż jak wstawiasz kod HTML do PDFa.
endurance
Przepraszam mały błąd zwraca mi PDF w których jest kod php.
Poniżej kod
  1. <?php
  2. include "mpdf57/mpdf.php";
  3.  
  4. $mpdf = new mPDF();
  5. $html = file_get_contents('form.php');
  6. $mpdf->WriteHTML($HTML);
  7. $mpdf->Output();
  8. ?>
trueblue
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
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
Ja to zrobiłem tak:

  1. <?
  2. include('mpdf/mpdf.php');
  3. $mpdf=new mPDF();
  4. $html= "Tekst do wyplucia wPDF";
  5. $mpdf->WriteHTML($html);
  6. $mpdf->Output("plik.pdf","D");
  7. ?>


Spróbuj tak
endurance
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
error_reporting(E_ALL ^ E_NOTICE);

Ale mógłbyś je sprawdzać przed wykorzystaniem za pomocą funkcji isset.
endurance
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
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
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
Włącz pełne raportowanie błędów i zamiast drukować $html do PDF, wydrukuj go na ekran.
endurance
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.