Wprowadzenie do Internetu Zajęcia 5

Podobne dokumenty
Zajęcia 10 obsługa formularzy w PHP

Zajęcia 11 wykorzystanie MySQL w PHP

Formularze w PHP dla początkujących

Zajęcia 4 - Wprowadzenie do Javascript

Formularze HTML. dr Radosław Matusik. radmat

Aplikacje internetowe - laboratorium

Laboratorium 1 Wprowadzenie do PHP

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

FORMULARZE Formularz ma formę ankiety, którą można wypełnić na stronie. Taki formularz może być np. przesłany pocztą elektroniczną .

SSK - Techniki Internetowe

Zajęcia 13 wykorzystanie MySQL w PHP cz. 2

Aplikacje WWW - laboratorium

Dokument hipertekstowy

Systemy internetowe Wykład 3 PHP

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

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

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

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

Baza danych do przechowywania użytkowników

Wybrane znaczniki HTML

Wykład 03 JavaScript. Michał Drabik

FORMULARZE. G. Przęczek

ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP

Aplikacje internetowe

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

Podstawy JavaScript ćwiczenia

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

Budowa dokumentu HTML 5

LABORATORIUM 2 WSTĘP DO SIECI TELEINFORMATYCZNYCH TABELE I FORMULARZE

Internetowe bazy danych

JavaScript - wykład 4. Zdarzenia i formularze. Obsługa zdarzeń. Zdarzenia. Mysz. Logiczne. Klawiatura. Beata Pańczyk

Formularze Pobierają dane od użytkownika strony i wysyłają je do przetworzenia na serwerze (gdzie potrzebne są skrypty,któredaneprzetworzą najczęściej

Obiektowe bazy danych

Ćwiczenie 7 - Formularze

Internetowe bazy danych

Bazy Danych i Usługi Sieciowe

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

Aplikacje internetowe

Przykładowa integracja systemu tpay.com KIP S.A. ul. Św. Marcin 73/ Poznań.

Programy CGI dla baz danych

SIECI KOMPUTEROWE I BAZY DANYCH

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

Format HTML. Wybrane działy Informatyki Stosowanej. Definicja i przeznaczenie Struktura dokumentu Znaczniki Formularze i komponenty

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

Współpraca PHP z MySql

Aplikacje WWW - laboratorium

obecnie tabeli nie stosuje się do budowy struktury witryny (stosuje się za to pozycjonowanie elementów i warstwy) faktycznie wymagają

Programowanie internetowe

Współpraca PHP z MySql cz.2

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

Aplikacje WWW - laboratorium

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

Języki programowania wysokiego poziomu. Blog

Umieszczanie kodu. kod skryptu

Dynamiczne generowanie pliku PDF

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

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

Wybrane działy Informatyki Stosowanej

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

SMS Kod Automatyczny

Rejestracja i Logowania - PHP/MySQL

SIECI KOMPUTEROWE I BAZY DANYCH

Dokumentacja smsapi wersja 1.4

Języki programowania wysokiego poziomu. Forum

Celem ćwiczenia jest zapoznanie z językiem HTML i JavaScript, zasadami tworzenia stron WWW i umieszczania na nich skryptów w języku JavaScript.

Wykład 4. Specyfikacje XHTML, formularze

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

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

2. Prezentacja wizualna

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

Podstawowe wykorzystanie Hibernate

Systemy internetowe HTML

Przykładowa integracja systemu Transferuj.pl

Ćwiczenie 7 - PHP (3)

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

PHP: bloki kodu, tablice, obiekty i formularze

Dokumentacja Skryptu Mapy ver.1.1

imię kod ulica prześlij Dzięki formularzom możliwe jest pobieranie danych, a nie tylko ich wyświetlanie.

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

Witryna internetowa. Należy unikać w nazwach plików używania polskich znaków.

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

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

APLIKACJE INTERNETOWE 1 HTML - STRUKTURA STRONY INTERNETOWEJ

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

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

Języki programowania wysokiego poziomu. Ćwiczenia

Michał Bielecki, KNI 'BIOS'

Udostępnianie klientom zasobów serwera

Przedmiot: Programowanie usług internetowych - Delphi Przygotował: K. Strzałkowski Rok V. Semestr IX. Wydział ZiMK

Internetowe bazy danych

PHP5. Praktyczny kurs

Formularze. 1. Formularz HTML

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

Aplikacje WWW - laboratorium

E.14 Bazy Danych cz. 19 SQL i PHP współpraca przez stronę internetową

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

Bazy Danych i Usługi Sieciowe

0.1 Logowanie do serwisu

Aplikacje WWW - laboratorium

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Transkrypt:

Zajęcia 5 Formularze w PHP Przekazywanie danych ze strony do skryptu PHP Dane ze strony WWW do skryptu PHP można przekazać za pomocą formularzy. W tym celu należy stworzyć formularz (znacznik <form>), wybrać metodę przesyłania danych (atrybut method) oraz określić adres, gdzie zostaną wysłane dane zebrane z formularza (atrybut action). Formularz powinien zawierać znacznik <input>, typu submit, po którego wciśnięciu dane wpisane w pola formularza są zbierane, a następnie przesyłane wybraną metodą pod określony adres. Pod adresem określonym w parametrze action formularza kryć się będzie skrypt PHP, którego zadaniem będzie przechwycenie danych z formularza, a następnie przetworzenie ich wedle potrzeb. Metody przesyłania danych z formularza Dostępne są 2 metody przesyłania danych z formularza: 1. GET wszystkie dane z formularza są doklejane do adresu skryptu, po znaku? np. index.php?zmienna1=wartosc1&zmienna2=wartosc2. Wartość zmiennej ma długość ograniczoną do 100 znaków. 2. POST dane z formularza są przekazywane niejawnie, dzięki temu jest to metoda bezpieczniejsza. Powinno się ją stosować np. w formularzach logowania. W tej metodzie nie ma ograniczenia długości zmiennych, można również w ten sposób przekazywać dany binarne (wgrywanie plików przez przeglądarkę). Przechwytywanie danych w skypcie PHP W skrypcie PHP, dane wysłane z formularza HTML są dostępne w systemowych tablicach asocjacyjnych $_POST i $_GET, odpowiednio dla formularzy wysyłanych metodami POST i GET). Wartości zmiennych indeksowane są nazwami pól formularza, np. jeżeli w formularzu znajduje się pole tekstowe o nazwie pole1, to jego wartość będzie dostępna w skrypcie Paweł Zawadzki 2007 2016 Strona 1 / 14

