Sieci Komputerowe i Technologie Internetowe (SKiTI)

Podobne dokumenty
Umieszczanie kodu. kod skryptu

Internetowe bazy danych

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

Należy ściągnąć oprogramowanie Apache na platformę

Bazy Danych i Usługi Sieciowe

Oczywiście plik musi mieć rozszerzenie *.php

Systemy internetowe Wykład 3 PHP

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

Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft );

1 Podstawy c++ w pigułce.

Podstawy programowania skrót z wykładów:

Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak:

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

Personal Home Page PHP: Hypertext Preprocessor

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

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

Zmienne i stałe w PHP

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

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

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

Programowanie internetowe

Języki skryptowe w programie Plans

1 Podstawy c++ w pigułce.

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Podstawy Programowania C++

PHP: bloki kodu, tablice, obiekty i formularze

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

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

Michał Bielecki, KNI 'BIOS'

SSK - Techniki Internetowe

Podstawy JavaScript ćwiczenia

Powtórka algorytmów. Wprowadzenie do języka Java.

APLIKACJE INTERNETOWE 5 PHP W P R O W A D Z E N I E D O P R O G R A M O W A N I A

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

ZMIENNE. Podstawy PHP

Zmienne, stałe i operatory

Wybrane działy Informatyki Stosowanej

Programowanie obiektowe

LibreOffice Calc VBA

PHP. PHP: Hypertext Preprocessor. mgr inż. Remigiusz Pokrzywiński

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

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

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Funkcje i instrukcje języka JavaScript

Powtórka algorytmów. Wprowadzenie do języka Java.

Języki programowania wysokiego poziomu. PHP cz.1.

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Laboratorium 1 Wprowadzenie do PHP

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

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

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

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Zajęcia 4 - Wprowadzenie do Javascript

Tworzenie Stron Internetowych. odcinek 10

Bazy danych i strony WWW

Wprowadzenie do Internetu Zajęcia 5

Cw.12 JAVAScript w dokumentach HTML

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

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ć

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Obiektowe bazy danych

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

do drukowania tekstu służy funkcja echo <?php echo "hello world!";?> jeżeli użyjemy jej kilka razy: <?php

Podstawy Programowania Podstawowa składnia języka C++

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

CZYM JEST JAVASCRIPT?

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

XML extensible Markup Language. część 5

Podstawy i języki programowania

Aplikacje WWW - laboratorium

Imię, nazwisko i tytuł/stopień KOORDYNATORA (-ÓW) kursu/przedmiotu zatwierdzającego protokoły w systemie USOS Dr Adam Naumowicz

Struktura pliku projektu Console Application

Kurs PHP. Literatura. Zagadnienia: Wprowadzenie

Programowanie w języku Python. Grażyna Koba

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Podstawy programowania w języku C

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

Wykład 03 JavaScript. Michał Drabik

Bazy Danych i Usługi Sieciowe

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

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

PHP w-3. Sterowanie w PHP

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

JAVAScript w dokumentach HTML (1)

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Dlaczego PHP? - zalety

ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP

Krótki kurs JavaScript

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Języki programowania zasady ich tworzenia

Transkrypt:

Sieci Komputerowe i Technologie Internetowe (SKiTI) Wykład 13: Szybkie wprowadzenie do PHP SKiTI2017 WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok I, semestr II dr inż. Tomasz Rutkowski 2017

Technologie WWW Podstawowe grupy technologii WWW: Generacji (ang. Server-Side) dynamiczne tworzenie, generowanie przez serwer zawartości strony WWW w zależności od różnych czynników, m.in. wymagań użytkownika (proces generacji odbywa się po stronie serwera) Prezentacji (ang. Client-Side) przedstawienie wygenerowanej przez serwer treści strony WWW w zrozumiałej, logicznej i atrakcyjnej dla użytkownika postaci (proces prezentacji odbywa się po stronie klienta przeglądarka internetowa)

Technologie Server-Side Side Przykłady technologii generacji: CGI (ang. Common Gateway Interface) SSI (ang. Server Side Include) ASP (ang. Active Server Pages) ISAPI (ang. Internet Server API) / NSAPI (ang. Netscape Server API) PHP (ang. Personal Home Page) JSP (ang. Java Server Pages) Servlety Serwery aplikacji

