Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Technologie internetowe II Wykład 1 Dr Krzysztof Heller.

Podobne prezentacje


Prezentacja na temat: "Technologie internetowe II Wykład 1 Dr Krzysztof Heller."— Zapis prezentacji:

1 Technologie internetowe II Wykład 1 Dr Krzysztof Heller

2 Technologie internetowe II2 Literatura Meloni J.C.: PHP, MySQL i Apache dla każdego. Wydanie III, Helion, 2007 Lis M.: PHP i MySQL dla każdego, Helion, 2005 Leszek 'leon' Krupiński: Wykłady internetowe, et_II_wyklad1.ppthttp://docs.wsei.pl/dydaktyka/Techn_Intern et_II_wyklad1.ppt

3 Technologie internetowe II3 Plan wykładu 1 Podstawowe elementy języka PHP. Typy danych, stałe i zmienne, operatory i wyrażenia. Instrukcje warunkowe i instrukcje pętli. Tablice.

4 Podstawowe elementy języka PHP

5 Technologie internetowe II5 Język PHP PHP - język skryptowy służący do rozszerzania możliwości stron internetowych. Składnia bardzo podobna do popularnych języków programowania C/C++, lecz uproszczona. Wbudowana obsługa wielu popularnych baz danych. Dzięki połączeniu z biblioteką GD możliwe jest także dynamiczne tworzenie obrazków GIF (starsze wersje GD) lub PNG (nowsze wersje).

6 Technologie internetowe II6 Podstawy programowania PHP Aby plik był rozpoznany przez serwer WWW jako skrypt PHP musi on mieć odpowiednie rozszerzenie. Rozszerzenia są definiowalne w konfiguracji serwera WWW, zazwyczaj: –.php3 (dla PHP w wersji 3), –.php lub php4 (dla PHP w wersji 4), –.phtml (dla PHP w wersji starszej niż 3). Serwer będzie wiedział, że plik ten nie jest przeznaczony do bezpośredniego wyświetlenia (jak w przypadku plików HTML), ale że najpierw trzeba go przepuścić przez parser PHP.

7 Technologie internetowe II7 Podstawy programowania PHP Jeśli zwykłemu plikowi HTML nadamy rozszerzenie.php, to zostanie on prawidłowo wyświetlony Parser PHP przetwarzając stronę ma 2 tryby pracy: –HTML, gdzie cała treść jest wyświetlana, bez przetwarzania, –PHP, gdzie treść jest traktowana jako skrypt do przetworzenia. Do określenia w pliku co jest kodem HTML a co PHP służą specjalne znaczniki. Początkowo parser jest w trybie HTML. Aby przejść do trybu PHP można użyć jednego z czterech znaczników: 1. skrócone: ; uwaga - short_open_tag = on 2. standardowe: ; 3. skryptowe: echo ("niektóre edytory (np. FrontPage) nie lubią przetwarzania instrukcji"); 4. ASP: ; uwaga – asp_tags = on

8 Technologie internetowe II8 Podstawy programowania PHP Niby-funkcja echo: –dla większości normalnych funkcji parametry trzeba podawać w nawiasach, –w przypadku funkcji echo można je pominąć, –"echo" jest elementem składni języka, –służy do wysyłania tekstu podanego jako parametr do przeglądarki użytkownika. echo nie wysyła znaku końca linii, więc w miejscu końca linii trzeba wstawić \n Funkcja print() – działanie podobne, zwraca wartość.

9 Technologie internetowe II9 Pierwszy program lub

10 Technologie internetowe II10 Drugi program – łączenie z HTML Skrypt PHP zawierający HTML

11 Technologie internetowe II11 Składnia Zakańczanie - umieszczenie na końcu każdej instrukcji (niekoniecznie linii) znaku średnika (';'). Można pominąć gdy jest przejście do trybu HTML. Komentarz – zaznaczanie tekstu nie będącego programem. Są 3 sposoby: –Znak // –Znak # –Pomiędzy znakami /* a */ Przykład:

12 Typy danych, stałe i zmienne, operatory i wyrażenia

