SSK - Techniki Internetowe



Podobne dokumenty
Obiektowe bazy danych

Formularze w PHP dla początkujących

Dokonaj analizy poniŝszego kodu i na jego podstawie wyświetl w oknie przeglądarki swoje Imię oraz Nazwisko przy uŝyciu instrukcji echo i print

Formularze HTML. dr Radosław Matusik. radmat

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

Podstawy JavaScript ćwiczenia

Wprowadzenie do Internetu Zajęcia 5

Zaawansowane aplikacje internetowe

Umieszczanie kodu. kod skryptu

Laboratorium 1 Wprowadzenie do PHP

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

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Aplikacje WWW - laboratorium

Michał Bielecki, KNI 'BIOS'

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

Aplikacje WWW - laboratorium

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

14. POZOSTAŁE CIEKAWE FUNKCJE

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

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

Lekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ;

PHP w-3. Sterowanie w PHP

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

Pętle. Dodał Administrator niedziela, 14 marzec :27

Podstawy języka PHP. Umieszczanie skryptu na stronie

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Wykład 03 JavaScript. Michał Drabik

Technologie informacyjne lab. 4

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Dokument hipertekstowy

Personal Home Page PHP: Hypertext Preprocessor

Zajęcia 4 - Wprowadzenie do Javascript

Aplikacje WWW - laboratorium

Bazy Danych i Usługi Sieciowe

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

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Aplikacje internetowe - laboratorium

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Aplikacje WWW - laboratorium

ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

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

JavaScript - wykład 4. Zdarzenia i formularze. Obsługa zdarzeń. Zdarzenia. Mysz. Logiczne. Klawiatura. Beata Pańczyk

SIECI KOMPUTEROWE I BAZY DANYCH

INSTALACJA I KONFIGURACJA SERWERA PHP.

Ćwiczenie 7 - Formularze

Być może jesteś doświadczonym programistą, biegle programujesz w Javie,

Cw.12 JAVAScript w dokumentach HTML

PHP5. Praktyczny kurs

Aplikacje WWW - laboratorium

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: Tablice w PHP 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA

FORMULARZE. G. Przęczek

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Systemy internetowe Wykład 3 PHP

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Funkcje i instrukcje języka JavaScript

Systemy operacyjne 11

1 Podstawy c++ w pigułce.

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Serwer WWW Apache. Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, , zakończony projekt

System operacyjny Linux

Metody numeryczne Laboratorium 2

Programowanie internetowe

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

SIECI KOMPUTEROWE I BAZY DANYCH

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

JAVAScript w dokumentach HTML - przypomnienie

KaŜda instrukcja musi być zakończona średnikiem ;!!!

Przekazywanie danych. Dane zewnętrzne mogą pochodzić z róŝnych źródeł:

JAVAScript w dokumentach HTML (2)

Podstawy programowania (wspólne dla JavaScript i PHP)

11. PROFESJONALNE ZABEZPIECZENIE HASŁEM

Zajęcia 10 obsługa formularzy w PHP

Format HTML. Wybrane działy Informatyki Stosowanej. Definicja i przeznaczenie Struktura dokumentu Znaczniki Formularze i komponenty

Zajęcia 13 wykorzystanie MySQL w PHP cz. 2

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

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

Przykładowa integracja systemu Transferuj.pl

Pętla for. Wynik działania programu:

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Języki skryptowe w programie Plans

CZYM JEST JAVASCRIPT?

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)

Aplikacje WWW - laboratorium

Co to jest PHP

Programowanie internetowe

Podstawy Programowania C++

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Podstawy programowania (PHP/Java)

Autor: Joanna Karwowska

JAVAScript w dokumentach HTML (1)

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

Krótki kurs JavaScript

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

II. Programowanie wsadowe DOS/Windows

Aplikacje WWW - laboratorium

Transkrypt:

