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

Podobne dokumenty
ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP

Bazy danych i strony WWW

Internetowe bazy danych

Zajęcia 13 wykorzystanie MySQL w PHP cz. 2

Współpraca PHP z MySql

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki

Zajęcia 11 wykorzystanie MySQL w PHP

Współpraca PHP z MySql cz.2

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

I.Wojnicki, PHP. PHP PHP Hypertext Preprocessor. Igor Wojnicki. Katedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie

I.Wojnicki, JiTW. PHP PHP Hypertext Preprocessor. Igor Wojnicki. Katedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie.

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

PHP + MySQL w laboratorium (1)

Wprowadzenie do Internetu Zajęcia 5

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Internetowe bazy danych

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

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

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

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

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

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

Aplikacje internetowe - laboratorium

Aplikacje WWW - laboratorium

SIECI KOMPUTEROWE I BAZY DANYCH

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

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

Obiektowe bazy danych

Internetowe bazy danych

Podstawy programowania (PHP/Java)

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

Sprzeg podstawowy do baz danych w PHP Mateusz Sowa, 2007

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium

SQL injection. Metody włamań do systemów komputerowych p. 1/13. Bogusław Kluge, Karina Łuksza, Ewa Makosa

Bazy Danych i Usługi Sieciowe

Programy CGI dla baz danych

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Projekt strony internetowej firmy organizującej przyjęcia

Programowanie internetowe

PHP. Tematyka wykładów: Język PHP PHP i bazy danych Rozszerzenia PHP

Aplikacje WWW - laboratorium

Systemy internetowe Wykład 3 PHP

14. POZOSTAŁE CIEKAWE FUNKCJE

Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań,

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

Wybrane działy Informatyki Stosowanej

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Zaawansowane bazy danych i hurtownie danych

Baza danych do przechowywania użytkowników

INSTALACJA I KONFIGURACJA SERWERA PHP.

Wykład I. Wprowadzenie do baz danych

Bazy danych w PHP dla początkujących

Obowiązuje od wersji

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

Sprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.

Wstęp... 2 Podstawy teoretyczne zastosowane technologie Środowisko pracy... 3 Apache HTTP Server... 3 Baza danych MySQL

Aplikacje www laboratorium

Projektowani Systemów Inf.

Szczegółowy opis zamówienia:

Rejestracja i Logowania - PHP/MySQL

Anna Fiedorowicz Bazy danych 2

Zadanie 4. Zadanie 5. Zadanie 6. Który z wymienionych znaczników należy do części <head> dokumentu HTML? A. <img> B. < tle> C. <span> D.

Aplikacje internetowe

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

Bazy Danych i Usługi Sieciowe

MVC w praktyce tworzymy system artykułów. cz. 2

Dlaczego PHP? - zalety

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

Język SQL, zajęcia nr 1

BAZY DANYCH Cz III. Transakcje, Triggery

Wykorzystanie PHP do tworzenia stron internetowych testujących wiedzę studentów ze statystyki

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

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

Pojęcie systemu baz danych

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

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Bazy danych i usługi sieciowe

SIECI KOMPUTEROWE I BAZY DANYCH

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

Praca Magisterska "System zdalnego składania ofert kupna i sprzedaży za pośrednictwem Internetu" AUTOR PROMOTOR

Bazy danych. dr inż. Arkadiusz Mirakowski

Aplikacje WWW - laboratorium

Formularze. 1. Formularz HTML

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Internetowe bazy danych

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.

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

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania

LABORATORIUM 2 WSTĘP DO SIECI TELEINFORMATYCZNYCH TABELE I FORMULARZE

Programowanie obiektowe

Podstawowe informacje o bazach danych. Technologie Informacyjne

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Laboratorium 1 Wprowadzenie do PHP

Projektowanie systemów baz danych

Bazy danych postgresql programowanie i implementacja

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Transkrypt:

Język PHP Studium Podyplomowe Sieci Komputerowe i Aplikacje Internetowe v1.7, 2007/11/23 1 Wprowadzenie Język PHP [1] jest obiektowym językiem skryptowym przeznaczonym do implementacji wstawek programowych na stronach WWW interpretowanych po stronie serwera. Podstawową zaletą skryptów po stronie serwera jest ich efektywność w porównaniu do standardowych skryptów CGI. Interpreter języka PHP jest modułem serwera WWW i cały czas jest dostępny podczas pracy serwera. Dodatkową zaletą jest możliwość wykorzystania standardowych edytorów HTML do tworzenia dynamicznych dokumentów ze względu na konieczność modyfikacji jedynie zmiennych fragmentów dokumentu. 1.1 Przykład Hello World Dokument PHP jest zwykłym dokumentem w języku HTML wzbogaconym o interpretowalne wstawki wyróżnione znacznikami i. Oto przykład najprostszego dokumentu: <head> <title>przykład skryptu PHP</title> </head> <h1>przykład skryptu PHP</h1> <p> echo("php Hello world!"); </p> <p>dzisiejsza data: echo date("d/m/y H:i:s"); </p> 1.2 PHP jako interpreter zewnętrzny PHP może być wykorzystywany do pisania skryptów uruchamianych poza serwerem WWW. Tryb ten pozawala na wykonywanie skryptów w trybie CGI na serwerach nie posiadających wbudowanego interpretera PHP. Oto przykład takiego skryptu: #!/usr/bin/php -q echo "Test skryptu PHP\n"; 1