13 Technologie internetowe II13 Zmienne Zmienne oznacza się za pomocą znaku dolara ('$') przed identyfikatorem. Zmienna jest inicjalizowana przy pierwszym jej użyciu. Nazwy zmiennych muszą zaczynać się od litery (dużej lub małej) lub "underscore" (dolna kreska - '_') a dalej mogą się składać z dowolnej ilości liter, cyfr i znaków o kodzie ASCII powyżej 127. Przy nazwach zmiennych ważna jest wielkość znaków - zmienne $Test i $test to dwie różne zmienne. Zmienne są widoczne tylko wewnątrz funkcji lub skryptu, w którym się znajdują.

14 Technologie internetowe II14 Przykłady użycia zmiennych

15 Technologie internetowe II15 Typy zmiennych liczby całkowite (integer) liczby rzeczywiste (double) ciągi (string) tablice (array) obiekty (object) PHP potrafi konwertować zmienne całkowite zapisane w różnych formatach liczbowych:

16 Technologie internetowe II16 Ustalenie typu PHP sam ustala typ zmiennej, zależnie od kontekstu:

17 Technologie internetowe II17 Zmiana typu Podczas przypisywania zmiennej nowej wartości, poprzednia wartość jest oczywiście zamazywana. W takim przypadku typ zmiennej ustalany jest od nowa. Jeśli jednak zachodzi potrzeba zmiany typu lub PHP błędnie rozpoznaje typ, to można tego dokonać za pomocą rzutowania (cast - efekt jest jednorazowy) lub za pomocą ustalenia typu - funkcja settype (efekt trwały).

18 Technologie internetowe II18 Rzutowanie typu Dozwolone typy rzutowań: –(int), (integer) - rzutuj do typu całkowitego –(real), (double), (float) - rzutuj do typu rzeczywistego –(string) - rzutuj do ciągu –(array) - rzutuj do tablicy –(object) - rzutuj do obiektu

19 Technologie internetowe II19 Rzutowanie typu

20 Technologie internetowe II20 Ustalenie typu Funkcja settype pobiera 2 argumenty. Pierwszym jest nazwa zmiennej do ustalenia typu, a drugim ciąg określający nowy typ zmiennej: –"integer" –"double" –"string" –"array" –"object" Funkcja zwraca wartość "true" gdy wszystko poszło pomyślnie, w przeciwnym razie zwracana jest wartość "false".

21 Technologie internetowe II21 Ustalenie typu

22 Technologie internetowe II22 Testowanie typu

23 Technologie internetowe II23 Zmienne predefiniowane (superglobalne) W każdym skrypcie PHP dostępne jest kilka zmiennych, których wartość jest ustalana na podstawie zmiennych środowiskowych serwera WWW. Dostępne są jak zwykłe zmienne - ze znakiem dolara przed nazwą. Zmienne dzielą się na: –ustawiane przez serwer WWW –ustawiane przez PHP

24 Technologie internetowe II24 Tablice $_GET – zmienne przesłane do skryptu metodą GET $_POST – zmienne przesłane do skryptu metodą POST $_COOKIE – zmienne przesłane do skryptu metodą COOKIE $_FILES – zmienne przesłane do skryptu przez wysłanie pliku $_SERVER – wysłane nagłówki, ścieżkę do pliku, adres skryptu $_ENV – wartości zmiennych środowiskowych serwera $_REQUEST – zmienne przesłane do skryptu przez użytkownika $_SESSION – zmienne zarejestrowane w aktualnej sesji

25 Technologie internetowe II25 Zmienne ustawiane przez serwer WWW GATEWAY_INTERFACE - Informacja o specyfikacji CGI używanej przez serwer, np. 'CGI/1.1'. SERVER_NAME - Nazwa hosta serwera na którym skrypt jest uruchamiany. Jeśli skrypt pracuje na wirtualnym hoście, to zmienna przyjmie jako wartość nazwę wirtualnego hosta. SERVER_SOFTWARE - Ciąg identyfikujący serwera podawany przy odpowiadaniu na zapytania SERVER_PROTOCOL - Nazwa i numer wersji protokołu za pomocą którego wysłano zapytanie o stronę, np. 'HTTP/1.0'; REQUEST_METHOD - Metoda zapytania użyta do uzyskania dostępu do strony, np. 'GET', 'HEAD', 'POST', 'PUT'. QUERY_STRING - Ciąg zapytania (jeśli takowy istnieje) za pomocą którego połączono się ze stroną. DOCUMENT_ROOT - Katalog główny drzewa dokumentów spod którego skrypt jest wykonywany - jest to ustawienie z pliku konfiguracyjnego serwera.

