SIECI KOMPUTEROWE I BAZY DANYCH



Podobne dokumenty
Laboratorium 1 Wprowadzenie do PHP

Podstawy JavaScript ćwiczenia

Autor: Joanna Karwowska

SIECI KOMPUTEROWE I BAZY DANYCH

ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP

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

Aplikacje WWW - laboratorium

Obiektowe bazy danych

Aplikacje WWW - laboratorium

SSK - Techniki Internetowe

Bazy Danych i Usługi Sieciowe

Formularze w PHP dla początkujących

Aplikacje internetowe - laboratorium

Wykład 03 JavaScript. Michał Drabik

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

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

Umieszczanie kodu. kod skryptu

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium

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

Wprowadzenie do Internetu Zajęcia 5

Zdarzenia Zdarzenia onload i onunload

Michał Bielecki, KNI 'BIOS'

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki

Aplikacje WWW - laboratorium

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

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

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

Wprowadzenie do Doctrine ORM

Zaawansowane aplikacje internetowe

Zajęcia 11 wykorzystanie MySQL w PHP

Baza danych do przechowywania użytkowników

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Zajęcia 4 - Wprowadzenie do Javascript

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

Bazy danych i strony WWW

Podstawy technologii WWW

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

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

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

INSTALACJA I KONFIGURACJA SERWERA PHP.

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

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

[WYSYŁANIE MAILI Z PROGRAMU EXCEL]

Internetowe bazy danych

LABORATORIUM 2 WSTĘP DO SIECI TELEINFORMATYCZNYCH TABELE I FORMULARZE

Technologie informacyjne lab. 4

PHP + MySQL w laboratorium (1)

Funkcje i instrukcje języka JavaScript

Systemy internetowe Wykład 3 PHP

Projekt strony internetowej firmy organizującej przyjęcia

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

Spis treści. Wstęp 5 Rozdział 1. Praca z AJAX-em 9. Rozdział 2. Współpraca ze skryptami PHP 55. Rozdział 3. Obsługa formularzy 81

Rys.2.1. Drzewo modelu DOM [1]

Aplikacje WWW - laboratorium

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

Internetowe bazy danych

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

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

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

Podstawy programowania (PHP/Java)

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

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

Zajęcia 13 wykorzystanie MySQL w PHP cz. 2

Dlaczego PHP? - zalety

Laboratorium 6 Tworzenie bloga w Zend Framework

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

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

