Dynamiczne generowanie pliku PDF

Podobne dokumenty
Bazy danych. dr Radosław Matusik. radmat

Formularze HTML. dr Radosław Matusik. radmat

Zajęcia 13 wykorzystanie MySQL w PHP cz. 2

Laboratorium 1 Wprowadzenie do PHP

Przykład programu w PHP. Wykład10.PHP ciągdalszy,str.1

MVC w praktyce tworzymy system artykułów. cz. 2

ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP

Współpraca PHP z MySql

SIECI KOMPUTEROWE I BAZY DANYCH

Wprowadzenie do Internetu Zajęcia 5

Obiektowe bazy danych

Współpraca PHP z MySql cz.2

Zajęcia 11 wykorzystanie MySQL w PHP

Zajęcia 10 obsługa formularzy w PHP

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

Formularze w PHP dla początkujących

Dokument hipertekstowy

Baza danych do przechowywania użytkowników

Wykład 03 JavaScript. Michał Drabik

Podstawy JavaScript ćwiczenia

Języki skryptowe - PHP. Podstawy PHP. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Aplikacje internetowe

Laboratorium 7 Blog: dodawanie i edycja wpisów

Rejestracja i Logowania - PHP/MySQL

Aplikacje WWW - laboratorium

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Projektowanie aplikacji w modelu MVC opartej o framework CodeIgniter

SSK - Techniki Internetowe

Internetowe bazy danych

Podstawy technologii WWW

Integracja frameworku Wicket z serwisem Platnosci.pl.

Dokumentacja smsapi wersja 1.4

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

Internetowe bazy danych

Bazy danych i strony WWW

Aplikacje internetowe

Liczniki odwiedzin. Licznik odwiedzin na plikach

Dane - pobieranie, przekazywanie i przechowywanie. dr Beata Kuźmińska-Sołśnia

INTRO. {27. Lipca} Jeśli chcesz podszkolić się w obsłudze arkuszy kalkulacyjnych, zapraszam na szkolenie z EXCELA w Poznaniu:

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium

Serwery aplikacji. dr Radosław Matusik. radmat

Bazy Danych i Usługi Sieciowe

Szablon główny (plik guestbook.php) będzie miał postać:

Aplikacje internetowe - laboratorium

Autor: Joanna Karwowska

Systemy internetowe. Wykład 3 PHP. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Na początku utworzymy formularz w czystym języku HTML i przetestujemy go za pomocą przeglądarki WWW.

Podstawy programowania (PHP/Java)

0.1 Logowanie do serwisu

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

LABORATORIUM 2 WSTĘP DO SIECI TELEINFORMATYCZNYCH TABELE I FORMULARZE

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

FORMULARZE. G. Przęczek

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Systemy internetowe. Wykład 4 mysql. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

Podstawowe wykorzystanie Hibernate

Język PHP. Studium Podyplomowe Sieci Komputerowe i Aplikacje Internetowe. v1.7, 2007/11/23

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Aplikacje WWW - laboratorium

Kowalski Marcin Wrocław, dn Jaśkiewicz Kamil Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami

Umieszczanie kodu. kod skryptu

Przedmiot: Programowanie usług internetowych - Delphi Przygotował: K. Strzałkowski Rok V. Semestr IX. Wydział ZiMK

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Przykładowa integracja systemu tpay.com KIP S.A. ul. Św. Marcin 73/ Poznań.

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

Systemy internetowe Wykład 3 PHP

Spis treści. Wstęp 5 Rozdział 1. Praca z AJAX-em 9. Rozdział 2. Współpraca ze skryptami PHP 55. Rozdział 3. Obsługa formularzy 81

Sprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.

Bazy danych w PHP dla początkujących

Przykładowa integracja systemu Transferuj.pl

JAK W NAGŁÓWKU STRONY LUB BLOGA

Komunikacja między klientem, a skryptem PHP, oraz operacje na plikach

Zajęcia 4 - Wprowadzenie do Javascript

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Dokumenty SEDU składają się z dwóch części: Opisu sprawy Formularza elektronicznego

MVC w praktyce tworzymy system artykułów. cz. 1

Zaawansowane aplikacje internetowe

Imię i Nazwisko Data Ocena. Laboratorium 7

Internetowe bazy danych

SMS Kod Automatyczny

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki

TECHNOLOGIE SIECI WEB

Politechnika Częstochowska. Projektowanie systemów użytkowych II

Podstawy technologii WWW

Rys.2.1. Drzewo modelu DOM [1]

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

FORMULARZE Formularz ma formę ankiety, którą można wypełnić na stronie. Taki formularz może być np. przesłany pocztą elektroniczną .

a) ile wynosiła populacja najbardziej i najmniej ludnego z województw (oraz jakie były ich nazwy)

Wykład 4. Specyfikacje XHTML, formularze

Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I

