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



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

Personal Home Page PHP: Hypertext Preprocessor

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

Systemy internetowe Wykład 3 PHP

Programowanie w Internecie. Podstawy użycia JSP. Paweł Kasprowski. vl06z

Laboratorium 1 Wprowadzenie do PHP

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

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

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

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

Aplikacje WWW - laboratorium

PHP: bloki kodu, tablice, obiekty i formularze

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

SSK - Techniki Internetowe

Zmienne i stałe w PHP

Bazy Danych i Usługi Sieciowe

Niezbędne narzędzia. Przed rozpoczęciem pracy z PHP należy zainstalować odpowiednie narzędzia: środowisko PHP serwer WWW serwer baz danych MySQL

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

Umieszczanie kodu. kod skryptu

Internetowe bazy danych

Formularze. 1. Formularz HTML

INSTALACJA I KONFIGURACJA SERWERA PHP.

Wprowadzenie do Internetu Zajęcia 5

Podstawy JavaScript ćwiczenia

Zajęcia 4 - Wprowadzenie do Javascript

ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP

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

Aplikacje internetowe - laboratorium

Zabawy z PHP em. Błażej Miga, Jaroslaw Sajko, PCSS blazej.miga@man.poznan.pl jaroslaw.sajko@man.poznan.pl

Kurs PHP. Literatura. Zagadnienia: Wprowadzenie

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

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

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

Zajęcia 10 obsługa formularzy w PHP

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

PHP5. Praktyczny kurs

Internetowe bazy danych

media Blitz wydajne sytemy szablonów

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

Programowanie internetowe

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

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Obiektowe bazy danych

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

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

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

Języki programowania wysokiego poziomu. PHP cz.3. Formularze

Michał Bielecki, KNI 'BIOS'

Dokumentacja smsapi wersja 1.4

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

Wykład 03 JavaScript. Michał Drabik

Język PHP. Studium Podyplomowe Sieci Komputerowe i Aplikacje Internetowe. v1.7, 2007/11/23

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

BAZY DANYCH. Obsługa bazy z poziomu języka PHP. opracowanie: Michał Lech

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

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

Sieci Komputerowe i Technologie Internetowe (SKiTI)

SECURE /10/2006. Błażej Miga, PCSS Jaroslaw Sajko, PCSS

PHP w-3. Sterowanie w PHP

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

Zarządzanie systemami informatycznymi. Pojęcie systemu informatycznego Tworzenie interaktywnego oprogramowania internetowego w PHP

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

Dynamiczne generowanie pliku PDF

Języki skryptowe w programie Plans

14. POZOSTAŁE CIEKAWE FUNKCJE

1 Przygotował: mgr inż. Maciej Lasota

CZYM JEST JAVASCRIPT?

Formularze HTML. dr Radosław Matusik. radmat

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

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Zaawansowane bazy danych i hurtownie danych

Aplikacje WWW - laboratorium

Formularze w PHP dla początkujących

1 Podstawy c++ w pigułce.

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

Języki i narzędzia programowania III. Łukasz Kamiński Wykład II

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

Internetowe bazy danych

FORMULARZE. G. Przęczek

Laboratorium 6 Tworzenie bloga w Zend Framework

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

Tworzenie aplikacji internetowych w języku Java

SIECI KOMPUTEROWE I BAZY DANYCH

Podstawy technologii WWW

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

Smarty PHP. Leksykon kieszonkowy

Operacje na ciągach. Łączenie ciągów

Aplikacje Internetowe. przygotował:

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

Wykład 5: PHP: praca z bazą danych MySQL

Zaawansowane aplikacje internetowe

Aplikacje Internetowe. Zakres przedmiotu. Plan ramowy. Tworzenie aplikacji internetowych w języku Java w środowisku Eclipse

Baza danych do przechowywania użytkowników

Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka

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

WYMAGANIA EDUKACYJNE. Programowanie Aplikacji Internetowych klasa III

Programy CGI dla baz danych

XML extensible Markup Language. część 5

Zajęcia 11 wykorzystanie MySQL w PHP

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII

Transkrypt:

Podstawy PHP Paweł Kasprowski pawel@kasprowski.pl

Historia PHP 1995 Personal Home Page Rasmus Lerdorf, prosty jęsyk oparty na Perlu 1998 PHP3 Andi Gutmans, Zeev Suraski modularność i rozszerzenia (extensions) 2000 PHP4 wsparcie dla róznych serwerów WWW, obsługa sesji, większa szybkość działania aktualnie 20% domen internetowych uzywa PHP4! 2004 PHP5 programowanie obiektowe