JQuery. $('#pierwszy').css('color','red').hide('slow').show(3000); $(document).ready(function() { //... tutaj nasze skrypty jquery //...

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Laboratorium 7 Blog: dodawanie i edycja wpisów

Programowanie internetowe

Być może jesteś doświadczonym programistą, biegle programujesz w Javie,

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

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

Przykładowa integracja systemu Transferuj.pl

Dokument hipertekstowy

QUERY język zapytań do tworzenia raportów w AS/400

PHP: bloki kodu, tablice, obiekty i formularze

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

Formularze HTML. dr Radosław Matusik. radmat

Kostki OLAP i język MDX

Aplikacje internetowe

JAVAScript w dokumentach HTML (2)

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Podstawy programowania III WYKŁAD 2

Projektowani Systemów Inf.

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

6. Formularze tabelaryczne, obiekty nawigacji - rozgałęzienia

5. Współpraca z bazą danych MySQL

Ilość cyfr liczby naturalnej

Serwery Statefull i Stateless

FORMULARZE. G. Przęczek

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

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

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Wysyłanie pliku na serwer. Plik na serwerze.

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

Podstawowe zagadnienia z zakresu baz danych

Transkrypt:

Akademia Górniczo-Hutnicza Wydzia ł Inżynierii Mechanicznej i Robotyki Katedra Robotyki i Dynamiki Maszyn SIECI KOMPUTEROWE I BAZY DANYCH ĆWICZENIE NR 9 Temat:

CEL ĆWICZENIA: Nabycie umiejętności tworzenia i wykorzystywania formularzy do komunikacji z bazą danych, poznanie funkcji obsługującej pocztę elektroniczną oraz tworzenie własnych funkcji i obiektów. 1. CZĘŚĆ TEORETYCZNA Do olbrzymich zalet języka PHP należy zaliczyć bogatą bibliotekę wbudowanych funkcji służących szeroko rozumianej komunikacji. Najważniejszymi z tych funkcji są funkcje umożliwiające wysyłanie wiadomości e-mail prosto z serwera oraz funkcje realizujące komunikację z różnymi bazami danych. Pisanie własnych funkcji jest również bardzo proste. Aby jednak mieć, co wysyłać pocztą lub wpisywać do bazy danych konieczne jest z reguły przygotowanie odpowiedniego formularza HTML oraz pobranie z niego danych. a) Formularze PHP w sposób bardzo prosty i niemalże intuicyjny pozwala na przechwycenie danych z formularza i przygotowanie ich do dalszego przetwarzania. Poniżej przedstawione zostaną sposoby pobrania danych z formularza. Formularz HTML powinien zawierać następujące elementy: - metodę - akcję - przycisk submit (wyślij) Kliknięcie przycisku wysyłającego dane (submit) w formularzu HTML powoduje wysłanie zmiennych do skryptu określonego przez ACTION poprzez określoną metodę METHOD. Są dwie metody POST i GET. Zmienne przesyłane z formularza do skryptu PHP są umieszczane w globalnej tablicy asocjacyjnej $_POST lub $_GET w zależności od metody formularza i są automatycznie udostępniane skryptowi. Wysłanie formularza powoduje utworzenie w wykonywanym skrypcie zmiennych według prostego schematu: nazwa obiektu formularza -> nazwa zmiennej PHP Formularz <INPUT type= text name= nazwisko > skrypt PHP $nazwisko zmienna Warto zauważyć, że proces tworzenia zmiennych jest niejako automatyczny. Wynika z niego jednak wniosek podobny do tego, który sformułowaliśmy przy definiowaniu zmiennych, to znaczy należy zwracać szczególną uwagę przy nazywaniu pól formularza. Czytelne nazewnictwo może bardzo ułatwić analizę kodu. Poniżej zaprezentowany zostanie przykład wykorzystania formularza HTML jako formularza obliczeniowego. 2

przykład 1. (skrypt wielokrokowy) $phase = $_POST['phase']; $val1 = $_POST['val1']; $val2 = $_POST['val2']; $calc = $_POST['calc']; if(!isset($phase)) $phase=""; $msg=""; switch($phase) case 'two': if( ($val1 =="") ($val2 == "") ($calc == "") ) header("location: http://localhost/skbd/labphp2/calculate.php"); exit; switch($calc) case 'add': $msg ="Wynikiem dodawania $val1 + $val2 jest <STRONG><FONT color=\"red\"> "; $result = $val1 + $val2; $msg.="$result"; case 'sub': $msg ="Wynikiem odejmowania $val1 - $val2 jest <STRONG><FONT color=\"red\">"; $result = $val1 - $val2; $msg.="$result"; case 'mult': $msg ="Wynikiem mnozenia $val1 * $val2 jest <STRONG><FONT color=\"red\">"; $result = $val1 * $val2; $msg.="$result"; case 'div': $msg ="Wynikiem dzielenia $val1 / $val2 jest <STRONG><FONT color=\"red\">"; $result = $val1 / $val2; $msg.="$result"; $msg.="</font></strong>"; <br> default: $msg.="<form method=\"post\" action=\"$php_self\"> <p> Wartość 1: <input type=\"text\" name=\"val1\" size=10> <p> Wartość 2: <input type=\"text\" name=\"val2\" size=10> <p>działanie:<br> <input type=\"radio\" name=\"calc\" value=\"add\" checked> dodawanie <input type=\"radio\" name=\"calc\" value=\"sub\"> odejmowanie <br> <input type=\"radio\" name=\"calc\" value=\"mult\"> mnozenie <br> <input type=\"radio\" name=\"calc\" value=\"div\"> dzielenie <br> <p> <input type=\"submit\" name=\"submit\" value=\"oblicz\"> <input type=\"hidden\" name=\"phase\" value=\"two\"> </form>"; 3

<HTML> <HEAD> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <TITLE> Kalkulator </TITLE> </HEAD> <BODY> </BODY> </HTML> <? echo "$msg"; Powyższy fragment kodu wymaga komentarza. Znalazły się w nim nowe elementy takie jak funkcja header, lecz również zmienna $PHP_SELF, buforowanie kodu w zmiennej $msg, oraz wykorzystanie ukrytych zmiennych na formularzu. Wszystkie te elementy pozwalają zawrzeć w jednym pliku wielokrokowy interfejs tworzony interaktywnie w zależności od działania użytkownika. Funkcja header jest wykorzystywana w celu ponownego przekierowania na początek skryptu wtedy, gdy użytkownik wybierze oblicz bez podania liczb, na których maja zostać wykonane obliczenia. Zmienna $PHP_SELF jest zmienną o specjalnym znaczeniu, przechowuje ona adres bieżącego skryptu i umożliwia wysłanie zmiennych formularza ponownie do tego samego skryptu. Aby jednak nie wracać wciąż w to samo miejsce w formularzu zdefiniowano niewidoczne (hidden) pole tekstowe o nazwie phase i wartości two, które powala na rozróżnienie w instrukcji switch etapu przetwarzania danych i właściwe sformatowanie treści wpisywanej do zmiennej $msg. Na końcu pozostaje tylko w treści strony wypisać zawartość zmiennej $msg (w tym przypadku jest to np. cały formularz lub wynik obliczeń). Oczywiście jako parametr ACTION można podać inny skrypt php, jednak rozwiązanie wykorzystujące jeden skrypt jest bardziej zwięzłe i pozwala na łatwe wykonanie prostego kreataora www. W miarę wzrostu umiejętności pisania skryptów możemy je rozszerzać o własne funkcje dokonujące sprawdzania poprawności danych jak również wysyłających odpowiednie komunikaty o błędach. Jest to konieczne, jeśli zamierzamy dane z formularza kierować do bazy danych. b) Wysyłanie listów elektronicznych (e-mail) Jednym z najczęściej spotykanych zastosowań formularzy są ankiety i zamówienia, które przesyła się na adres e-mail. PHP pozwala bardzo wygodnie przygotować informację zawartą w formularzu i wysłać ją bezpośrednio za pomocą serwera. Do wysłania wiadomości służy jedna funkcja mail. Poniżej znajduje się przykład skryptu wysyłającego wiadomość e-mail w formacie html. Takie rozwiązanie jest obecnie bardzo popularne, bo pozwala wykorzystać wszystkie formatowania tekstu, jakie wykorzystujemy na naszej stronie. przykład 2. (obsługa poczty elektronicznej, czysty tekst ) <html> <body> <? $msg=" Dzien dobry piszę do Ciebie... "; $to = "kurowski@agh.edu.pl"; $subject = "Moj pierwszy mail."; 4