SSK - Techniki Internetowe Ćwiczenie 2. Obsługa formularzy. Operatory, instrukcje warunkowe oraz instrukcje pętli w PHP. Obsługa formularzy Skryptu PHP moŝna uŝyć do obsługi formularza HTML. Aby tego dokonać, formularz ten naleŝy najpierw odpowiednio przygotować. W parametrze ACTION znacznika FORM naleŝy podać adres dokumentu PHP mającego obsłuŝyć dany formularz. Parametr METHOD moŝe mieć wartość POST lub GET - obydwie metody są obsługiwane przez PHP. Jednak naleŝy pamiętać, Ŝe formularze wysyłane przez GET mają ograniczoną długość. Prosty przykład : skrypt1.html <HTML> <HEAD> <TITLE> Strona z formularzem obsługiwanym przez PHP</TITLE> <META HTTP-EQUIV="content-type" CONTENT="text/html; CHARSET=iso-8859-2"> </HEAD> <BODY> <FORM ACTION=skrypt2.php METHOD=POST> Podaj swoje imię: <INPUT TYPE=TEXT SIZE=20 NAME=imie> </FORM> </BODY> </HTML> skrypt2.php print("witaj, $imie!"); Strona 1

Obsługa bardziej złoŝonych formularzy zademonstrowana zostanie w skryptach 5. oraz 6. naszego ćwiczenia. Instrukcje warunkowe: if, if if oraz switch - case Niekiedy chcemy, aby dany fragment kodu wykonywał się warunkowo. Stosuje się wówczas na przykład instrukcję if: if($a>$b) echo("$a jest większe od $b"); JeŜeli wartość $a jest większa od $b, wyświetli się napis "$a jest większe od $b". Warunek po if jest spełniony, jeŝeli wyraŝenie w nawiasie ma wartość róŝną od zera. Instrukcja if moŝe być rozszerzona o słowo kluczowe bądź if. Inną instrukcją warunkową, takŝe znaną z języka C, jest tzw. instrukcja wyboru switch. W poniŝszym przykładzie do obsługi formularza zawartego w pliku skrypt3.html wykorzystano kolejno skrypty: skrypt4a.php, skrypt4b.php oraz skrypt4c.php. Ich działanie jest jednakowe, jednak zastosowano w nich róŝne instrukcje warunkowe. Proszę przeanalizować działanie skryptów oraz składnię poszczególnych instrukcji. skrypt3.html <HTML> <HEAD> <TITLE> Test </TITLE> <META HTTP-EQUIV="content-type" CONTENT="text/html; CHARSET=iso-8859-2"> </HEAD> <BODY> <FORM ACTION=skrypt4a.php METHOD=POST> Podaj swój wiek: <INPUT TYPE=TEXT SIZE=3 NAME=wiek> </FORM> </BODY> </HTML> skrypt4a.php if($wiek>=65) echo("witaj, emerycie!"); if ($wiek<65&&$wiek>35) echo("wspaniały wiek produkcyjny!"); Strona 2

echo("oszczędzaj się. <BR>"); echo("jeszcze się napracujesz!"); skrypt4b.php if($wiek>=65) echo("witaj, emerycie!"); if ($wiek<65 && $wiek>35) echo("wspaniały wiek produkcyjny!"); echo("oszczędzaj się. <BR>"); echo("jeszcze się napracujesz!"); skrypt4c.php switch($wiek) case $wiek >= 65 : echo("witaj, emerycie!"); break; case $wiek < 35 : echo("oszczędzaj się. <BR>"); echo("jeszcze się napracujesz!"); break; default: echo("wspaniały wiek produkcyjny!"); Strona 3

Instrukcje pętli: while, do while, for oraz foreach Aby dany fragment kodu wykonać wielokrotnie, stosuje się pętle. PHP obsługuje cztery rodzaje pętli: while, do while, for oraz foreach. Składnia trzech pierwszych jest identyczna, jak składnia odpowiednich pętli języka C. Najprostszą z nich jest pętla while: $a=0; while($a<5) echo("$a "); W pętli while najpierw sprawdzany jest warunek (w tym wypadku $a<5). JeŜeli jest on spełniony, pętla wykonuje się i wraca do sprawdzenia warunku. JeŜeli warunek nie jest spełniony, wykonanie pętli kończy się. PowyŜszy skrypt wyświetli zatem liczby od 0 do 4. Instrukcja do - while róŝni się od instrukcji while tym, Ŝe najpierw wykonuje się pętla, a dopiero potem sprawdzany jest warunek. Oznacza to, Ŝe pętla zawsze wykona się co najmniej jeden raz. RóŜnica będzie widoczna np. w poniŝszym przykładzie: $a=6; do echo("$a "); while($a<5); /* ta pętla wykona się 1 raz */ oraz $a=6; while($a<5) echo("$a "); /* instrukcje w tej pętli nie zostaną wykonane */ Z kolei pętla for ma następującą składnię: for($a=0;$a<5;$a++) echo("$a "); Odpowiada to następującemu wykonaniu pętli while: Strona 4