Technologie Client-Side Przykłady technologii prezentacji: (X)HTML CSS (ang. Cascade Style Sheet) JavaScript, JScript, VBScript Aplety Javy Shockwave, Flash AJAX (ang. Asynchronous JavaScript and XML) X3D WML (ang. Wireless Markup Language) RSS (ang. Really Simple Syndication ) / Atom

Czym jest PHP? PHP jest jednym z wielu języków programowania, które umożliwiają szybkie tworzenie dynamicznych stron internetowych PHP jest projektem otwartym, co oznacza, że aby go używać, wystarczy pobrać źródła lub binaria PHP jest ściśle powiązany z językiem HTML i protokołem HTTP Składnią PHP jest zbliżony do C/C++ 5

Czym jest PHP? Programista PHP nie musi sprawdzać poprawności typów zmiennych, czy przejmować się przydzielaniem dla nich pamięci itp. PHP ma wbudowaną obsługę wielu popularnych baz danych W Internecie można znaleźć wiele funkcjonalnych bibliotek i skryptów PHP 6

Czym jest PHP? PHP jest językiem interpretowalnym kod skryptu PHP osadzany jest w dokumencie HTML w momencie uruchomienia strony (zazwyczaj z rozszerzeniem.php,.php4 lub.php5) kod PHP wykonywany jest przez specjalny program (interpreter/parserparser ) po stronie serwera wynik działania interpretera/parseraparsera zwracany jest w postaci tekstu zawartego w dokumencie HTML, który można analizować po stronie klienta 7

Trochę Historii Historia PHP 1995r.: duński programista Rasmus Lerdorf udostępnił pierwszą wersję PHP, rozpowszechnianą pod nazwą PHP/FI (Personal Home Page/Forms Interpreter) 1998r.: izraelscy programiści Zeev Suraski i Andi Gutmans przepisali kod PHP, efektem prowadzonych prac jest następca PHP/FI - PHP 3.0 2000r.: na bazie stworzonego nowego silnika języka PHP (Zend Engine) wydane zostaje PHP 4 2004r.: ukazuje się stabilna wersja PHP 5 modernizacji poddano silnik Zend, efektem czego było dodanie do PHP nowego modelu programowania obiektowego 2005r.: rozpoczęcie prac nad PHP 6 wsparcie unicode, usprawnienie modelu obiektowego -> zawieszona w 2010: 5.4 8

Trochę Historii Historia PHP Od 2014 roku trwały prace nad PHPNG (PHP Next Generation) związane z optymalizacją wydajności Zend Engine, zachowując zgodność języka wstecz (inaczej niż w PHP 6), które skończyły się wersją PHP 7 w 2017 roku. Ostatnia stabilna wersja PHP 7.1 (7.1.4) (kwiecień 2017) PHP funkcjonuje pod następującymi nazwami: Hypertext Preprocesor Personal Home Page Więcej szczegółowych informacji o PHP na stronie: http://www.php.net 9

PHP w praktyce - podstawowe definicje - Opis języka PHP: http://php.net/manual/pl/langref.php 10

Składnia PHP PHP składniowo jest podobny do C, Perla i Javy. Istnieją specjalne znaczniki ograniczające bloki PHP. Preprocesor PHP wykonuje cały kod zawarty pomiędzy znacznikami: <?php i?> (zalecane), lub <? oraz?> (tzw. styl krótki), umieszczonymi w kodzie HTML i zwraca wynik w postaci tekstu. Instrukcje w PHP są oddzielone średnikiem. <?php echo "Witaj świecie!";?> 11

Składnia PHP: Komentarze Komentarze w PHP można oznaczać symbolami komentarzy pochodzącymi z C, C++ lub stosowanych w skryptach Uniksa. Komentarze jednoliniowe komentują tekst do końca linii lub do końca bieżącego bloku PHP w zależności od tego, co będzie pierwsze. Nie można zagłębiać wielowierszowych komentarzy w stylu C. <?php /* To jest wielowierszowy blok komentarza w stylu C */ echo "Witaj świecie!<br />"; // jednowierszowy komentarz w stylu C++ echo "Witamy ponownie.<br />"; # komentarz w stylu skryptów Uniksa?> 12

Przykład kodu PHP dokument na serwerze <html> <head> <title>prosty przykład kodu PHP</title> </head> <body> <?php echo "Witajcie w PHP!" ;?> </body> </html> Przykład działania kodu PHP dokument po stronie klienta <html> <head> <title>prosty przykład kodu PHP</title> </head> <body> Witajcie w PHP! </body> </html> 13

