Internetowe bazy danych

Podobne dokumenty
Oczywiście plik musi mieć rozszerzenie *.php

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

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

Bazy Danych i Usługi Sieciowe

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

Sieci Komputerowe i Technologie Internetowe (SKiTI)

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

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

Kurs PHP. Literatura. Zagadnienia: Wprowadzenie

ZMIENNE. Podstawy PHP

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

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

Zmienne, stałe i operatory

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

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

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

Systemy internetowe Wykład 3 PHP

Bazy danych i strony WWW

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

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

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

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

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

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

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

C++ wprowadzanie zmiennych

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

Zmienne i stałe w PHP

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

2 Przygotował: mgr inż. Maciej Lasota

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Podstawy i języki programowania

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

1 Podstawy c++ w pigułce.

Mikrokontroler ATmega32. Język symboliczny

Programowanie Komputerów

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

PHP, ASP i CGI jako skrypty wykonywane po stronie serwera. Budowa dynamicznych stron WWW w technologii PHP

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

PHP: bloki kodu, tablice, obiekty i formularze

JAVAScript w dokumentach HTML (1)

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

WPROWADZENIE. Użycie PHP

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

Java Podstawy. Michał Bereta

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

Laboratorium 1: Podstawy języka c. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Cw.12 JAVAScript w dokumentach HTML

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

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

Języki i paradygmaty programowania

1 Podstawy c++ w pigułce.

Aplikacje WWW - laboratorium

Języki skryptowe w programie Plans

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

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

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

Podstawy programowania w języku C

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Metody numeryczne Laboratorium 2

Umieszczanie kodu. kod skryptu

Podstawy programowania w języku C i C++

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

Blockly Kodowanie pomoc.

1. Wprowadzenie do języka PHP

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

Programowanie internetowe

Podstawy Informatyki dla Nauczyciela

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?

Dlaczego PHP? - zalety

Podstawy i języki programowania

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

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

1. Operacje logiczne A B A OR B

Języki i metodyka programowania. Wprowadzenie do języka C

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

MATERIAŁY DO ZAJĘĆ II

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Struktura pliku projektu Console Application

Smarty PHP. Leksykon kieszonkowy

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:

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

Wybrane działy Informatyki Stosowanej

SYSTEMY TELEINFORMATYCZNE

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Programowanie strukturalne i obiektowe

Michał Bielecki, KNI 'BIOS'

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

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

PHP i MySQL dla każdego / Marcin Lis. Wyd. 3. Gliwice, cop Spis treści

Autor: dr inż. Katarzyna Rudnik

Bazy Danych i Usługi Sieciowe

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Personal Home Page PHP: Hypertext Preprocessor

Transkrypt:

Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 2 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl

Internetowa aplikacja bazodanowa Przeglądarka 1 6 Serwer WWW 2 5 Interpreter PHP 3 4 Serwer MySQL 1. wysłanie żądania udostępnienia określonej strony WWW 2. przyjęcie żądania wyświetlenia strony, odnalezienie właściwego pliku, przekazanie do PHP 3. przetwarzanie skryptu połączenie z bazą danych, wykonanie zapytania przesłanie do MySQL 4. przetworzenie zapytania, rezultat odsyłany do PHP 5. koniec interpretacji skryptu, formatowanie wyników, wynikowy kod HTML do serwera WWW 6. przesłanie kodu HTML do przeglądarki, wyświetlenie wyników spełniających kryteria

PHP Hypertext Preprocessor język skryptowy, działa po stronie serwera, kod interpretowany przez serwer WWW, tworzy wyniki HTML oglądane przez użytkownika autor: Rasmus Lerdorf, powstał w 1994 r., 3 poważne modyfikacje Open Source dostęp do kodu, bezpłatne wykorzystanie, redystrybucja, http://www.php.net przenośny skrypty działają na komputerach pod kontrolą różnych systemów operacyjnych wbudowany w HTML kod PHP jest w plikach łączących instrukcje PHP i kod HTML integracja z bazami danych: MySQL, PostgreSQL, msql, Oracle, Informix, Sybase, filepro, InterBase,... konkurenci: Perl, ASP (Microsoft Active Pages), JSP (Java Server Pages)