PHP pod zmienną $_POST[ pole1 ], bądź $_GET[ pole1 ] (w zależności od wybranej metody przesyłania danych). Przykład 1 Przykład formularza z obsługą w osobnym pliku PHP. [plik HTML] <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf- 8"> </head> <body> <form method="post" action="przyklad1.php"> Imię: <input type="text" name="imie" /> Nazwisko: <input type="text" name="nazwisko" /> Płeć: Paweł Zawadzki 2007 2016 Strona 2 / 14

<input type="radio" name="plec" value="m"> M <input type="radio" name="plec" value="k"> K <input type="submit" name="wyslij" value="wyślij" /> </form> </body> </html> Paweł Zawadzki 2007 2016 Strona 3 / 14

[plik PHP] <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf- 8"> </head> <body> <?php if(isset($_post['wyslij'])):?> <table> <tr> <th>nazwa pola</th> <th>wartość</th> </tr> <?php foreach($_post as $klucz => $wartosc):?> <tr> <td><?=$klucz?></td> <td><?=$wartosc?></td> Paweł Zawadzki 2007 2016 Strona 4 / 14

</tr> <?php endforeach;?> </table> <?php endif;?> </body> </html> Przykład 2 W poniższym przykładzie zostanie stworzony formularz, w którym użytkownik będzie miał możliwość wybrania liczby kolumn, wierszy tabeli oraz koloru tła całej strony. Po wysłaniu formularza wygenerowana zostanie strona zawierająca tabelę o podanych parametrach. Paweł Zawadzki 2007 2016 Strona 5 / 14

[plik HTML] <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf- 8"> </head> <body> Paweł Zawadzki 2007 2016 Strona 6 / 14