Przykład kodu PHP dokument na serwerze <html> <head> <title>prosty przykład kodu PHP</title> </head> <body> <?php echo "Witajcie w PHP!" ;?> </body> </html> Przykład działania kodu PHP dokument po stronie klienta <html> <head> <title>prosty przykład kodu PHP</title> </head> <body> Witajcie w PHP! </body> </html> 14

Składnia PHP: Zmienne Zmienna jest swego rodzaju pojemnikiem przechowującym pewną wartość (dane). Każda zmienna posiada własną, unikalną nazwę, która jednoznacznie ją identyfikuje. Zmienne PHP są oznaczane znakiem dolara ($), po którym następuje nazwa zmiennej (identyfikator). <?php $variable1 = 0; $variable2 = "dane";?> 15

Składnia PHP: Zmienne Wielkość liter w nazwach zmiennych jest rozróżniana. Prawidłowe nazwy zmiennych muszą zaczynać się literą lub znakiem podkreślenia, po których może nastąpić litera, liczba lub znak podkreślenia. Prawidłowymi literami w zmiennych są a-z, A-Z lub dowolne znaki ASCII z zakresu 127-255255 (0x7f-0xff). 0xff). <?php $variable1 = "Raz,"; $variable2 = " dwa."; echo "$variable1, $variable2<br />"; // wypisuje "Raz, dwa." $1variable = 123; // nieprawidłowa nazwa zmiennej $_test = "test"; // prawidłowo, rozpoczyna się podkreśleniem $_ąęć = "test2"; // prawidłowo?> 16

Składnia PHP: Stałe Podobnie jak zmienna przechowują pewną wartość, lecz jest ona przypisana jednorazowo i nie może być zmieniona w żadnym innym miejscu skryptu. Stałe definiujemy stosując funkcję define() (): <?php define ("MAX_NAME_LENGHT", 30); define("author_name", "Jan Kowalski"); echo AUTHOR_NAME;?> 17

Składnia PHP: Typy zmiennych PHP rozpoznaje następujące typy danych: Integer - stosowany dla liczb całkowitych, Float - stosowany dla liczb zmiennoprzecinkowych (rzeczywistych), String - stosowany dla ciągów znaków, Boolean - stosowany w przypadku wartości true lub false, Array - stosowany do przechowywania wielu wartości (tablice), Object - stosowany do przechowywania obiektów. 18

Składnia PHP: Typy zmiennych c.d. Typy w PHP są słabo zaznaczone. Typ zmiennej jest ustalany w oparciu o kontekst w jakim została ona użyta i nie jest on jawnie ustalany przez programistę (w przeciwieństwie do np. C). Aby można było zapanować nad typami, PHP posiada funkcje gettype() i settype() oraz kilka funkcji przeznaczonych dla określonych typów, np. is_integer() lub is_array() (). <?php $var1 = 0; //zmienna typu integer $var2 = 0.00; //zmienna typu float $var2 = 'tekst'; //zmienna $var2 jest teraz typu string?> 19

Składnia PHP: Typy zmiennych c.d. Liczby całkowite i zmiennoprzecinkowe Liczby całkowite można podawać używając notacji dziesiętnej, ósemkowej i szesnastkowej. Liczby zmiennoprzecinkowe można podawać używając notacji zwykłej lub zapisu naukowego. <?php $int1 = 523; // liczba dziesiętna $int2 = -523; // dziesiętna ujemna $int3 = 01013; // ósemkowa reprezentacja liczby 523 $int4 = 0x20B; // szesnastkowa reprezentacja liczby 523 $float1 = 523.197; // zwykły zapis liczby zmiennoprzecinkowej $float2 = 5.23197e2; // notacja naukowa liczby zmiennoprzecinkowej echo "$int1, $int2, $int3, $int4, $float1, $float2<br />" ; // Wyświetla "523, -523, 523, 523, 523.197, 523.197".?> 20