Składnia PHP (1) Cztery style znaczników PHP <? echo "krótkie znaczniki PHP - wyjścia z HTML<br>";?> standard SGML Standard Generalized Markup Language użyć funkcję short_tags(), włączyć w pliku konfiguracyjnym opcję short_tag_open lub skompilować PHP z opcją -enable-short-tags <?php echo "pełne znaczniki PHP<br>";?> może być używany z dokumentami XML - Extensible Markup Language trzeba stosować gdy będzie XML na stronie <script language="php"> echo styl script<br>";</script> znany użytkownikom JavaScript-u i VBScript-u, najdłuższy! <% echo "a to znacznik w stylu ASP<br>"; %> dostępne jedynie wtedy, gdy uaktywniona opcja konfiguracji asp_tags

Składnia PHP (2) komentarze jak w C, C++ lub w skryptach Unixa <?php echo "Witaj świecie!<br>"; // 1-wierszowy w stylu C++ /* To jest wielowierszowy blok komentarza */ echo "Witamy ponownie.<br>"; # w stylu skryptów Unixa?> <?php /* Poniższa linia spowoduje wypisanie "To wyświetli nic." */?> To wyświetli <?php # echo "coś";?> nic.<br> <?php /* echo "A tutaj mamy problem."; /* nieprawidłowy */ */?>

Typy danych typ zmiennej - ustalany w oparciu o kontekst w jakim jest użyta, nie jest jawnie ustalany przez programistę funkcje gettype() oraz settype()a także funkcje dla określonych typów: is_integer() lub is_array liczby całkowite: dziesiętnie, ósemkowo, szesnastkowo liczby zmiennoprzecinkowe: notacja zwykła lub naukowa <?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 zmiennoprzecinkowy $float2 = 5.23197e2; // notacja naukowa zmiennoprzecinkowa /* Wypisanie wszystkich liczb. Wyświetla "523, -523, 523, 523, 523.197, 523.197". */ print( "$int1, $int2, $int3, $int4, $float1, $float2<br>");?>