<form method="post" action="przyklad2.php"> Liczba wierszy: <select name="liczba_wierszy"> <option value="5">5</option> <option value="10">10</option> <option value="15">15</option> </select> Liczba kolumn: <select name="liczba_kolumn"> <option value="5">5</option> <option value="10">10</option> <option value="15">15</option> </select> Kolor tła strony: <select name="kolor_tla"> <option value="green">green</option> <option value="blue">blue</option> <option value="yellow">yellow</option> </select> <input type="submit" name="wyslij" value="wyślij" /> </form> </body> </html> Paweł Zawadzki 2007 2016 Strona 7 / 14

Paweł Zawadzki 2007 2016 Strona 8 / 14

[plik PHP] <?php $liczbawierszy = empty($_post['liczba_wierszy'])? 2 : $_POST['liczba_wierszy']; $liczbakolumn = empty($_post['liczba_kolumn'])? 2 : $_POST['liczba_kolumn'];?> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf- 8"> </head> <?php if(isset($_post['kolor_tla'])):?> Paweł Zawadzki 2007 2016 Strona 9 / 14

<body style="background-color: <?=$_POST['kolor_tla']?>"> <?php: else:?> <body> <?php endif;?> <table border="1"> <?php for($i = 0; $i < $liczbawierszy; $i++):?> <tr> <?php for($j = 0; $j < $liczbakolumn; $j++):?> <td><?=$i?>.<?=$j?></td> <?php endfor;?> </tr> <?php endfor;?> </table> </body> </html> Paweł Zawadzki 2007 2016 Strona 10 / 14

Sesja HTTP jest protokołem bezstanowym, co oznacza, że każde wywołanie podstrony, czy też skryptu PHP jest zupełnie oddzielnym procesem. Wszystkie zmienne tworzone w obrębie działania skryptu, po jego zakończeniu są usuwane. Czasem jednak wymagane jest przekazanie pewnych danych między wywołaniami podstron. Bardzo dobrym przykładem jest logowanie się do serwisu; użytkownik powinien raz wprowadzić swój login i hasło, a następnie po poprawnym zalogowaniu powinien mieć możliwość pracy z serwisem (odwiedzać wiele podstron). W tej sytuacji należy wykorzystać mechanizm sesji, który pozwala na trwałe (w ramach wizyty użytkownika w serwisie) zapisanie pewnych informacji w tablicy systemowej PHP $_SESSION. Na każdej podstronie, gdzie wykorzystywane będą dane sesyjne, należy na samym początku skryptu wywołać funkcję session_start(), która tworzy, bądź otwiera istniejącą sesję. Paweł Zawadzki 2007 2016 Strona 11 / 14

Przykład [przyklad3.php] Paweł Zawadzki 2007 2016 Strona 12 / 14

<?php session_start(); if(isset($_post['zaloguj'])) { if($_post['uzytkownik'] == 'admin' && $_POST['haslo'] == 'tajne') { $_SESSION['zalogowany'] = 'tak'; header("location: tajne.php"); } }?> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf- 8"> </head> <body> <?php if(isset($_get['komunikat']) && $_GET['komunikat'] == 1):?> <p style='color: red;'>najpierw musisz sie zalogowac!</p> <?php endif;?> <form method="post" action="przyklad3.php"> Nazwa użytkownika: <input type="text" name="uzytkownik" /> Hasło: <input type="password" name="haslo" /> <input type="submit" name="zaloguj" value="zaloguj" /> </form> </body> </html> Paweł Zawadzki 2007 2016 Strona 13 / 14

[tajne.php] <?php session_start(); if (empty($_session['zalogowany'])) header("location: przyklad3.php?komunikat=1");?> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf- 8"> </head> <body> Tajna strona. </body> </html> Zadania 1. W przykładzie 2 proszę o dodanie checkboxa pokoloruj parzyste, którego zaznaczenie spowoduje pokolorowanie co drugiego wiersza wygenerowanej tabeli na żółto. 2. W przykładzie 3 proszę o wyświetlenie odpowiedniego komunikatu w przypadku podania złego loginu lub hasła. Paweł Zawadzki 2007 2016 Strona 14 / 14