JQuery. $('#pierwszy').css('color','red').hide('slow').show(3000); $(document).ready(function() { //... tutaj nasze skrypty jquery //...

Kurs języka PHP dla początkujących. Ryszard Rogacz 2019

Programowanie CGI. Jolanta Bachan Informatyka

Wybrane działy Informatyki Stosowanej

Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Sierpień 2015 rozwiązanie plik: index.htlm

Transkrypt:

www.math.uni.lodz.pl/ radmat

Do dynamicznego generowania pliku PDF wykorzystamy klasę FPDF. Załóżmy, że mamy formularz składający się z jednolinijkowego pola tekstowego, z którego będziemy pobierać np. imię osoby i to imię będziemy chcieli wyświetlić w pliku PDF. Plik PHP pobierający tę informację i generujący wydruk może wyglądać następująco:

<?php require("fpdf/fpdf.php"); $imie=$_post[ imie ]; class PDF extends FPDF $pdf=new PDF(); $pdf->open(); $pdf->addpage(); $pdf->addfont( arial,, arialpl.php ); $pdf->setfont( arial, B,16); $pdf->write(20, Twoje imię: ); $pdf->ln(15); $pdf->write(20,$imie); ob_end_clean(); $pdf->output();?>

Ćwiczenie 1 Proszę napisać stronę internetową kurs online, która będzie umożliwiała rozwiązanie testu i w przypadku jego zaliczenia wygenerowanie imiennego pliku PDF potwierdzającego zaliczenie testu. Na pierwszej stronie proszę umieścić formularz, z którego zapiszą Państwo do bazy danych imię, nazwisko i miejsce pracy / instytucję osoby rozwiązującej test. Po podaniu tych informacji proszę wyświetlić test składający się z pięciu pytań. Do każdego pytania proszę napisać po trzy odpowiedzi (tylko jedna poprawna dla każdego pytania). Odpowiedzi proszę pobierać z pól jednokrotnego wyboru. Przy każdej odpowiedzi proszę zliczać liczbę punktów. Po ukończeniu testu liczbę zdobytych punktów proszę zapisywać w bazie danych (oczywiście dla osoby rozwiązującej test!). Jeśli osoba rozwiązująca test uzyska minimum 80%, to wówczas należy wygenerować plik PDF, będący certyfikatem jego ukończenia. W dynamicznie generowanym pliku proszę wypisać dane osoby, która zdała test oraz procent uzyskanych punktów.

Uwaga! Poniższy przykład pokazuje logikę działania aplikacji dla jednego pytania. Państwa zadanie polega na dopisaniu kodu, który umożliwi wykonanie ćwiczenia zgodnego z powyższym opisem.

Plik index.html <html> <form action="test.php"> Podaj swoje dane:<br><br> Podaj swoje imię: <input type="text" name="imie"> <br><br>podaj swoje nazwisko: <input type="text" name="nazwisko"> <br><br>podaj nazwę instytucji: <input type="text" name="instytucja"> <br><br><input type="submit" value="zarejestruj i przejdź do testu"> </form> </html>

Plik test.php <?php $imie=$_post["imie"]; $nazwisko=$_post["nazwisko"]; $instytucja=$_post["instytucja"]; error_reporting(0); $polaczenie=mysql_connect("localhost","root","") or die("w tej chwili nie można się połączyć z bazą"); mysql_query("set NAMES utf8 "); mysql_select_db("test",$polaczenie); $sql="insert INTO osoba (imie, nazwisko, instytucja) VALUES ( $imie, $nazwisko, $instytucja )"; mysql_query($sql); mysql_close($polaczenie);

echo "Rozwiąż test<br><br>"; echo "<form action= wyniki.php method= post >"; echo "1. Jaki znacznik definiuje wiersz w tabeli HTML?<br>"; echo "<input type= radio name= pytanie1 value= odp1 id= odp1 >"; echo "TD<br>"; echo "<input type= radio name= pytanie1 value= odp2 id= odp2 >"; echo "TR<br>"; echo "<input type= radio name= pytanie1 value= odp3 id= odp3 >"; echo "BR<br>"; echo "<input type= submit value= Zobacz wyniki >"; echo "</form>"; mysql_close($polaczenie);?>

Plik wyniki.php <?php require("fpdf/fpdf.php"); $odp=$_post["pytanie1"]; $punkty=0; if($odp=="odp2") $punkty=$punkty+1; else $punkty=0;

if($punkty==1) error_reporting(0); $polaczenie=mysql_connect("localhost","root","") or die("w tej chwili nie można się połączyć z bazą"); mysql_query("set NAMES utf8 "); mysql_select_db("test",$polaczenie); $sql="select MAX(id) AS id FROM osoba"; $wynik_id=mysql_query($sql); $linia=mysql_fetch_assoc($wynik_id); $id=$linia[ id ]; $sql="update osoba SET punkty=$punkty WHERE id=$id"; mysql_query($sql);

$sql="select imie, nazwisko, instytucja, punkty FROM osoba ORDER BY ID DESC LIMIT 1"; $wynik=mysql_query($sql); $linia=mysql_fetch_assoc($wynik); $imie=$linia[ imie ]; $nazwisko=$linia[ nazwisko ]; $punkty=$linia[ punkty ]; $procent=$punkty*100; mysql_close($polaczenie);

class PDF extends FPDF function Header() $this->image( logo.png,15,35,30); $this->setfont( arial, B,20); $this->cell(200,50, Certyfikat ukończenia testu,0,0, C ); function Footer() $this->sety(-50); $this->setfont( arial,,10); $this->cell(1); $this->cell(0,0, Certyfikat nadała firma RM,0,0, C );

$pdf=new PDF(); $pdf->open(); $pdf->addpage(); $pdf->addfont( arial,, arialpl.php ); $pdf->setfont( arial, B,16); $pdf->ln(30); $pdf->write(20, Niniejszym zaświadcza się, że Pani / Pan ); $pdf->ln(15); $pdf->write(20,$imie..$nazwisko); $pdf->ln(15); $pdf->write(20, ukończył(a) test z wynikiem ); $pdf->ln(15); $pdf->write(20,$procent. %. ); ob_end_clean(); $pdf->output();

else echo "Niestety nie ukończyłeś testu.";?>

Baner zależny od pory dnia <?PHP function wybierzbaner() $godzina=date("g"); if($godzina>=12 && $godzina<13) return("banner1.gif"); else if($godzina>=13 && $godzina<14) return("banner2.gif"); $str="<img src= ".wybierzbaner()." >"; echo($str);?>