Składnia PHP: Typy zmiennych c.d. Ciągi Ciągi w PHP są ograniczane apostrofami (') lub cudzysłowami ("). Zapisy te różnią się sposobem interpretacji ciągu. Jeżeli ciąg jest otoczony cudzysłowami, zmienne zapisane w ciągu zostają zamienione na ich wartości. Aby zapisać znaki specjalne w ciągach otoczonych cudzysłowami, należy użyć znaku lewego ukośnika. Sekwencja znaków Znaczenie \n nowa linia \r powrót karetki (CR) \t tabulacja \\ lewy ukośnik \ cudzysłów \$ znak dolara 21

Składnia PHP: Typy zmiennych c.d. Ciągi c.d. W ciągach otoczonych apostrofami zmienne nie są zastępowane. Jedynymi dopuszczalnymi sekwencjami sterującymi są te oznaczające lewy ukośnik (\\) i apostrof (\'). Sekwencje te pozwalają na wpisanie do ciągu znaku apostrofu i lewego ukośnika. Ciągi mogą być łączone przy użyciu operatora kropki (.). <?php $var1 = "To jest zwykły ciąg."; $var2 = "Jan Kowalski"; $var3 = "Nazywam się $var2"; // $var3 = "Nazywam się Jan Kowalski" echo "$var3<br />"; $var4 = "Nazywam się \$var2"; // $var4 = "Nazywam się $var2" echo "$var4<br />"; $var5 = 'Nie rozwijaj \'$var2\''; // $var5 = "Nie rozwijaj $var2'" echo "$var5<br />"; echo "$var3". " i ". "$var4"; // wypisuje "Nazywam się Jan Kowalski i Nazywam się $var2"?> 22

Składnia PHP: Typy zmiennych c.d. Tablice Tablica w PHP jest uporządkowaną listą elementów przechowujących wartości. PHP obsługuje tablice indeksowane numerycznie oraz asocjacyjne. PHP pozwala również na tworzenie tablic wielowymiarowych. Tablice mogą być tworzone przy użyciu funkcji list() lub array() albo poprzez jawne podanie każdej z wartości. <?php // Jawne tworzenie prostej tablicy $a[0] = 'Kowalski'; $a[1] = 'Nowak'; $a[2] = 'Smith'; $a[3] = 'Brown'; echo( "$a[3], $a[2], $a[1], $a[0]<br />" );?> 23

Składnia PHP: Typy zmiennych c.d. Tablice c.d. <?php // Tworzenie tablicy asocjacyjnej $kolor['niebieski'] = "#0000FF"; $kolor['zielony'] = "#00FF00"; $kolor['czerwony'] = "#FF0000"; echo ("Wartość szesnastkowa koloru czerwonego wynosi". $kolor['czerwony']."<br />"); // korzystając z array(): $kolor = array( "niebieski" => '#0000FF', "zielony" => '#00FF00', "czerwony" => '#FF0000'); echo( "Wartość szesnastkowa koloru zielonego wynosi". $kolor['zielony']. "<br />" ); // Ręczne tworzenie tablicy wielowymiarowej $m[0][0] = "pierwszy wiersz, pierwsza kolumna"; $m[0][1] = "pierwszy wiersz, druga kolumna"; echo( "Wartością ". $m[0][1]. "jest". $m[0][1]. "<br />" );?> 24

Składnia PHP: Zasięg zmiennych Termin zasięg odnosi się do części skryptu, w której widoczna jest dana zmienna. Podstawowe typy zasięgów w PHP: zmienne superglobalne (widoczne w całym skrypcie), stałe, po zadeklarowaniu są widoczne globalnie, zmienne globalne zadeklarowane w skrypcie są widoczne w całym skrypcie, ale nie wewnątrz funkcji, zmienne używane w obrębie funkcji, zdeklarowane jako globalne, odnoszą się do zmiennej globalnej o tej samej nazwie, zmienne statyczne - deklarowane wewnątrz funkcji zapewniają utrzymywanie swojej wartości pomiędzy kolejnymi wywołaniami funkcji (niewidoczne na zewnątrz funkcji), zmienne lokalne utworzone wewnątrz funkcji, są usuwane w momencie zakończenia wykonywania tej funkcji. 25

Składnia PHP: Zmienne superglobalne Lista zmiennych superglobalnych: $GLOBALS - tablica wszystkich zmiennych globalnych, $_SERVER tablica zmiennych środowiskowych serwera, $_GET tablica zmiennych przekazanych do skryptu metodą GET, $_POST tablica zmiennych przekazanych do skryptu metodą POST, $_COOKIE tablica zmiennych cookie, $_FIELS tablica zmiennych związanych z ładowaniem pliku, $_ENV tablica zmiennych środowiskowych, $_REQUEST tablica wszystkich zmiennych wprowadzonych przez użytkownika (włączając w to $_GET, $_POST, $_COOKIE) $_SESSION tablica zmiennych sesji. 26

Składnia PHP: Operatory Operatory to symbole używane do manipulowania wartościami i zmiennymi poprzez wykonywanie na nich operacji. Tab. Operatory arytmetyczne w PHP Operator Nazwa Przykład + suma $a + $b - różnica $a - $b * iloczyn $a * $b / iloraz $a / $b % reszta $a % $b 27

Składnia PHP: Operatory Operator łączenia ciągów Operatora tego używa się do łączenia (dodawania) ciągów. <?php $imię = 'Jan'; $nazwisko = 'Kowalski'; $imie_i_nazwisko = $imię. ' '. $nazwisko; // zmienna powyższa zawiera ciąg 'Jan Kowalski'?> 28

Składnia PHP: Operatory Operator przypisania <?php $var = 5; //zmiennej $var jest przypisana wartość 5?> 29

Składnia PHP: Operatory Łączone operator przypisania To skrócony sposób zapisu operacji przeprowadzonej na zmiennej i przypisanego do niej wyniku tej operacji Operator Przykład użycia Równoznaczne z += $a += $b $a = $a + $b -= $a -= $b $a = $a - $b *= $a *= $b $a = $a * $b /= $a /= $b $a = $a / $b %= $a %= $b $a = $a % $b.= $a.= $b $a = $a. $b 30

Operatory zwiększania i zmniejszania Operator Nazwa Operator $a++ Postinkrementacja Zwraca $a, a następnie zwiększa $a o jeden ++$a Preinkrementacja Zwiększa $a o jeden i zwraca $a $a-- Postdekrementacja Zwraca $a, a następnie zmniejsza $a o jeden --$a Predekrementacja Zmniejsza $a o jeden i zwraca $a 31

Operatory porównania Operator Nazwa Przykład Wynik == równy $a == $b True, jeżeli $a jest równe $b === identyczny $a === $b True, jeżeli $a jest równe $b i są one tych samych typów!= różny $a!= $b True, jeżeli $a jest różne od $b < mniejszy $a < $b True, jeżeli $a jest mniejsze od $b > większy $a > $b True, jeżeli $a jest większe od $b <= mniejszy lub równy $a <= $b True, jeżeli $a jest mniejsze lub równe $b >= większy lub równy $a >= $b True, jeżeli $ajest większe lub równe $b 32

Operatory logiczne Operator Nazwa Przykład Wynik and iloczyn logiczny $a and $b True, jeżeli $a i $b mają wartość True or Suma logiczna $a or $b True, jeżeli $a lub $b mają wartość True xor różnica $a xor $b True, jeżeli $a lub $b mają symetryczna Wartość True, ale nie razem! negacja!$a True, jeżeli $a nie jest True && iloczyn logiczny $a && $b True, jeżeli $a i $b mają wartość True Suma logiczna $a $b True, jeżeli $a jest mniejsze lub równe $b 33

Składnia PHP: struktury kontrolujące Instrukcje warunkowe: instrukcje if, else, elseif <?php if (1 < 2) { echo "To zostanie wydrukowane.<br />"; } else { echo "To nie zostanie wydrukowane.<br />"; }?> 34

Składnia PHP: struktury kontrolujące c.d. <?php $var = 5; if($var == 1) { echo"\$var == 1<br />"; }elseif($var == 2) { echo "\$var == 2<br />"; }elseif ($var == 3) { echo "\$var == 3<br />"; }else { echo "\$var nie jest 1, 2 ani 3<br />"; }?> 35

Instrukcje warunkowe: instrukcja switch - upraszcza tworzenie wielokrotnych warunków <?php $var = 12; switch ($var) { case 0: }?> echo "zero<br />" ; break; case 1: echo "jeden<br />"; break; case 2: echo "dwa<br />"; break; default: echo "Nie jest to zero, jeden ani dwa<br />"; break; 36

Składnia PHP: Pętle Pętla while oraz do... while <?php //struktura: //while (warunek) wyrażenie?> $var = 1; while ($var <= 5) { echo "$var<br />"; $var++; } do { echo "$var<br />"; // wypisuje liczby od 6 do 1 $var--; } while ( $var > 0 ); 37

Składnia PHP: Pętle c.d. Pętla for: Składnia: for (wyr1; wyr2; wyr3) instrukcja Wartość pierwszego wyrażenia (wyr1) jest obliczana raz, na początku pętli. Wartość drugiego (wyr wyr2) jest obliczana na początku każdego przebiegu pętli. Jeżeli będzie ono miało wartość True, pętla będzie się nadal wykonywała i zostaną wykonane instrukcje ciała pętli. Jeżeli drugie wyrażenie jest puste, przyjmowane jest, że ma ono wartość True. Na końcu każdego przebiegu pętli wykonywane jest trzecie wyrażenie (wyr3). Każde z tych trzech wyrażeń może być puste. <?php for($i = 0; $i < 10; $i++) { echo $i. '<br/>'; }?> 38

Składnia PHP: Pętle c.d. Pętla foreach - wygodnym sposobem na przeglądanie tablic. Posiada dwa warianty składni: foreach (tablica as zmienna_wartosc) instrukcja foreach (tablica as zmienna_klucz => zmienna_wartosc) instrukcja Pierwsza postać pętli przebiega po podanej tablicy ($tablica)) i w każdym przebiegu wartość bieżącego elementu tablicy jest przypisywana do zmiennej ($zmienna_wartosc)) a wskaźnik bieżącego elementu tablicy jest przesuwany. Druga postać realizuje to samo, ale dodatkowo do zmiennej ($zmienna_klucz) jest przypisywany klucz bieżącej pozycji. <?php $tablica = array("raz", "dwa", "trzy" ); foreach( $tablica as $wartosc ) { echo "Bieżąca wartość to $wartosc<br />"; }?> 39