Instalacja i konfiguracja Serwer WWW najczęściej Apache Moduł PHP Konfiguracja serwera pliki z rozszerzeniem.php są wysyłane do interpretera php interpreter zamienia kod php na html serwer wysyła gotową stronę do klienta

Gotowe pakiety Standardowa zawartość: LAMP Linux Apache MySQL PHP lub WAMP Windows Apache MySQL PHP Najpopularniejszy w Polsce: Krasnal Serv

Konfiguracja Apache Plik httpd.conf Instalacja jako serwis apache k install n "nazwa" f "plik konfig" Konfiguracja dla PHP: LoadModule php4_module "ścieżka" AddModule mod_php4.c DirectoryIndex index.php index.html Dla Apache2 i innych wersji PHP inne nazwy plików

Konfiguracja PHP Plik php.ini Obsługa błędów error_reporting = E_ALL display_errors = On display_startup_errors = Off log_errors = On error_log = "ścieżka" Inne register_globals = Off post_max_size = 8M extensions mail

Najprostszy skrypt <html> <body> <?php echo "<p>hello world!</p>";?> </body> </html>

Sprawdzenie konfiguracji <html> <body> <?php phpinfo();?> </body> </html>

Podstawowe elementy Zmienne Ciągi znakowe - zmienne tekstowe Instrukcje sterujące Tworzenie funkcji Tablice numeryczne i asocjacyjne

Zmienne Typ jest nadawany w momencie przypisania wartości (nie trzeba deklaracji) Automatyczna konwersja do typu, który jest potrzebny Zawsze nazwa zaczyna się od $