$mailheaders = "From: moja strona <> \n"; $mailheaders.= "Odpowiedz: kurowski@agh.edu.pl\n"; $mailheaders.= "Content-Type: text; charset=utf-8\n"; </body> </html> mail($to,$subject,$msg,$mailheaders); echo "wysłano e-mail na adres: $to<p>"; przykład 3. (obsługa poczty elektronicznej, format html ) <html> <body> <? $msg=" <html> <head> <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"> </head> <body background=\"yellow\" leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\"> To jest wadomość. </body> </html> "; $to = "kurowski@agh.edu.pl"; $subject = "Moj pierwszy mail html"; $mailheaders = "From: moja strona <> \n"; $mailheaders.= "Reply-To : kurowski@agh.edu.pl \n"; $mailheaders.= "Content-Type: text/html; charset=utf-8\n"; </body> </html> mail($to,$subject,$msg,$mailheaders); echo "wysłano e-mail na adres: $to<p>"; c) Pisanie własnych funkcji Do tego momentu korzystaliśmy przeważnie z wbudowanych funkcji PHP. Pisanie własnych funkcji jest jednak łatwe. Funkcje definiowane przez użytkownika są niezwykle ważnym elementem optymalizacji kodu. Pisząc swoje skrypty w pewnym momencie na pewno zauważysz, że pewne jego części są powtarzane. Możesz to właśnie wyeliminować poprzez zdefiniowanie funkcji, która będzie realizowała to zadanie. W PHP funkcje muszą być zadeklarowane przed ich użyciem. Funkcje mogą przyjmować argumenty (domyślnie argumenty są przekazywane przez wartość) lub mogą nie przyjmować żadnych argumentów. Funkcja również może zwracać jakąś wartość lub nie. function suma($a, $b) $c = $a + $b; return $c; 5