$a=0; while($a<5) echo($a); MoŜna to teŝ zapisać w następujący sposób: for($a=0;$a<5;echo("$a "), $a++); Wykonanie pętli moŝna w kaŝdym momencie zakończyć. SłuŜy do tego instrukcja break: $a=0; while($a<10) if($a==3) break; Ta pętla nie wykona się 10 razy - gdy zmienna $a osiągnie wartość 3, wykonanie pętli zostanie przerwane. MoŜna teŝ przejść do następnego powtórzenia - słuŝy do tego instrukcja continue: $a=0; while($a<10) if($a==3) continue; echo("aaa"); // ta instrukcja wykona się tylko gdy $a nie // jest równe 3 Specyficzną instrukcją pętli języka PHP jest pętla foreach. Pętle tę stosujemy do obsługi tablic o nieznanej ilości elementów. Pętla ta przebiega po wszystkich elementach takiej tablicy. Posiada ona dwa formaty: foreach($nazwatablicy As $ElementTablicy) instrukcjie oraz: foreach($nazwatablicy As $IndeksTablicy => $ElementTabllicy) instrukcje Strona 5

Pierwsza postać pętli przebiega po podanej tablicy i w kaŝdym przebiegu wartość bieŝącego elementu jest przypisywana zmiennej $ElementTablicy, zaś wskaźnik bieŝącego elementu tablicy jest przesuwany. Druga postać róŝni się tylko tym, Ŝe do zmiennej $IndeksTablicy jest przypisywany bieŝący indeks elementu. Przykład zastosowania drugiego rodzaju pętli foreach: $kraje = array("pl" => "Polska", "de"=> "Niemcy", "uk"=> "Wielka Brytania"); foreach($kraje As $domena => $wartosc) echo "$wartosc: domena \"$domena\" <br>"; W wyniku tego programu zostanie wyświetlona (krótka) lista krajów i odpowiadających im domen. Operatory Większość operatorów w PHP to konstrukcje bardzo zbliŝone do odpowiednich operatorów języka C. Z tego względu wymienimy tylko niektóre operatory, specyficzne dla PHP: Operator identyczności: $a === $b Wartość: True, jeŝeli $a jest równe $b i są one tych samych typów Operator wykonania oznaczamy znakiem ` (jest to znak umieszczony na tym samym klawiszu co znak tyldy). WyraŜenie otoczone tymi znakami jest wykonywane na serwerze, zaś zwracana wartość przypisywana zmiennej. Przykładowo, aby przypisać zmiennej $list zawartość katalogu bieŝącego (na serwerze), moŝemy wykonać polecenie: $list = `ls -l`; Operator kontroli błędów oznaczamy znakiem @. Umieszczenie tego operatora przed wyraŝeniem powoduje, Ŝe błędy nie są wyświetlane w oknie przeglądarki lecz zapamiętane zostaną w zmiennej globalnej $php_errormsg. NaleŜy jednak pamiętać, Ŝe zmienna ta jest nadpisywana przez kolejne błędy. Do prawidłowego uŝycia tego operatora konieczna jest uaktywniona na serwerze opcja track_errors. Celem działania kolejnych dwóch skryptów jest obliczenie, w oparciu o datę podaną przez uŝytkownika w formularzu, kolejnego numeru dnia w roku, bądź liczby dni, jakie pozostały do końca roku. Domyślnie w oknach formularza wyświetlana jest bieŝąca Strona 6

data systemowa. W skryptach tych zaprezentowano m.in. działanie niektórych z operatorów języka PHP, oraz instrukcje pętli. skrypt5.php <HTML> <HEAD> <TITLE> Obliczanie dnia roku</title> <META HTTP-EQUIV="content-type" CONTENT="text/html; CHARSET=iso-8859-2"> </HEAD> <BODY> <FORM ACTION=skrypt6.php METHOD=POST> <B>Podaj datę:</b> <BR> <TABLE CELLSPACING=20> <TR> <TD> Dzień: <INPUT TYPE=TEXT SIZE=2 NAME=Dzien VALUE= <? echo(date("j")); > <TD> Miesiąc: <SELECT NAME="Miesiac" SIZE=1> <? $miesiace=array("styczeń","luty","marzec","kwiecień","maj","czerwiec", "Lipiec","Sierpień","Wrzesień","PaŜdziernik","Listopad","Grudzień"); for($i=0;$i<=11;$i++) echo ("<OPTION "); if (date("n")==$i+1) echo("selected "); echo("value=$i> $miesiace[$i] </OPTION> \n"); </SELECT> <TD> Rok: <INPUT TYPE=TEXT SIZE=4 NAME=Rok VALUE=<? echo(date("y")); > </TR> <TR> <TD> Policz, ile dni:<br> <INPUT TYPE=RADIO NAME=jak VALUE=pocz CHECKED> minęło od początku roku<br> <INPUT TYPE=RADIO NAME=jak VALUE=konc > pozostało do końca roku </TR> <TR> <TD> <INPUT TYPE=CHECKBOX CHECKED NAME=mail> Prześlij na adres e-mail: <TD> <INPUT TYPE=TEXT SIZE=30 NAME=adres VALUE="konto@elektra.weia.po.opole.pl"> Strona 7

</TR> <TR> <TD> <INPUT TYPE=SUBMIT VALUE="Wyślij"> <INPUT TYPE=RESET VALUE="Wyczyść"> </TR> </TABLE> </FORM> </BODY> </HTML> skrypt6.php // funkcja obliczająca numer kolejny dnia w roku function DzienRoku( $Rok, $Miesiac, $Dzien ) if ($Rok%4 == 0 && $Rok%100!=0 $Rok%400 == 0) $Przestepny = 1; // rok przestępny $Przestepny = 0; // rok zwykły $TablicaDni = array(31,28+$przestepny,31,30,31,30,31,31,30,31,30,31); for ($i=0;$i<$miesiac;$i++) $Dzien+=$TablicaDni[$i]; return $Dzien; // program główny if ($jak=="pocz") $ile = DzienRoku($Rok, $Miesiac, $Dzien); $Miesiac+=1; $tresc = "$Dzien.$Miesiac.$Rok to $ile. kolejny dzień roku $Rok."; $ile = DzienRoku($Rok, 11, 31) - DzienRoku($Rok, $Miesiac, $Dzien); $Miesiac+=1; $tresc = "Od dnia $Dzien.$Miesiac.$Rok do końca roku $Rok pozostało $ile dni."; print($tresc); if ($mail=="on") mail($adres,"waŝna Informacja",$tresc); Strona 8

Przetestować działanie skryptów oraz przeanalizować ich składnię, w szczególności zaś: - sposób wpisu do elementów formularza bieŝącej daty systemowej (funkcja PHP date() ), - sposób wygenerowania przez PHP elementów listy rozwijalnej z nazwami kolejnych miesięcy roku, - sposób sprawdzenia przez funkcję DzienRoku, czy dany rok jest rokiem przestępnym: dany rok jest przestępny, jeśli jego liczba jest podzielna przez 4, z wyjątkiem lat podzielnych przez 100, jednak lata podzielne przez 400 są latami takŝe latami przęstepnymi. Zapoznać się z zastosowanymi tam operatorami. - sposób odczytu wartości poszczególnych pól formularza przez skrypt PHP. Spróbować samodzielnie zmodyfikować skrypty, np. w następujący sposób: - zastąpić instrukcję pętli for instrukcją pętli while, a następnie instrukcją pętli do - while, w sposób równowaŝny działaniu pętli for, - wprowadzić zabezpieczenie przed podaniem przez uŝytkownika złej wartości dnia miesiąca skrypt powinien wtedy wyświetlić informację o błędzie. Na zakończenie: Spróbować napisać dwa skrypty, które będą wykonywać zadanie odwrotne do powyŝszego: na podstawie podanego przez uŝytkownika w oknie tekstowym dnia kolejnego roku oraz roku, skrypt powinien wyświetlać odpowiadającą mu datę (dzień/miesiąc/rok). Strona 9