26 Technologie internetowe II26 Zmienne ustawiane przez serwer WWW HTTP_ACCEPT - Nagłówek z aktualnego zapytania, jeśli taki istnieje. HTTP_ACCEPT_CHARSET - Zawartość nagłówka "Accept- Charset" z aktualnego zapytania, jeśli taki istnieje, np. 'iso ,*,utf-8'. HTTP_ENCODING - Zawartość nagłówka "Accept-Encoding" z aktualnego zapytania, jeśli taki istnieje, np. 'gzip'. HTTP_ACCEPT_LANGUAGE - Zawartość nagłówka "Accept- Language" z aktualnego zapytania, jeśli taki istnieje, np. 'en'. HTTP_CONNECTION - Zawartość nagłówka "Connection" z aktualnego zapytania, jeśli taki istnieje, np. 'Keep-Alive'. HTTP_HOST - Zawartość nagłówka "Host" z aktualnego zapytania, jeśli taki istnieje. HTTP_REFERER - Adres strony (jeśli taka była), która wskazała przeglądarkę do tej strony. Wartość ta jest ustawiana przez przeglądarkę - nie wszystkie to robią.

27 Technologie internetowe II27 Zmienne ustawiane przez serwer WWW HTTP_USER_AGENT - Zawartość nagłówka "User-Agent" z zapytania, jeśli taki istnieje. Jest to ciąg informujący o przeglądarce która została użyta do obejrzenia bieżącej strony, np. Mozilla/4.5 [en] (X11; U; Linux i586). Można użyć funkcji get_browser() aby dopasować funkcjonalność strony do przeglądarki użytkownika. REMOTE_ADDR - Adres IP z którego użytkownik ogląda bieżącą stronę. REMOTE_PORT - Port używany do komunikacji pomiędzy użytkownikiem a serwerem. SCRIPT_FILENAME - Ścieżka do aktualnie wykonywanego skryptu. SERVER_ADMIN - Wartość podana dla opcji SERVER_ADMIN w konfiguracji serwera WWW. Jeśli skrypt działa na wirtualnym serwerze, to będzie to wartość podana dla tego wirtualnego serwera. SERVER_PORT - Port na serwerze którego użyto do połączenia. Dla normalnych połączeń będzie to '80'. SERVER_SIGNATURE - Ciąg zawierający wersję i nazwę wirtualnego hosta który jest dodawany do stron generowanych przez serwer. SCRIPT_NAME - Zawiera ścieżkę do aktualnie wykonywanego pliku. Jest to przydatne do skyptów, które muszą wskazywać samego siebie. REQUEST_URI - URI który został podany aby uzyskać dostęp do tej strony.

28 Technologie internetowe II28 Zmienne ustawiane przez PHP argv - Tablica argumentów przekazywanych do skryptu. Jeśli skrypt jest uruchamiany z linii poleceń, to zmienna ta daję dostęp do argumentów w stylu języka C. Jeśli jest wywołany przez metodę GET, to zmienna ta zawierać będzie ciąg parametrów (query string). argc - Zawiera liczbę parametrów podanych podanych do skryptu w linii poleceń (jeśli skrypt został wywołany z linii poleceń). PHP_SELF - Nazwa pliku aktualnie wykonywanego skryptu, względna do katalogu głównego dokumentów. Ta zmienna jest niedostępna jeśli PHP jest uruchamiany z linii poleceń. HTTP_COOKIE_VARS - Tablica asocjacjna zmiennych przekazanych do skryptu przez HTTP cookies. Dostępna tylko jeśli włączone zostało śledzenie zmiennych przez ustawienie w konfiguracji PHP opcji track_vars lub komendą. HTTP_GET_VARS - Tablica asocjacjna zmiennych przekazanych do skryptu przez metodę GET. Dostępna tylko jeśli włączone zostało śledzenie zmiennych przez ustawienie w konfiguracji PHP opcji track_vars lub komendą. HTTP_POST_VARS - Tablica asocjacjna zmiennych przekazanych do skryptu przez metodę POST. Dostępna tylko jeśli włączone zostało śledzenie zmiennych przez ustawienie w konfiguracji PHP opcji track_vars lub komendą.

