LABORATORIUM 0 INSTALACJA I KONFIGURACJA SERWERA PHP. W celu poprawnego wykonywania zadań na laboratorium konieczne jest zainstalowanie na komputerze wyposażonym w system operacyjny Windows następujących programów: o o o o serwer WWW Apache (interpreter PHP), Bazę danych MySQL, interfejs PHPMyAdmin (zarządzanie bazą danych), inne Wszystkie powyższe programy dla środowiska Windows zawarte są w pliku: xampp-win32-1.7.7-vc9-installer.exe Istnieją także wersje serwera PHP na inne systemy operacyjne np Linux. Instalacja pakietu przebiega automatycznie i nie wymaga od użytkownika zaawansowanej wiedzy. Uruchamiamy pakiet xampp-win32-1.7.7-vc9-installer.exe Tutaj możemy wybrać tylko angielski i OK. T. Szymczyk 2012 1
2 x NEXT i i install T. Szymczyk 2012 2
czekamy cierpliwie... zainstalowało się! i co dalej? T. Szymczyk 2012 3
Uruchamiamy WWW Apache (Start Apache).!!!UWAGA!!! serwer Apache wyłączamy poprzez: STOP APACHE!!! Uruchamiamy przeglądarkę internetową z adresem : http://localhost/ nazwa pliku.php lub: http://127.0.0.1/ nazwa pliku.php T. Szymczyk 2012 4
LABORATORIUM 1 ZANIM ZACZNIEMY Proszę otworzyć dwa okna przeglądarki np. Mozilla. W pierwszym oknie proszę wpisać adres: http://helion.pl/zegar/index.php W drugim oknie proszę wpisać adres : http://helion.pl/zegar/index.htm Podejrzyj kody stron WWW (prawy klawisz myszy pokaż źródło strony ) Czym różnią się te dwie strony? W celu korzystania z PHP PAMIĘTAJ należy najpierw uruchomi server Apache: Po instalacji Xampp odnajdujemy katalog : C:\Xampp\htdocs tutaj umieszczane mają być pliki.php. W przypadku zapisania pliku Z1.php uruchomienie jego zawartości odbywa się poprzez wpisanie w oknie adresu przeglądarki http://localhost/z1.php Przepisz do oddzielnych plików poniższe kody, następnie przeanalizuj ich zawartość, co powinny wykonać a następnie proszę o ich uruchomienie w przeglądarce. T. Szymczyk 2012 5
KOD 1 <?php $s="we Will rock YOU"; $s=ucwords ($s); echo($s); KOD 2 <?php $num1 = '23.32'; if (is_float ($num1) is_int ($num1)) { print '$num1 jest liczbą'; } elseif (is_numeric ($num1)) { print '$num1 może nie być liczbą, ale jej zawartość składa się z liczb'; } else { print '$num1 nie jest ani liczbą, ani łańcuchem liczbowym'; } T. Szymczyk 2012 6
KOD 3 <?php $x = 10; $y = 20; for ($i = $x; $i <= $y; $i++) { // $i będzie miała wartość kolejnych liczb całkowitych od $x do $y print "$i\n"; } KOD 4 <html> <title>iloraz dwoch liczb</title> <?php if (!empty($_get)) { $a = (int) $_GET[a]; $b = (int) $_GET[b]; ($b == 0)? $wynik = 'Nie wolno dzielić przez 0' : $wynik = 'Iloraz liczb wynosi : '.round($a/$b, 2); echo $wynik; } <body> T. Szymczyk 2012 7
<form action="<?= $_SERVER['REQUEST_URI']; " method="get"> <input type="number" name="a" min="1" required="required" /> / <input type="number" name="b" min="1" required="required" /> <input type="submit" value="oblicz"> </form> </body> </html> T. Szymczyk 2012 8
PODSTAWY PHP Proszę przepisać poniższy skrypt. Umieścić go w katalogu htdocs, nadać mu nawę index1.php i, zastanowić się co zrobi skrypt a następnie uruchomić. <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2"> <TITLE>Moje imię i nazwisko</title> </HEAD> <BODY> <? // Imię i nazwisko, zapamiętujemy w zmiennych // a następnie wypisujemy funkcją print. $imie = Jan'; $nazwisko = "Kowalski"; print ("Nazywam się ". $imie. " ". $nazwisko); </BODY> </HTML>! Skrypt zawiera drobny błąd jaki? Proszę zauważyć, że w pierwszym skrypcie użyliśmy już zmiennych: $nazwisko; $imie oraz prostej funkcji wyświetlającej print(). PRZYKŁAD POŁĄCZENIA XHTML Z PHP: T. Szymczyk 2012 9
<?xml version="1.0" encoding="iso-8859-2" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" /> <meta name="description" content=" [wstaw tu opis strony] " /> <meta name="keywords" content=" [wstaw tu slowa kluczowe] " /> <meta name="author" content=" [dane autora] " /> <meta name="generator" content="ked" /> <title> [tytuł strony] </title> <link rel="stylesheet" href=" [nazwa_arkusza_stylow.css] " type="text/css" /> </head> <body> <TABLE> <TR><TH>Liczba</TH><TH>Pierwiastek</TH><TH>Kwadrat</TH><TH>Szescian</TH></TR> <? for ($i = 1; $i <= 10; $i++) { } $sqrt = sqrt($i); $sqr = $i*$i; $cub = $sqr * $i; print "<TR><TD>$i</TD><TD>$sqrt</TD><TD>$sqr</TD><TD>$cub</TD></TR>\n"; </TABLE> </body> </html> T. Szymczyk 2012 10
PRZYKŁAD 2 : Napisz program, który wyświetli liczby z przedziału 1 do 10, obok liczby wypisze jej pierwiastek oraz jej kwadrat i sześcian. Wykorzystaj pętlę FOR. <html> <head> <title>title here!</title> </head> <body bgcolor="lightgreen"> <TABLE border="1" align="center"> <TR><TD>Liczba</TD><TD>Pierwiastek</TD> <TD>Kwadrat</TD><TD>Szescian</TD></TR> <? for ($i = 1; $i <= 10; $i++) { $sqrt = sqrt($i); $sqr = $i*$i; $cub = $sqr * $i; print "<TR><TD>$i</TD><TD>$sqrt</TD> <TD>$sqr</TD><TD>$cub</TD></TR>\n"; } </TABLE> </body> </html> Strona serwera *.php <html> <head> <title>title here!</title> </head> <body bgcolor="lightgreen"> <TABLE border="1" align="center"> <TR><TD>Liczba</TD><TD>Pierwiastek</TD> <TD>Kwadrat</TD><TD>Szescian</TD></TR> <TR><TD>1</TD><TD>1</TD><TD>1</TD> <TD>1</TD></TR> <TR><TD>2</TD><TD>1.4142135623731</TD><TD>4</TD> <TD>8</TD></TR> <TR><TD>3</TD><TD>1.7320508075689</TD><TD>9</TD> <TD>27</TD></TR> <TR><TD>4</TD><TD>2</TD><TD>16</TD><TD>64</TD></TR> <TR><TD>5</TD><TD>2.2360679774998</TD><TD>25</TD> <TD>125</TD></TR> <TR><TD>6</TD><TD>2.4494897427832</TD><TD>36</TD> <TD>216</TD></TR> <TR><TD>7</TD><TD>2.6457513110646</TD><TD>49</TD> <TD>343</TD></TR> <TR><TD>8</TD><TD>2.8284271247462</TD><TD>64</TD> <TD>512</TD></TR> <TR><TD>9</TD><TD>3</TD><TD>81</TD><TD>729 </TD></TR><TR><TD>10</TD><TD>3.1622776601684</TD> <TD>100</TD><TD>1000</TD></TR> </TABLE> </body> </html> Strona klienta *.htm T. Szymczyk 2012 11
Wynik działania ZADANIE 1.1 Napisz program, który wyświetli wartość podatku od dochodu 5000 PLN. Użyj następujących stałych KWOTA_DO_ODJECIA =436.20 STAWKA_PODATKOWA =0.19 Proszę posłużyć się wzorem : Wartość_Podatku=5000 * STAWKA_PODATKOWA - KWOTA_DO_ODJECIA Wykorzystaj funkcje : define ("stała",wartość z. np. 0.19); // czyli 19% printf ("formatwy świetlania np. %0.2f", (wartość wyświetlana)); T. Szymczyk 2012 12
ZADANIE 1.2 Napisz program, który wyświetli większą wartość zadanych dwóch liczb. W przypadku kiedy liczby będą sobie równe zgłosi stosowny komunikat. Wykorzystaj instrukcję warunkową IF..else. zmienne mają nazywać się odpowiednio: a i b. T. Szymczyk 2012 13