Składnia PHP: Pętle c.d. <?php $tablica = array( "Czerwony" => "#FF0000", "Zielony" => "#00FF00", "Niebieski" => "#0000FF" ); foreach( $tablica as $klucz => $wartosc ) { }?> echo "Wartość szesnastkowa $klucz to $wartosc<br />" ; 40

Składnia PHP: break i continue Wyrażenie break kończy wykonanie bieżącej konstrukcji sterującej (pętli lub wyrażenia switch). Wyrażenie continue jest używane jedynie w pętlach. Powoduje ono opuszczenie pozostałych instrukcji ciała pętli i rozpoczęcie nowej iteracji. 41

Składnia PHP: include i require Poprzez możliwość użycia instrukcji include, require, include_once oraz require_once,, PHP udostępnia mechanizmy na dołączanie jednego skryptu do drugiego. Instrukcję require wywołuje się identycznie, jak funkcję, jednakże funkcją nie jest. Różnica między nim, a include jest taka, że pierwsza w przypadku nieznalezienia pliku generuje komunikat Fatal error zatrzymujący skrypt, druga tylko ostrzeżenie. Istnieją także include_once oraz require_once,, które są ignorowane, jeśli próbujemy po raz drugi dołączyć ten sam plik. <?php require_once('includes/application_top.php'); include('./includes/menu.inc.php');?> 42