2 Dostęp do baz danych Język PHP ma wbudowany zestaw funkcji do obsługi wielu różnych baz danych, m.in.: Oracle, PostgreSQL, MySQL, Microsoft SQL, Sybase, dbase i innych. Dostęp do baz danych będzie omówiony na przykładzie bazy PostgreSQL [2]. 2.1 PostgreSQL Dołączenie do bazy danych: # psql [ -h serwer ] -U użytkownik nazwa_bazy Komendy programu psql: \? pomoc \dt wyświetlenie listy tabel \d tabela wyświetlenie opisu tabeli tabela Zapytania: select * from pracownicy; select imie, nazwisko from pracownicy order by nazwisko; 2.2 Zawartość bazy Skrypt list.php: <h1>test połączenia z bazą Postgres</h1> <table border="1"> $db = pg_connect("dbname=webdb user=sp password=xxxxxxxx"); $res = pg_query($db, "select * from pracownicy order by nazwisko"); $num = pg_num_rows($res); for($i=0; $i<$num; $i++) echo "<tr>"; echo "<td>".pg_result($res, $i, "imie")."</td>"; echo "<td>".pg_result($res, $i, "nazwisko")."</td>"; echo "<td>".pg_result($res, $i, "rok_ur")."</td>"; echo "<td>".pg_result($res, $i, "zarobki")."</td>"; echo "</tr>\n"; pg_free_result($res); pg_close($db); </table> 2

2.3 Dodawanie rekordów Skrypt add.php: <h1>dodawanie nowych rekordów</h1> if (isset($_post["imie"])) $db = pg_connect("dbname=webdb user=sp password=xxxxxxxx"); pg_query($db, "begin"); $res = pg_query($db, "insert into pracownicy(imie, nazwisko, rok_ur, zarobki) values( $_POST[IMIE], $_POST[NAZWISKO], $_POST[ROK_UR], $_POST[ZAROBKI])"); if (!$res) echo "Błąd aktualizacji bazy!"; else echo "OK"; pg_query($db, "commit"); pg_close($db); echo "<hr>\n"; echo "\n\n"; exit; <form method="post" action="add.php"> <table> <tr><td>imię:</td> <td><input type="text" name="imie"></td></tr> <tr><td>nazwisko:</td> <td><input type="text" name="nazwisko"></td></tr> <tr><td>rok urodzenia:</td> <td><input type="text" name="rok_ur"></td></tr> <tr><td>zarobki:</td> <td><input type="text" name="zarobki"></td></tr> <tr><td colspan="2" align="center"> <input type="submit" value="wprowadź"> <input type="reset" value="wyczyść"></td></tr> </table> </form> 3 Inne możliwości PHP 3.1 Zarządzanie sesją Skrypt session.php: session_start(); 3

if (isset($_session[ count ])) $_SESSION[ count ]++; else $_SESSION[ count ] = 1; <h1>obsługa sesji</h1> <p>to jest Twoja echo $_SESSION[ count ]; wizyta.</p> <p>odwołaj się <a href="session.php">jeszcze raz</a>.</p> 3.2 Ciasteczka Skrypt cookie.php: if (isset($_cookie["ciacho"])) $ciacho = $_COOKIE["ciacho"]; else setcookie("ciacho", time() % 100, time()+5); $ciacho = "puste"; <h1>ciasteczka</h1> <p>ciasteczko ma wartość: echo $ciacho; </p> 3.3 Dynamiczne tworzenie rysunków Skrypt image.php: header("content-type: image/png"); $im = imagecreatefrompng("in.png"); $cl = imagecolorallocate($im, 0, 80, 0); imagettftext($im, 40, 0, 80, 100, $cl, "/usr/x11r6/lib/x11/fonts/truetype/verdana.ttf", strftime("%h:%m:%s")); imagepng($im); imagedestroy($im); 4

3.4 Uwierzytelnianie Skrypt auth.php: if (!isset($_server[ PHP_AUTH_USER ])) header( WWW-Authenticate: Basic realm="logowanie" ); header( HTTP/1.0 401 Unauthorized ); echo Błąd przy logowaniu ; exit; else echo "<p>witamy użytkownika $_SERVER[ PHP_AUTH_USER ].</p>"; echo "<p>wprowadziłeś \"$_SERVER[ PHP_AUTH_PW ]\" jako swoje hasło.</p>"; 3.5 Poczta elektroniczna Skrypt mail.php: mail("user@x.pl", "Test PHP", "Test z godziny: ".strftime("%h:%m:%s")); <h1>list został wysłany</h1> Istnieje możliwość modyfikacji pól nagłówka listu poprzez dodatkowy argument wywołania funkcji mail(): mail("user1@x.pl", "tytuł", "treść", "From: user2@y.pl"); Literatura [1] PHP. Język skryptowy do zastosowań internetowych. http://www.php.net. [2] PostgreSQL. Relacyjno-obiektowa baza danych. http://www.postgresql.org. 5