Ciągi (1) ciągi - ograniczane apostrofami (') lub cudzysłowami ("), cudzysłów - zmienne zamienione na ich wartości, apostrof - zmienne nie są zastępowane, dostęp do poszczególnych znaków ciągu, - tablica znaków łączenie ciągów - kropką: Sekwencja znaków Znaczenie \n nowa linia \r powrót karetki (CR) \t tabulacja \\ lewy ukośnik \" cudzysłów \$ znak dolara

Ciągi (2) <?php $astr1 = "To jest zwykły ciąg."; print( "$astr1<br>" ); $astr2 = "Thatcher"; print( "$astr2<br>" ); $astr3 = "Nazywam się $astr2"; // $astr3 = "Nazywam się Thatcher" print( "$astr3<br>" ); $astr4 = "Nazywam się \$astr2"; // $astr4 = "Nazywam się $astr2" print( "$astr4<br>" ); $astr5 = 'Nie rozwijaj \'$astr2\''; // $astr5 = "Nie rozwijaj '$astr2'" print( "$astr5<br>" ); // wypisuje "Nazywam się Thatcher i Nazywam się $astr2" print( "$astr3". " i ". "$astr4" );?>

Konwersja ciągu na liczbę (1) zasady konwersji ciągów na liczbę: jeśli ciąg zaczyna się od danych numerycznych zostaną one skonwertowane na liczbę, jeśli ciąg nie zaczyna się prawidłowymi danymi liczbowymi wartością ciągu będzie zero, jeśli dane numeryczne zawierają jeden ze znaków e lub E, wartość to liczba zmiennoprzecinkowa a w przeciwnym przypadku liczbą całkowitą. prawidłowe dane numeryczne: opcjonalny znak po którym następuje jedna lub więcej cyfr, opcjonalna kropka dziesiętna oraz opcjonalny znak wykładnika, znakiem wykładnika jest e lub E, po którym następuje jedna lub więcej liczb.

Konwersja ciągu na liczbę (3) <?php $avar = 123; print( "\$avar = $avar, typ = ". gettype( $avar ). "<br>" ); $avar2 = $avar. " niejawnie skonwertowane do ciągu"; print( "\$avar2 = $avar2, typ = ". gettype( $avar2 ). "<br>" ); $avar3 = $avar2 + 1; // niejawna konwersja na liczbę całkowitą print( "\$avar3 = $avar3, typ = ". gettype( $avar3 ). "<br>" ); $avar3 = $avar2 * 1.1; // niejawna konwersja na zmienny przecinek print( "\$avar3 = $avar3, typ = ". gettype( $avar3 ). "<br>" ); $anotnumber = "abc"; $avar4 = $anotnumber * 1; // próba konwersji na liczbę, zwraca 0 print( "\$avar4 = $avar4, typ = ". gettype( $avar4 ). "<br>" ); $aisnumber = "3 małe świnki"; $avar5 = $aisnumber + 1; // konwersja $aisnumber na liczbę 3 print( "\$avar5 = $avar5, typ = ". gettype( $avar5 ). "<br>" );?>

Tablice (1) indeksowane, tablice mieszające (asocjacyjne), wielowymiarowe można indeksować jeden wymiar tablicy wielowymiarowej liczbami a inny w sposób asocjacyjny tworzenie przy użyciu funkcji list() lub array() albo poprzez jawne podanie każdej z wartości konwersja zmiennych funkcjonuje na ogólnych zasadach w tablicach wielowymiarowych nawiasy klamrowe służą do zaznaczenia indeksów <?php // Jawne tworzenie prostej tablicy $a[0] = "Ryan"; $a[1] = "Scott"; $a[] = "Randall"; // jawne przypisanie do indeksu (klucza) 2 $a[] = "Sherie"; // jawne przypisanie do indeksu (klucza) 3 print( "$a[3], $a[2], $a[1], $a[0]<br>" );?>

<?php // Tworzenie tablicy asocjacyjnej $color["niebieski"] = "#0000FF"; $color["zielony"] = "#00FF00"; $color["czerwony"] = "#FF0000"; print( "Wartość szesnastkowa koloru czerwonego wynosi {$color['czerwony']}<br>" ); // Tworzenie tej samej co poprzedniej tablicy asocjacyjnej // tylko nieco prościej $color = array( "niebieski" => "#0000FF", "zielony" => "#00FF00", "czerwony" => "#FF0000" ); print( "Wartość szesnastkowa koloru zielonego wynosi {$color['zielony']}<br>" ); // Ręczne tworzenie tablicy wielowymiarowej $m[0][0] = "Zero Zero"; $m[0][1] = "Zero Jeden"; print( "Wartością \$m[0][1] jest {$m[0][1]}<br>" ); // Ręczne tworzenie asocjacyjnej tablicy wielowymiarowej $counties["idaho"][0] = "Ada"; $counties["idaho"][1] = "Adams"; $counties["idaho"][2] = "Bannock"; $counties["arizona"][0] = "Apache"; $counties["arizona"][1] = "Cochise"; $counties["arizona"][2] = "Coconino"; print( "\$counties['idaho'][0] = {$counties['idaho'][0]}<br>");

Zmienne i stałe (1) zmienne są oznaczane znakiem dolara ($), po którym następuje nazwa zmiennej wielkość liter w nazwach zmiennych jest rozróżniana nazwy zmiennych muszą zaczynać się literą lub podkreśleniem, po których może być litera, liczba lub podkreślenie prawidłowe litery w zmiennych to a-z, A-Z lub dowolne znaki ASCII z zakresu 127-255 (0x7f-0xff)) <?php $variable1 = "Ryan"; $variable2 = "Scott"; print( "$variable1, $variable2<br>" ); // wypisuje "Ryan, Scott" $1variable = 123; // nieprawidłowa nazwa zmiennej $_test = "test"; // prawidłowo, rozpoczyna się podkreśleniem $_ąęć = "test2"; // prawidłowo?>

Zmienne i stałe (2) wartości mogą być przypisywane do zmiennych przez wartość lub przez referencję jeśli przez wartość, to obliczona wartość wyrażenia jest przepisywana do docelowej zmiennej, po przypisaniu zmienne są niezależne i zmiana jednej nie wpływa na wartość drugiej jeśli przez referencję, nowa zmienna to odwołanie do oryginału, zmiana dowolnej zmiennej powoduje zmianę drugiej, przypisanie przez referencję, przed nazwą znak & <?php $variable1 = "Ryan"; $variable2 = $variable1; // przypisanie wartości print( "$variable1, $variable2<br>" ); // wypisuje "Ryan, Ryan" $variable2 = "Scott"; print( "$variable1, $variable2<br>" ); // wypisuje "Ryan, Scott" $variable3 = &$variable1; // przypisanie przez referencję print( "$variable1, $variable3<br>" ); // wypisuje "Ryan, Ryan" $variable3 = "Katie"; print( "$variable1, $variable3<br>" ); // wypisuje "Katie, Katie"

Zmienne predefiniowane zmienne tworzone przez system, lista tych zmiennych zależy od kontekstu wykonania skryptu PHP generuje również zmienne dla cookie i danych formularzy przesyłanych za pomocą metod GET i POST wszystkie zmienne dostępne w środowisku podaje phpinfo() Zmienna HOSTNAME HOSTTYPE PATH OSTYPE Definicja Nazwa komputera serwera Typ komputera, na przykład i386 Systemowa ścieżka serwera System operacyjny działający na serwerze, na przykład Linux