Składnia PHP: Funkcje Funkcja to zbiór operacji przypisujący danej grupie parametrów jakiś rezultat. Posiada własną nazwę, za pomocą której można się do niej odwoływać, pobiera dane i generuje wynik ponownie zwracany do programu. Funkcję definiuje się raz, najczęściej na początku skryptu, a później wywołuje się ją dowolną ilość razy, w zależności od potrzeb i konieczności. Nazwa funkcji może się składać z małych lub dużych liter, cyfr i znaków podkreślenia, natomiast musi się zaczynać od litery lub znaku podkreślenia. W przeciwieństwie do zmiennych nazwa funkcji nie musi zaczynać się od znaku $. <?php //Definicja funkcji: function nazwa (argument1, argument2, /*... */ argumentn) { instrukcja; return wartość_zwracana; }?> 43

Składnia PHP: Funkcje c.d. <?php $a = 5; $b = 3; function suma($a, $b) { return $a + $b; } echo suma($a, $b); // 8?> 44

PHP - obsługa formularzy Formularze należą do podstawowych narzędzi umożliwiających komunikację skryptu PHP z przeglądarką. Dane z formularzy mogą być wysyłane na dwa sposoby: metodą GET, metodą POST. 45

Obsługa formularzy metoda GET Polega na umieszczeniu par parametr=wartość w adresie URL strony, np.: http://index.html?jezyk=pl&strona=oferta Cechy charakterystyczne dla metody GET: dane wysyłane tą metoda dodawane są do adresu URL, długość wysyłanych danych jest ograniczona, bowiem ograniczona jest długość adresu URL, dane umieszczane są w tablicy asocjacyjnej $_GET. Metodę tę należy wykorzystywać w przypadku, gdy skrypt nie wykonuje operacji mających efekty uboczne (np. dodawanie lub usuwanie rekordów). W przeciwnym wypadku roboty indeksujące stronę mogą niechcący wykonywać niebezpieczne operacje na serwerze. 46

