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

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

Systemy internetowe Wykład 3 PHP

ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP

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

Internetowe bazy danych

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

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

Wprowadzenie do Internetu Zajęcia 5

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

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

Internetowe bazy danych

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

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

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

Aplikacje internetowe - laboratorium

Aplikacje WWW - laboratorium

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

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

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

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

Bazy Danych i Usługi Sieciowe

Formularze w PHP dla początkujących

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

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

Programowanie internetowe

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

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

Laboratorium 1 Wprowadzenie do PHP

Aplikacje internetowe

Baza danych do przechowywania użytkowników

Formularze HTML. dr Radosław Matusik. radmat

Instrukcje dołączania plików

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

Zmienne i stałe w PHP

Zajęcia 13 wykorzystanie MySQL w PHP cz. 2

SSK - Techniki Internetowe

Internetowe bazy danych

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

API transakcyjne BitMarket.pl

Programowanie w językach wysokiego poziomu

I.Wojnicki, Tech.Inter.

WYKŁAD 1 SYSTEMY CMS CZĘŚĆ 1

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

Zajęcia 11 wykorzystanie MySQL w PHP

Tablice, procesy, sygnały i nie tylko. Kurs systemu Unix 1

WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH

Dlaczego PHP? - zalety

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

I. INSTALACJA BAZY DANYCH ORACLE10g EXPRESS EDITION

Instrukcja instalacji oprogramowania TSG wer. 5.0 z dost pem do danych poprzez sie Internet.

1. Warunki. 2. Zakładanie konta. 3. Logowanie. 4. Korzystanie z portalu partnera serwisowego 5. Subkonta 5.1Zakładanie subkonta. 5.

Ćwiczenie 7 - PHP (3)

Ćwiczenie laboratoryjne. Komunikacja z serwerem w języku PHP

Projektowani Systemów Inf.

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

SMS Kod Automatyczny

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: Tablice w PHP 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA

Zajęcia 10 obsługa formularzy w PHP

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

Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http

Zad.1 Pokazać pierwszeństwo trybu odmów przed zezwalaj.

O autorze 11 O recenzentach 13 Przedmowa 15

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

Obiektowe bazy danych

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

Zaawansowane bazy danych i hurtownie danych

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Dokumentacja smsapi wersja 1.4

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Microsoft Management Console

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

Podstawy JavaScript ćwiczenia

Tworzenie aplikacji internetowych E14

PHP - informacje ogólne

Autor: Joanna Karwowska

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

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

POLITYKA PRYWATNOŚCI SKLEPU INTERNETOWEGO

Programowanie internetowe

Personal Home Page PHP: Hypertext Preprocessor

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

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

4. Pliki Informacje ogólne o dostępie do plików w PHP Sprawdzanie istnienia pliku file_exists()

6. Bezpieczeństwo przy współpracy z bazami danych

Projekt strony internetowej firmy organizującej przyjęcia

Udostępnianie klientom zasobów serwera

Umieszczanie kodu. kod skryptu

Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Rejestracja i Logowania - PHP/MySQL

CGI i serwlety. Plan wykładu. Wykład prowadzi Mikołaj Morzy. Przykład: serwlety vs. szablony. Implementacja logiki prezentacji

Udostępnianie klientom zasobów serwera

Przykładowa integracja systemu Transferuj.pl

Logowanie do systemu Faktura elektroniczna

Języki programowania wysokiego poziomu. Forum, Blog, Sample DB - wskazówki

PHP5. Praktyczny kurs

Wykład 03 JavaScript. Michał Drabik

Polityka prywatności i wykorzystywania plików cookies w serwisie internetowym mateuszgrzesiak.tv

Instrukcja obsługi zamka. bibi-z50. (zamek autonomiczny z czytnikiem identyfikatora Mifare)

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Transkrypt:

Wydział Informatyki Politechnika Białostocka Zaawansowane bazy danych i hurtownie danych MySQL studia zaoczne II stopnia, sem. I Plan wykładu 1. PHP: Przekierowanie u ytkownika 2. Pliki cookie 3. Sesje 4. PHP i MySQL WYKŁAD 5: Agnieszka Oni ko, Małgorzata Kr towska Przekierowanie u ytkownika na inn stron header() - funkcja, która pozwala na modyfikacj nagłówka odpowiedzi PHP wysyłanego przez serwer. Location: nowy adres zmiana nagłówka location na nowy adres header ( Location: http://www.witryna.pl/nowa_strona.html ); Uwagi: Funkcja header() musi by wywołana jako pierwsza, gdy informacje nagłówka musz by wysłane do przegl darki internetowej przed wysłaniem jakichkolwiek polece HTML lub tekstu. Przekierowanie u ytkownika na inn stron - przykłady Nieprawidłowe wywołanie funkcji header : echo Zostaniesz przekierowany na inn stron!!! <br /> //Bł d header ( Location: http://www.witryna.pl/nowa_strona.html ); Przekierowanie u ytkownika do innego pliku w tej samej lokalizacji: Header( Location: http://.$_server[ HTTP_HOST ]. dirname($_server[ PH_SELF ]. nowa_strona.php );

Przekazywanie plików Dost p do pliku ze skryptu PHP Formularz do przekazywanie plików: <form enctype="multipart/form-data action="skryptphp.php method="post"> Wybierz plik, który chcesz przekaza : <br /> <input name="moj_plik" type="file" /><br /> <input type="submit" value="przeka plik" /> </form> enctype="multipart/form-data - sposób kodowania danych gdy przesyłamy plik action="skryptphp.php nazwa skryptu przetwarzaj cego plik method="post" - zawsze metoda POST Wykorzystanie tablicy superglobalnej: $_FILES Zawarto tablicy $_FILES: $_FILES[ plik_uzytkownika ][ name ] nazwa pliku na komputerze u ytkownika $_FILES[ plik_uzytkownika ][ type ] typ pliku np. gif $_FILES[ plik_uzytkownika ][ size ] wielko pliku w bajtach $_FILES[ plik_uzytkownika ][ tmp_name ] tymczasowa nazwa pliku przekazanego do serwera i przechowywanego na nim $_FILES[ plik_uzytkownika ][ error ] kod bł du przypisany do przekazanego pliku Przykład Dokument HTML:. <input name="moj_plik" type="file" /><br />. Skrypt PHP $handle = fopen($_files[ moj_plik']['tmp_name'], 'r'); while(!feof($handle)){ $text = fgets($handle); echo $text,'<br />'; Wybrane funkcje dotycz ce plików fopen(nazwa pliku, tryb) otwiera plik lub adres URL; Tryb np..: r (odczyt), w(zapis), a(doł czanie), b(plik binarny) fclose() zamykanie pliku feof() sprawdza czy został osi gni ty koniec pliku fgetc() pobiera znak z pliku fgets() pobiera wiersz z pliku file_exists() sprawdza, czy dany plik lub katalog istnieje file() wczytuje cały plik do tablicy fread() odczytuje z pliku wskazan liczb znaków (bajtów)

Pliki $nazwa_pliku = "test.txt"; echo "<p>zapis do ".$nazwa_pliku."... </p>"; $fp = fopen($nazwa_pliku, "w"); if (!file_exists($fp){ print Nie znaleziono pliku lub katalogu ; exit(); fwrite($fp, Hi!\n"); fclose($fp); echo "<p>dopisywanie do ".$nazwa_pliku."...</p>"; $fp = fopen($nazwa_pliku, "a"); if (!file_exists($fp){ print Nie znaleziono pliku lub katalogu ; exit(); fputs($fp, Wpisywanie lancucha do pliku\n"); fclose($fp); Pliki: include Include plik.php wł cza wyszczególniony plik do skryptu Przykład: test.php echo Napis: $color $fruit"; // Napis include zmienne.php'; echo Napis $color $fruit"; // Napis: zielone jabłko zmienne.php $color = zielone'; $fruit = jabłko'; Pliki: Funkcje function outputfiletestinfo($f) { if (!file_exists($f)) { echo "<p>$f nie istnieje</p>"; return; echo "<p>$f " (is_file($f)? "" : nie jest"). jest plikiem</p>"; echo "<p>$f ".(is_dir($f)? "" : nie jest"). jest katalogiem</p>"; echo "<p>$f ".(is_readable($f)? "": nie jest "). jest do odczytu</p>"; echo "<p>$f ".(is_writable($f)? "": nie jest "). jest do zapisu</p>"; echo "<p>$f ".(is_executable($f)? "": nie jest "). jest wykonywalny</p>"; echo "<p>$f ma ".(filesize($f)). bajtów</p>"; echo "<p>$f był otwierany ".date( "D d M Y g:i A",fileatime($f))."</p>"; echo "<p>$f był modyfikowany ".date( "D d M Y g:i A",filemtime($f))."</p>"; $file = "test.txt"; outputfiletestinfo($file); Mechanizm cookies i sesje S wykorzystywane w celu umo liwienia programom zapami tanie poprzednich da Pliki cookie s wykorzystywane do przechowywania małych informacji w przegl darce internetowej u ytkownika Sesje mog zarz dza wi ksz liczb danych i przechowywa je po stronie serwera

Przykład Pliki cookie Ci gi tekstowe przechowywane na dysku twardym u ytkownika w postaci małych plików tekstowych Pliki te s wysyłane z programu po stronie serwera do przegl darki internetowej u ytkownika za pomoc dania HTTP oraz nagłówków odpowiedzi Plik cookie składa si z tekstu w formie klucz=warto ;, wewn trz ci gu tekstowego nie mo na stosowa redników, przecinków oraz znaków odst pu Dost p do danych zawartych w pliku cookie z poziomu PHP: tablica globalna $_COOKIE setcookie('uzytkownik','jan Kowalski'); //utworzenie cookie setcookie('kolor','niebieski'); <html><head><title>tablica Cookie</title></head> <body bgcolor="lavender"> <font face="verdana" size='+1'> <h2>$_cookie[]</h2> if(! empty($_cookie[kolor])){ echo '<pre>'; print_r($_cookie); echo '</pre>'; </font> </body> </html> Przykład cd: Współdziałanie serwera, przegl darki oraz PHP Pierwsze wczytanie strony: Klient (przegl darka) W przypadku ka dego dania klienta do serwera zostanie wysłany plik cookie. Program PHP przypisze to cookie do superglobalnej tablicy $_COOKIE[] Kolejne wczytanie strony: Plik cookie Uzytownik =Jan+Kowalski; kolor=niebeski danie HTTP Serwer Przestrze globalna Odpowied HTTP $_COOKIE[ kolor ] w tym miejscu s zapisywane ustawienia u ytkownika ---------------------------------------------------------------- PHP Setcookie( kolor = niebeski ); Setcookie ( uzytkownik = Jan Kowalski

Serializacja $info = array('alicja', 'czerwony', 22); setcookie('u ytkownik', serialize($info)); <html><head><title>przechowywanie wielu warto ci w cookie</title></head> <body bgcolor="lavender"> <font face="verdana" size='+1'> <h2>$_cookie[]</h2> <pre> <b> if(! empty($_cookie['u ytkownik'])){ $cookie_data = $_COOKIE['u ytkownik']; $cookie_data = stripslashes($cookie_data); //usuni cie uko ników z ci gu tekstowego $cookie_data = unserialize($cookie_data); //z uko nikami unserialize() zako czy si //niepowodzeniem echo 'Dane znajduj ce si w tablicy umieszczonej w cookie<br />'; print_r($_cookie); echo '<pre>dane po procesie deserializacji<br />'; print_r($cookie_data); </b> </pre> </font> </body> </html> Serializacja cd. Sesja Pliki cookie oraz sesje wspólny identyfikator Sesja czas, który u ytkownik sp dza na witrynie internetowej. J zyk PHP zawiera mechanizm słu cy do zarz dzania sesjami, pozwalaj cy na ledzenie działa u ytkownika, jego upodoba itp. Cel sesji: zachowanie stanu Klient (przegl darka) W przypadku ka dego dania klienta do serwera zostanie wysłany plik cookie. Serwer u yje ID umieszczone w pliku cookie do odnalezienia wła ciwego pliku sesji. Plik cookie PHPSESSID =daf356hdj282h00du2291 Serwer Plik sesji Sess_ daf356hdj282h00du2291 Kolory:4: niebieski Ustawienia u ytkownika s zapisane w pliku sesji PHP Session_start(); Miejsce na ustawienie zmiennych sesji

Rozpocz cie sesji session_start() - tworzy now lub przywraca uruchomion wcze niej sesj session_id() zwraca identyfikator sesji echo "<p>id Twojej sesji: ".session_id().".</p>"; Rejestrowanie sesji Aby mie mo liwo dost pu do pewnych zmiennych nale y je zarejestrowa Metody rejestracji: U ywaj c tablicy $_SESSION (zalecane) np. $_SESSION[ uzytkownik ]= Ela ; U ywaj c funkcji session_register() np. session_register( uzytkownik ); Rozpocz cie sesji if(!isset($_session['licznik'])) { $_SESSION['licznik'] = 0; $_SESSION['licznik']++; echo T stron odwiedziłe ju '.$_SESSION['licznik']. razy!'; Zmienne sesji $_SESSION[ produkt1"] = Pierwszy"; $_SESSION[ produkt2"] = Drugi"; echo Produkty zostaly zarejestrowane."; echo Twoje produkty:"; echo "<ul>"; echo "<li>".$_session["produkt1"]."</li>"; echo "<li>".$_session["produkt2"]."</li>"; echo "</ul>";

Zmienne sesji: Przykład (sesja_z_tablica.php) <html> <head> <title>przechowywanie tablicy w zmiennej sesji</title> </head> <body> <h1>wybor produktow</h1> if (isset($_post["form_products"])) { if (!empty($_session["products"])) { $products = array_unique( array_merge(unserialize($_session["products"]), $_POST["form_products"])); $_SESSION["products"] = serialize($products); else { $_SESSION["products"] = serialize($_post["form_products"]); echo "<p>produkty zostaly wybrane!</p>";...... Zmienne sesji: Przykład (sesja_z_tablica.php) <form method="post" action=" echo $_SERVER["PHP_SELF"]; "> <P><strong>Wybierz produdkty:</strong><br> <select name="form_products[]" multiple="multiple" size="5"> <option value="produkt1">produkt1</option> <option value="produkt2">produkt2</option> <option value="produkt3">produkt3</option> <option value="produkt4">produkt4</option> <option value="produkt5">produkt5</option> </select> <P><input type="submit" value="wybierz"/></p> </form> <p><a href="sesja1.php">zobacz koszyk</a></p> </body> </html> Zmienne sesji: Przykład (sesja1.php) <html> <head> <title>pobieranie wartosci zmiennych sesji</title> </head> <body> <h1>zawartosc</h1> if (isset($_session["products"])) { echo "<strong>twoj koszyk:</strong><ol>"; foreach (unserialize($_session["products"]) as $p) { echo "<li>".$p."</li>"; echo "</ol>"; <p><a href="sesja_z_tablica.php">wroc do strony z wyborem produktow</a></p> </body> </html> Funkcje serialize() zwraca ci g tekstowy zawieraj cy strumie bajtów przedstawiaj cych warto. Pozwala to na przechowywanie warto ci gdziekolwiek unserialize() przywraca ci g tekstowy do jego pierwotnej postaci isset() sprawdzenie, czy zmienna ma warto array_unique usuwanie powtarzaj cych si warto ci tablicy array_merge ł czenie tablic $_SERVER["PHP_SELF"] odwołanie do nazwy aktualnie wywoływanego skryptu PHP

Zamykanie sesji $_SESSION[ test ] = 5; session_destroy(); //usuni cie sesji nie usuwa zmiennych sesji echo $_SESSION[ test ]; unset($_session[ test ]); //usuni cie zmiennej test echo $_SESSION[ test ]; Lista wyboru w HTML <html> <head> <title>formularz HTML z list wyboru</title> </head> <body> <form action= lista_wyboru.php" method="post"> <p><strong>nazwa:</strong><br/> <input type="text" name="user"/> <p><strong>wybierz produkt:</strong><br/> <select name="products[]" multiple="multiple"> <option value= element1">element 1</option> <option value="element2"> Element 2</option> <option value="element3"> Element 3</option> <option value="element4"> Element 4</option> </select> <p><input type="submit" value= Wyslij"/></p> </form> </body> </html> Analiza listy wyboru w PHP echo "<p>witaj <b>".$_post["user"]."</b>!</p>"; echo "<p>wybrane przez Ciebie produkty:<br/>"; if (!empty($_post["products"])) { echo "<ul>"; foreach ($_POST["products"] as $value) { echo "<li>$value</li>"; echo "</ul>"; Tworzenie listy wyboru //polaczenie z serwerem: $polaczenie = mysql_connect("dbserver.wi.pb.edu.pl", "konto", "hasło"); if (mysql_errno()) { printf("brak poł czenia z baz : %s\n", mysql_error()); exit(); //wybor bazy $baza = mysql_select_db( nazwa_bazy", $polaczenie); //przekazywanie zapytania do bazy $select_kolor = "SELECT kolor FROM kolor ORDER BY kolor"; $wynik = mysql_query($select_kolor, $polaczenie) ; if (mysql_errno()) { printf("%s\n", mysql_error()); exit();

Tworzenie listy wyboru if (mysql_num_rows($wynik) > 0) { $wyswietl_blok.= "<p><strong>kolor:</strong><br/> <select name=\"wybor_koloru\">"; while ($wiersze = mysql_fetch_array($wynik)) { $kolor = $wiersze['kolor']; $wyswietl_blok.= "<option value=\"".$kolor."\">".$kolor."</option>"; $wyswietl_blok.= "</select>"; echo $wyswietl_blok; //tworzenie listy wyboru mysql_close($polaczenie);