Ciągi znakowe Łączenie (konkatenacja) znakiem kropki '.' echo $imie.' '.$nazwisko; Można używać cudzysłowia (") i apostrofu (') $imie = 'Paweł'; $nazwisko = "Kasprowski"; Znaki specjalne w tekście oznacza się przez \ $tytul = "Restauracja \"Oleńka\" zaprasza"; Można użyć heredoc $tekst = <<<DOKUMENT...treść dokumentu... DOKUMENT;

Instrukcje sterujące if(warunek) { } [[elseif { }] else { }] używaj == zamiast = (podobnie jak w C)! switch(zmienna) { case wartosc: kod; break;... default: kod; break; } while(warunek) {...} for(inicjalizacja; warunek; inkrementacja) {...} foreach(tablica as klucz => wartość) {...}

Tworzenie funkcji Słowo kluczowe function Może dostawać parametry i function powitaj($imie) { echo "Hello ".$imie; } Może zwracać wynik function maxof($a, $b) { if($a>$b) return $a; else return $a; }

Tablice Tablice numeryczne $tab[0] = "aaa" $tab[1] = 65 wygodne do przeglądania w pętlach inna inicjalizacja: $tab = array("aaa","bbb","ccc") Tablice asocjacyjne $tab2["adam"] = "piłkarz" $tab2["grzes"] = "filatelista" $imie="olek"; $tab2[$imie]="hokeista"; dla nich najczęściej używane foreach

Foreach i tablice Tablica $samochody["fiat Brava"] = 2000; $samochody["citroen Xsara"] = 2003;... Przeglądanie całej tablicy: foreach( $samochody as $key => $value) { echo "MARKA: $key, ROCZNIK: $value <br />"; }

Zasięg zmiennych Zmienne globalne nie są domyślnie widziane w funkcjach! $imie = "paweł"; function pokazimie() { echo "Imie: ".$imie; // nic się nie pokaże! } function pokazimie2() { global $imie; echo "Imie: ".$imie; // teraz się pokaże echo $GLOBALS["imie"]; // teraz też }

Zmienne statyczne Widziane tylko w funkcji ale zachowujące wartość Kolejne wywołania używają tej samej zmiennej function Test() { static $a = 0; echo $a; $a++; }

Zmienne zmienne Wartości zmiennych mogą być także użyte jako identyfikatory! $a = "imie"; $$a = "Olek"; echo $imie; // wypisuje Olek ${$a."_nazwisko"} = "Adam Kowalski"; echo $imie_nazwisko;

Referencje Dwie zmienne mogą wskazywać na tą samą wartość Przykład 1 $a = 10; $b = $a; $a = 20; echo "a=$a b=$b"; //a=20, b=10 Przykład 2 $a = 10; $b = & $a; $a = 20; echo "a=$a b=$b"; //a=20, b=20

Łączenie plików Dzielenie wspólnej logiki przez skrypty Dołączanie pliku: include("xyz.php") Dołączanie pliku i zatrzymanie jeśli go nie ma: require("xyz.php")

Tablice superglobalne $_REQUEST $_POST $_GET $_SERVER $_COOKIE $_SESSION $_FILES $_ENV

Wczytywanie parametrów $_REQUEST[ ] $_POST[ ] $_GET[ ]

Tworzenie formularza Znaczniki <FORM> i </FORM> Wewnątrz wszystkie pola i przynajmniej jeden przycisk typu submit Parametry znacznika FORM action method onsubmit Może być więcej niż jeden formularz na stronie! Częsty błąd mieszanie pól w różnych formularzach

Przykładowy formularz <form action= http://adres.pl/zarejestruj method="get">... Imię: <input type= text name= imie ><br>... <input type= submit value= Wyślij > </form>

Pobranie danych GET Wywołanie: http://localhost/powitanie.php?imie=paweł Skrypt pobierający daną <h1>witaj <?=$_GET["imie"]?></h1> <p> <?php $imie = $_GET["imie"]; if($imie = = "Paweł") echo Ja też mam na imię Paweł! ;?> </p>

Kalkulator kredytowy Obliczenie wysokości miesięcznej raty spłaty kredytu na podstawie jego kwoty, oprocentowania rocznego i liczby rat miesięcznych rata = kwota* 1 1+ oproc /12 1 ( oproc /12) liczba _ rat

Funkcja licząca ratę function liczrate($kwota, $procent, $lat) { $rata = $kwota * ($procent/12.0) / (1 - (1 / pow( 1.0 + $procent / 12.0, $lat * 12))); return $rata; }

Wyświetlanie kredytu $kwota = 10000; $procent = 0.02; $lat = 2; echo "Dla kredytu $kwota i oprocentowania $procent". " rata przy kredycie na $lat lat wynosi:". liczrate($kwota,$procent,$lat);

Parametryzacja <form action="rata.jsp"> kwota: <input type="text" name="kwota"><br/> procent: <input type="text" name="procent"><br/> ile lat: <input type="text" name="lat"><br/> <input type="submit"/> </form>

Wyświetlanie kredytu $kwota = $_POST["kwota"]; $procent = $_POST["procent"]; $lat = $_POST["lat"]; echo "Dla kredytu $kwota i oprocentowania $procent". " rata przy kredycie na $lat lat wynosi:". liczrate($kwota,$procent,$lat);

Liczenie różnych kredytów Rezygnujemy z przekazywania liczby lat kredytowania Obliczamy jaka będzie rata w zależności od ilości lat Użycie pętli for: $N = 10; for($i=1;$i<$n;$i++){ echo liczrate($kwota, $procent, $i). "<br/>"; }

Wyświetlenie tabelki echo "<table>"; for($i=1;$i<$n;$i++){ echo "<tr>". "<td>lata: ".$i."</td>". "<td>rata: ".liczrate(10000,0.02,$i)."</td>". "</tr>"; } echo "</table>";

Ile kosztuje kredyt? Koszt kredytu to różnica między kwotą do zapłaty a kwotą kredytu Kwota do zapłaty: $dozaplaty = liczrate($kwota, $procent, $lat) * $lat * 12; Różnica: $koszt = $dozapplaty - $kwota Dodajemy funkcję: function doplata($kwota, $procent, $lat) { $sumasplat = liczrate($kwota, $procent, $lat) * $lat * 12; return $sumasplat - $kwota; }

Wyświetlenie tabelki for($i=1;$i<$n;$i++){ echo "<tr>". "<td>lata: ".$i."</td>". "<td>rata: ".liczrate($kwota,$procent,$i)."</td>". "<td>dopłata: ". doplata($kwota,$procent,$i)."</td>". "</tr>"; }

Formatowanie rezultatu for($i=1;$i<$n;$i++){ echo "<tr>". "<td>lata: ".$i."</td>". "<td>rata: ". number_format(liczrate($kwota,$procent,$i),2)."</td>". "<td>doplata:". number_format(doplata($kwota,$procent,$i),2)."</td>". "</tr>"; }

Formatowanie tekstu strlen($txt) długość tekstu strpos($txt1, $txt2[, $start]) wyszukuje txt1 w txt2 i zwraca indeks str_replace($txt1, $txt2, $txt3) zamienia txt1 na txt2 w ciągu txt3 np. str_replace("wojtek","wojciech", $lista_imion) można uzyć dwóch tablic substr($txt[,start[,length]]) zwraca podciąg, gdy start<0 liczy się od końca strtoupper, strtolower, ucwords zmiana wielkości liter implode, explode zmiana w tabelę