Obsługa formularzy metoda GET c.d. <html> <head> <title>formularz HTML</title> </head> <body> <form method="get" action="nazwa_skryptu.php"> Podaj imię: <input type="text" name="imie"/><br/> Podaj nazwisko: <input type="text" name="nazwisko"/><br/> <input type="submit" value="ok"/> </form> </body> </html> Zawartość pliku : nazwa_skryptu.php <?php echo 'Witaj, '. $_GET['imie']. ' '. $_GET['nazwisko']. '!';?> 47

Obsługa formularzy metoda POST Z uwagi na większe możliwości i wyższy stopień bezpieczeństwa, jest najczęściej używaną metodą przesyłania danych. Cechy charakterystyczne dla metody POST: nie narzuca ograniczenia ilości przesyłanych danych, użytkownik nie może podejrzeć wysyłanych treści, umożliwia przesyłanie plików, dane umieszczane są w tablicy asocjacyjnej $_POST. 48

Obsługa formularzy metoda POST c.d. <html> <head> <title>formularz HTML</title> </head> <body> <form method="post" action="nazwa_skryptu.php"> Podaj imię: <input type="text" name="imie"/><br/> Podaj nazwisko: <input type="text" name="nazwisko"/><br/> <input type="submit" value="ok"/> </form> </body> </html> Zawartość pliku : nazwa_skryptu.php <?php echo 'Witaj, '. $_POST['imie']. ' '. $_POST['nazwisko']. '!';?> 49

Obsługa formularzy przykłady <input type="text" name="nazwa"/> Skrypt otrzymuje $_POST['nazwa'] z wartością wpisaną w pole formularza. <input type="hidden" name="nazwa" value="dane_ukryte"/> Skrypt otrzymuje $_POST['nazwa'] z wartością wpisaną w danym znaczniku. <input type="radio" name="nazwa" value="opcja 1"/> <input type="radio" name="nazwa" value="opcja 2"/> PHP otrzyma ($_POST['nazwa']) wartość tej pozycji, która została zaznaczona. 50

Obsługa formularzy przykłady <input type="checkbox" name="nazwa" /> Jeśli pole jest zaznaczone, $_POST['nazwa'] zawierać będzie słowo "on". <select name="nazwa">...</select> $_POST['nazwa'] zawierać będzie wartość wybranego z listy elementu. <input type="submit" name="nazwa"/> Zmienna $_POST['nazwa'] zostanie utworzona, jeżeli akurat ten przycisk zostanie wciśnięty. 51

Obsługa formularzy walidacja formularzy Sprawdzanie poprawności tekstu wpisywanego przez użytkowników jest jedną z istotnych czynności powtarzanych podczas przetwarzania danych z formularza. Walidacja danych może być realizowana na dwa sposoby: po stronie klienta (przeglądarka internetowa + JavaScript), po stronie serwera (PHP). UWAGA: Walidacja formularza po stronie klienta odbywa się w języku JavaScript i ma na celu jedynie wygodę użytkownika. Zabezpieczenia takie łatwo ominąć. Nie wolno ich traktować jako środka gwarantującego bezpieczeństwo serwisu. 52

Obsługa formularzy walidacja formularzy <?php if (!is_numeric($_post['wiek'])) { echo 'Wiek musi być liczbą!'; } else { //wprowadzone dane są poprawne }?> 53

ZADANIE DOMOWE Wykorzystując ogólnodostępne materiały w Internecie pogłębić wiadomości związane z możliwościami wykorzystania PHP dla potrzeb budowy dynamicznych serwisów internetowych 54

Bibliografia Przykładowa Literatura: http://www.php.net 55

Dziękuję za uwagę!!! 56