Operatory (1) służą do budowy wyrażeń ze zmiennych, stałych i innych wyrażeń dzielą się na kilka grup, są jedno- i dwuargumentowe Operator Nazwa Przykład Wynik + Dodawanie $a + $b Suma $a i $b - Odejmowanie $a - $b Różnica $a i $b * Mnożenie $a * $b Iloczyn $a i $b / Dzielenie $a / $b Iloraz $a i $b % Reszta z dzielenia $a % $b Reszta z dzielenia $a przez $b

Operatory (2) Operator Nazwa Przykład Wynik & Iloczyn bitowy $a & $b Bity ustawione w $a i $b są ustawione Suma bitowa $a $b Bity ustawione w $a lub $b są ustawione ^ Różnica symetryczna $a ^ $b Bity ustawione w $a lub $b, ale nie w obu na raz są ustawione ~ Negacja ~$a Bity ustawione nie są teraz ustawione i odwrotnie << Przesunięcie w lewo >> Przesunięcie w prawo $a << $b Przesunięcie bitów w $a w lewo o $b kroków $a >> $b Przesunięcie bitów w $a w prawo o $b kroków

Operatory (3) 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 >= Większy lub równy $a <= $b True, jeżeli $a jest mniejsze lub równe $b $a >= $b True, jeżeli $a jest większe lub równe $b

Operatory (4) Operator, przykład Nazwa Wynik $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

Operatory (5) 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 symetryczna $a xor $b True, jeżeli $a lub $b mają 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 lub $b mają wartość True

Operatory (6) Operator Przykład Wynik = $a = $b Przypisuje wartość $b do $a. += $a += $b Przypisuje wartość ($a+$b) do $a. ($a=$a+$b) -= $a -= $b Przypisuje wartość ($a-$b) do $a. ($a=$a-$b) *= $a *= $b Przypisuje wartość ($a*$b) do $a. ($a=$a*$b) /= $a /= $b Przypisuje wartość ($a/$b) do $a. ($a=$a/$b).= $a.= $b Przypisuje wartość ($a.$b) do $a. ($a=$a.$b) %= $a %= $b Przypisuje wartość ($a%$b) do $a. ($a=$a%$b) = $a = $b Przypisuje wartość ($a $b) do $a. ($a=$a $b) &= $a &= $b Przypisuje wartość ($a&$b) do $a. ($a=$a&$b) ^= $a ^= $b Przypisuje wartość ($a^$b) do $a. ($a=$a^$b) <<= $a <<= $b Przypisuje wartość ($a<<$b) do $a. ($a=$a<<$b) >>= $a >>= $b Przypisuje wartość ($a>>$b) do $a. ($a=$a>>$b)

Zasięg zmiennych zmienne globalne PHP mają taki sam zasięg, rozciąga się on również na pliki dołączane wewnątrz funkcji definiowanych przez użytkownika zmienne mają zasięg lokalny zmienne globalne muszą być deklarowane jako globalne, aby mogły być wykorzystywane wewnątrz funkcji zmienne statyczne, które deklarowane wewnątrz funkcji zapewniają utrzymywanie swojej wartości pomiędzy kolejnymi wywołaniami funkcji <?php $aglobal1 = "To jest test"; /* Dołączamy inny plik z kodem PHP. Powyższa zmienna $aglobal1, będzie dostępna w dołączanym pliku. */ include( "example10_inc.php" );

function DoPrint( ) { /* Poniższa instrukcja wydrukuje tylko <br> ponieważ zmienna $aglobal1 wewnątrz funkcji jest poza zasięgiem. */ print( "$aglobal1<br>" ); } DoPrint(); function DoPrint2( ) { global $aglobal1; /* Poniższa instrukcja wypisze wartość zmiennej ponieważ została zadeklarowana jako globalna. */ print( "$aglobal1<br>" ); } DoPrint2();

function StaticFunc( ) { static $aval = 0; print( "$aval<br>" ); $aval++; } // Poniższe wywołania spowodują wypisanie 0, a następnie 1 StaticFunc(); StaticFunc();?> --- Zawartość pliku example10_inc.php3 --- <?php print( "$aglobal1<br>" );?> PHP posiada kilka predefiniowanych stałych oraz pozwala na definiowanie własnych, definicja nowej stałej - define() <?php define( "astring", "To jest stały ciąg znaków" ); define( "anumber", 1 ); print( "Mamy tutaj zdefiniowane ". anumber. " stałych.<br>" ); print( "Jej wartością jest '". astring. "'<br>" );?>