29 Technologie internetowe II29 Stałe ustawiane przez parser __FILE__ - Nazwa pliku ze skryptem który jest aktualnie przetwarzany. Jeśli stała ta użyta jest wewnątrz pliku który został zainkludowany (o poleceniu include w dalszej części kursu), to podana zostanie nazwa pliku zainkludowanego, a nie pliku nadrzędnego. __LINE__ - Numer linii w skrypcie która aktualnie jest przetwarzana. Jeśli stała ta użyta jest wewnątrz pliku który został zainkludowany, to podany zostanie numer linii przetwarzanej w pliku zainkludowanym. PHP_VERSION - Ciąg reprezentujący wersję parsera PHP aktualnie używaną. PHP_OS - Nazwa systemu operacyjnego na którym uruchamiany jest parser PHP. TRUE - Logiczna wartość prawdy. FALSE - Logiczna wartość fałszu.

30 Technologie internetowe II30 Stałe definiowane przez użytkownika

31 Technologie internetowe II31 Operatory Operatory - symbole, które służą do operacji na zmiennych. Operatory dzielą się na: –operatory arytmetyczne, –operatory przypisania, –operatory operacji bitowych, –operatory porównania, –operator kontroli błędów, –operator wywołania (uruchamianie zewnętrznych programów), –operatory inkrementacji i dekrementacji, –operatory logiczne –operatory ciągu.

32 Technologie internetowe II32 Operator przypisania, operator konkatenacji Podstawowym operatorem przypisania jest symbol '='. Zmiennej można przypisać także wartość innej zmiennej: $b = 5; $a = $b. Zmiennym można przypisywać wartości innych zmiennych. Wartości te można przypisywać kaskadowo, przy czym wartości przypisywane będą od prawej do lewej. Operator konkatenacji. np. Ala.kot -> Alakot.

33 Technologie internetowe II33 Operatory arytmetyczne PrzykładNazwaWynik $a + $bDodawanieSuma $a i $b $a - $bOdejmowanieRóżnica $a i $b $a * $bMnożenieIloczyn $a i $b $a / $bDzielenieIloraz $a i $b $a % $bModuloReszta z dzielenia $a przez $b Operator konkatenacji. np. Ala.kot -> Alakot

34 Technologie internetowe II34 Operator przypisania PrzykładWynik $a += 2Do zmiennej $a dodane zostanie 2 $a -= 2Od zmiennej $a odjęte zostanie 2 $a *= 2Zmienna $a zostanie pomnożona przez 2 $a /= 2Zmienna $a dodane podzielona przez 2 $a %= 2Zmienna $a przyjmie wartość reszty z dzielenia $a przez 2 $a.= " dalszy ciąg"Do zmiennej $a na końcu dodany zostanie ciąg " dalszy ciąg"

35 Technologie internetowe II35 Operatory operacji bitowych PrzykładNazwaWynik $a & $bAND Ustawiane są bity które są ustawione w obu zmiennych. $a | $bOR Ustawiane są bity, które są ustawione w jednej lub drugiej zmiennej. $a ^ $bXOR Ustawiane są bity, które są ustawione w jednej lub drugiej zmiennej, ale nie w obu. ~ $aNOT Inwerter - ustawiane są bity które nie są ustawione w zmiennej $a i odwrotnie. $a << $b Przesunięcie w lewo Przesuń bity z $a $b-razy w lewo (każdy krok oznacza pomnożenie przez 2) $a >> $b Przesunięcie w prawo Przesuń bity z $a $b-razy w prawo (każdy krok oznacza podzielenie przez 2)

36 Technologie internetowe II36 Operatory porównania Przykła d NazwaWynik $a == $bRównyPrawda jeśli $a jest równe $b. $a === $b Identyczny Prawda jeśli $a jest równe $b i są tego samego typu. (tylko PHP4) $a != $bNie równePrawda jeśli $a nie jest równe $b. $a !== $b Nie identyczny Prawda jeśli $a nie jest równe $b lub nie są tego samego typu. (tylko PHP4) $a < $bMniejszePrawda jeśli $a jest mniejsze niż $b. $a > $bWiększePrawda jeśli $a jest większe niż $b. $a <= $b Mniejsze lub równe Prawda jeśli $a jest mniejsze lub równe $b. $a >= $b Większe lub równe Prawda jeśli $a jest większe lub równe $b.