echo suma(5,5); Nasza funkcja suma jak widać przyjmuje dwa argumenty. W ciele funkcji sumuje wartości tych argumentów i wynik zwraca dzięki instrukcji return. Następnie wywołujemy tą funkcję i podajemy jako argument funkcji echo. Powinniśmy zobaczyć w oknie przeglądarki wynik. W ciele funkcji możemy również wywoływać inne funkcje. function napis() echo "Dziś mamy ".gmdate("d m Y"); napis(); Mamy tu przykład wywołania funkcji w ciele funkcji przez nas definiowanej. Jednocześnie jest to funkcja, która nie przyjmuje żadnych argumentów i żadnych wartości nie zwraca. Jej zadaniem jest wyświetlenie napisu informującego, jaki mamy dzień. Jeszcze mała uwaga na temat organizacji kodu. Definicje swoich funkcji najlepiej umieszczać w innym pliku, np. lib.inc.php a następnie dołączać go do plików, w jakich zamierzamy używać zdefiniowanych przez nas funkcji poprzez wyrażenie include. plik lib.inc.php: function napis() echo "Dziś mamy ".gmdate("d m Y"); plik index.php: <? include("lib.inc.php"); //Wyrażenie dołącza plik. Jeśli nie znajduje się on w tym samym katalogu pamiętaj aby podać jako argument całą ścieżkę do pliku. napis(); PHP jest językiem obiektowym (w każdym razie na tyle na ile to jest możliwe). Oznacza to, że możemy dokonywać opisu rzeczywistości operując obiektami. Pod pojęciem obiektu rozumiemy zbiór danych oraz funkcji operujących na tych danych obudowanych w jedną strukturę. PHP daje nam możliwość zdefiniowania klas obiektów z wykorzystaniem słowa class a następnie wykorzystywania wielu obiektów danej klasy z wykorzystaniem polecenia new. Poniższy przykład pokazuje ideę wykorzystania obiektów. przykład 4. (korzystanie z obiektów) class Koszyk var $zakupy; // Zakupy w naszym koszyku // Dodaj $num artykułów typu $artnr do wózka 6

function dodaj_produkt ($artnr, $num) $this->zakupy[$artnr] += $num; // Usuń $num artykułów typu $artnr z wózka function usun_produkt ($artnr, $num) if ($this->zakupy[$artnr] > $num) $this->zakupy[$artnr] -= $num; return true; else return false; $koszyk = new Koszyk; $koszyk->dodaj_produkt("10", 1); $inny_koszyk = new Koszyk; $inny_koszyk->dodaj_produkt("0815", 3); Pisanie kodu z wykorzystaniem obiektów umożliwia zmniejszenie jego ilości, uzyskanie większej przejrzystości, dużo łatwiejsze nim zarządzanie oraz zapewnienie większego bezpieczeństwa danych poprzez ukrycie zmiennych lokalnych. d) Obsługa bazy danych na przykładzie bazy MySql Bazy danych MySQL są jednymi z najpopularniejszych wśród programistów PHP. Baza ta nadzwyczajnie dobrze spisuje się w wielu sytuacjach. Istnieje wiele dobrze opisanych funkcji PHP, które możesz użyć w połączeniu ze swoimi bazami MySQL. Jednak, aby połączyć się z bazą danych i pobrać z niej dane, będziesz potrzebował tylko kilku z tych funkcji: mysql_connect - otwiera połączenie z serwerem MySQL; wymaga nazwy hosta, użytkownika i hasła. mysql_db_select - wybiera bazę na serwerze MySQL. mysql_query - wykonuje zapytanie SQL. mysql_fetch_array - pobiera wiersz z wyniku zapytania SQL i umieszcza go w tablicy. mysql_free_result - zwalnia zasoby używane w bieżącym połączeniu. mysql_close - zamyka bieżące połączenie. Aby zapoznać się z resztą funkcji PHP do obsługi baz MySQL, zajrzyj do Manuala PHP! Przyjmijmy, że mamy zainstalowanego MySQLa na systemie, i mamy poprawnego użytkownika oraz hasło dla istniejącej bazy. Przyjmijmy także, że mamy już stworzoną tablicę w bazie, o nazwie LISTA_PRZEDMIOTOW. Tablica LISTA_PRZEDMIOTOW posiada trzy kolumny: NAZWA_PRZEDMIOTU, TYP_ZAJEC i EGZAMIN. Rekordy w tablicy LISTA_PRZEDMIOTOW zapełniamy przykładowo takimi danymi: 7