37 Technologie internetowe II37 Operator kontroli błędów Operator kontroli błędów powoduje, że wyrażenie przed którym postawiono ten znak nie spowoduje wyświetlenia się jakiegokolwiek błędu lub ostrzeżenia.

38 Technologie internetowe II38 Operator wywołania Operator ten służy do uruchamiania zewnętrznych programów lub poleceń powłoki. Wystarczy wpisać polecenie pomiędzy znaki odwróconego apostrofu ('`') aby zostało ono wykonane. Po uruchomieniu tego skryptu wyświetlona zostanie zawartość katalogu /home na serwerze.

39 Technologie internetowe II39 Operatory inkrementacji i dekrementacji PrzykładNazwaWynik ++$aPreinkrementacja Zwiększa $a o jeden, a następnie zwraca $a. $a++Postinkrementacja Zwraca $a, a następnie zwiększa $a o jeden. --$aPredekrementacja Zmniejsza $a o jeden, po czym zwraca $a. $a--Postdekrementacja Zwraca $a, po czym zmniejsza $a o jeden.

40 Technologie internetowe II40 Operatory inkrementacji i dekrementacji

41 Technologie internetowe II41 Operatory logiczne NazwaSymbol suma logiczna (LUB)|| iloczyn logiczny (ORAZ)&& negacja (NIE)!

42 Instrukcje warunkowe i instrukcje pętli

43 Technologie internetowe II43 Struktury kontrolne Instrukcje warunkowe Instrukcje pętli: –For –While –Do … while –Break Instrukcja switch

44 Technologie internetowe II44 Instrukcje warunkowe Wyrażeniem warunkowym jest dowolne wyrażenie. Za warunek uznawane jest wszystko co zwraca wartość, czyli wszystkie zmienne, wyrażenia logiczne, funkcje itp. Spełniony warunek - wartość większa od zera.

45 Technologie internetowe II45 Instrukcje warunkowe Jeśli chcemy, aby po sprawdzeniu warunku wykonane zostało nie jedno, ale kilka poleceń, to te polecenia trzeba ująć w nawiasy klamrowe.

46 Technologie internetowe II46 Instrukcje warunkowe

47 Technologie internetowe II47 Instrukcje warunkowe $b || $a > $c) && // Nawiasy klamrowe nie są potrzebne - to $d == $e ) // 2 linie ale jedna instrukcja echo 'Zmienna $a jest większa od $b a zmienna $d jest równa $e, '. 'więc ten tekst pokaże się.'; // Taka konstrukcja jest dozwolona ?>

48 Technologie internetowe II48 Pętla for

49 Technologie internetowe II49 Pętla for – przykład 1

50 Technologie internetowe II50 Pętla for – przykład 2

51 Technologie internetowe II51 Pętla for – przykład 3

52 Technologie internetowe II52 Pętla while

53 Technologie internetowe II53 For przez while

54 Technologie internetowe II54 Przykład while

55 Technologie internetowe II55 Pętla do…while Polecenia zawarte w pętli będą wykonane przynajmniej raz.

56 Technologie internetowe II56 Przykład do…while 200) && ($num < 400)); ?>

57 Technologie internetowe II57 Przerywanie pętli continue - przerwanie danej iteracji pętli i przejście do następnej iteracji. break - całkowite wyjście z pętli - nie tylko z bieżącej iteracji.

58 Technologie internetowe II58 Przykład continue

59 Technologie internetowe II59 Przykład break

60 Technologie internetowe II60 Switch

61 Technologie internetowe II61 Switch Jedną zmienną można porównać nie z jedną wartością, ale z kilkoma. Nie można konstruować złożonych warunków. Instrukcje zawarte po identyfikatorze "default" wykonywane są jeśli zmienna $zmienna nie przyjęła wartości "wartość1" i "wartość2 ". Instrukcje są przetwarzane linia po linii. Parser przechodzi do pierwszej linii "case" pasującej do zmiennej. Następnie przetwarzane są wszystkie linie wewnątrz nawiasów klamrowych aż do napotkania instrukcji break - nawet jeśli po drodze znajdują się instrukcje "case ".

62 Technologie internetowe II62 Przykład switch

63 Technologie internetowe II63 Przykład switch 2

64 Tablice

65 Technologie internetowe II65 Tablice Tablice to zmienne zawierające w sobie uporządkowany zbiór zmiennych. Do zmiennych tych uzyskuje się dostęp przez liczbę w nawiasie kwadratowym podane bezpośrednio po nazwie zmiennej – tablicy. Liczba ta to indeks - numer kolejny zmiennej w tablicy.

66 Technologie internetowe II66 Przypisanie wartości tablicy

67 Technologie internetowe II67 Wypełnianie tablicy Aby dodać kolejny wpis na końcu tabeli wystarczy przy przypisywaniu wartości nie wpisywać indeksu do nawiasów kwadratowych. Jeśli w ten sposób dodawane są wpisy do nowej tablicy, to pierwszy wpis ma indeks 0. Indeks można też podawać ze zmiennej, a nawet z innej tablicy czy funkcji. Elementem tablicy może być każdy typ zmiennej (z innymi tablicami i obiektami włącznie).

68 Technologie internetowe II68 Przykład wypełniania tablicy

69 Technologie internetowe II69 Przykład złożonej tablicy "Robert", "zawód" => "superbohater", "wiek" => 30, "specjalna moc" => "rentgen w oczach" ), array( "imię" => "Ania", "zawód" => "superbohater", "wiek" => 24, "specjalna moc" => "nadludzka siła" ), array( "imię" => "Kasia", "zawód" => "czarny charakter", "wiek" => 45, "specjalna moc" => "nanotechnologia" ) ); foreach ($postaci as $c) { while (list($k, $v) = each ($c)) { echo "$k... $v "; } ?>

70 Technologie internetowe II70 Tablica asocjacyjna

71 Technologie internetowe II71 Przeglądanie tablicy Indeks może być zmienną w pętli for. Funkcja count( $nazwa_tablicy ) zwraca ilość elementów w tablicy podanej jako parametr. W przypadku tablicy asocjacyjnej należy skorzystać z funkcji list() i each(). Przy przechodzeniu przez tablice asocjacyjne trzeba wykorzystać pętlę while.

72 Technologie internetowe II72 Przykład przeglądania tablicy

73 Technologie internetowe II73 Przykład przeglądania tablicy asocjacyjnej "; ?>

74 Technologie internetowe II74 Niektóre funkcje operujące na tablicach asort() - sortuje tablice asocjacyjne zachowując przypisanie kluczy do wartości arsort() - sortuje w odwrotnej kolejności tablice asocjacyjne zachowując przypisanie kluczy do wartości ksort() - sortuje tablice asocjacyjne według kluczy rsort() - sortuje zwykłe tablice (nie asocjacyjne) w odwróconej kolejności sort() - sortuje zwykłe tablice (nie asocjacyjne) w kolejności alfabetycznej uasort() - funkcja sortująca tablice asocjacyjne za pomocą zdefiniowanej przez użytkownika funkcji porównującej elementy (nazwa funkcji jest podawana za pomocą drugiego parametru usort() - funkcja sortująca zwykłe tablice za pomocą funkcji zdefiniowanej przez użytkownika uksort() - funkcja sortująca tablice asocjacyjne według klucza za pomocą funkcji zdefiniowanej przez użytkownika

75 Technologie internetowe II75 Przykład "mango", "a"=>"papaja", "b"=>"banan", "c"=>"aronia"); asort ($owoce); reset ($owoce); // Funkcja ta powoduje powrót do pierwszego elementu tablicy while (list ($klucz, $wartosc) = each ($owoce)) { echo "$klucz = $wartosc\n"; } ?> asortarsortksort c = aroniaa = papaja b = banand = mangob = banan d = mangob = bananc = aronia a = papajac = aroniad = mango


Pobierz ppt "Technologie internetowe II Wykład 1 Dr Krzysztof Heller."

Podobne prezentacje


Reklamy Google