matematyka,wykład,tak fizyka,wykład,nie fizyka,laboratorium,nie itd Następnie zacznijmy tworzyć kod PHP, który tworzy zmienną połączenia: <? $connection = mysql_connect("localhost","username","password") or die("niemożliwe połączenie z bazą danych!"); Przetestuj czy połączenie zostało uzyskane, a jeżeli nie zostało to wyświetl komunikat o błędzie i zakończ działanie skryptu: Jeżeli przebrnąłeś przez test połączenia, następnym krokiem będzie wybranie bazy i stworzenie zapytania SQL. Przyjmując, że tablica LISTA_PRZEDMIOTOW istnieje w bazie danych MySQL pod nazwą "sxxxx". Najpierw stwórzmy zmienną bazy: $db = mysql_select_db("sxxxx", $connection)or die("niemożliwe pobranie bazy!"); Następnie przetestuj czy baza została wybrana, jeżeli nie została to wyświetl komunikat o błędzie i zakończ działanie skryptu: Do tego punktu, PHP łączy się z serwerem i wybiera bazę danych. Jeżeli zrobiłeś już tak dużo, to możesz bez problemu stworzyć zapytanie SQL i uzyskać wynik! Używając tablicy LISTA_PRZEDMIOTOW, przypuśćmy, że chcemy wyświetlić zasoby, zawierające nazwę przedmiotu oraz typ zajęć, które kończą się egzaminem. Stwórz zmienną przechowującą zapytanie SQL: $sql = "SELECT NAZWA_PRZEDMIOTU, TYP_ZAJEC, EGZAMIN FROM LISTA_PRZEDMIOTOW WHERE EGZAMIN = TAK ORDER BY NAZWA_PRZEDMIOTU ASC"; Następnie stwórz zmienną, która będzie przechowywała wynik zapytania, który uzyskamy używając funkcji mysql_query. Funkcja ta wymaga dwóch argumentów: zmienna połączenia oraz zmienną przechowującą zapytanie SQL, które przed chwilą stworzyłeś. $sql_result = mysql_query($sql,$connection); Aby użyć wyników zapytania ze zmiennej $sql_result, najpierw musimy rozdzielić wyniki na poszczególne wiersze używając funkcji mysql_fetch_array: while ($row = mysql_fetch_array($sql_result)) // więcej kodu w tym miejscu Pętla while stworzy tablicę o nazwie $row dla każdego z rekordów w zbiorze wyników. Aby wyciągnąć poszczególne elementy z rekordu (NAZWA_PRZEDMIOTU, TYP_ZAJEC, EGZAMIN), stworzymy zmienne: $nazwa = $row["nazwa_przedmiotu"]; $typ = $row["typ_zajec"]; $egzamin = $row["egzamin"]; Na pewno chciałbyś wyświetlić rezultaty w prostej tabelce HTMLa. Cofnij się trochę przed otwarciem pętli while i umieść przed nią taki kod : echo "<TABLE BORDER=1>"; echo "<TR><TH>NAZWA</TH><TH>TYP</TH><TH>EGZAMIN</TH>"; Po zdefiniowaniu zmiennych, możemy wyświetlić te dane w formacie tabelki: 8

echo "<TR><TD>$nazwa</TD><TD>$typ</TD><TD>$egzamin</TD></TR>"; Nowa pętla while będzie wyglądała tak: while ($row = mysql_fetch_array($sql_result)) $nazwa = $row["nazwa_przedmiotu"]; $typ = $row["typ_zajec"]; $egzamin = $row["egzamin"]; echo "<TR><TD>$nazwa</TD><TD>$typ</TD><TD>$egzamin</TD></TR>"; Po pętli while, musimy zamknąć tabelkę HTML: echo "</TABLE>"; Na końcu, powinniśmy zwolnić zasoby użyte przez to zapytanie, i zamknąć połączenie z bazą danych. Brak tego może doprowadzić do braków pamięci i innych przykrych niespodzianek, które mogą wystąpić. mysql_free_result($sql_result); mysql_close($connection); ZADANIA DO WYKONANIA 1. Należy wykonać kreator www, którego kolejne kroki umożliwią: a) krok 1: wczytanie ilości liczb na których będziemy wykonywać operacje arytmetyczne (min 2) b) krok 2: wyświetlenie formularza umożliwiającego wprowadzenie odpowiedniej ilości liczb.. c) krok 3: wyświetlenie wyniku sumowania lub mnożenia wprowadzonych liczb 2. Zrealizować wysyłanie wyników na określony w trzecim kroku kreatora adres e-mail (należy dodać trzeci krok). UWAGA! Kreator może być zrealizowany przy wykorzystaniu jednego lub większej ilości skryptów 3. Należy przy pomocy narzędzia phpmyadmin utworzyć tabelę w swojej bazie danych, wypełnić ją danymi, a następnie utworzyć skrypt pozwalający na wyświetlenie zawartości tej tabeli na swojej stronie WWW (kolejna podstrona strony głównej), w odpowiednio sformatowanej tabeli HTML. 9