Rozdział ten przedstawia jeden ze sposobów implementacji usług sieciowych XML i aplikacji klienckich w PHP. Oprogramowanie
|
|
- Sławomir Tomaszewski
- 6 lat temu
- Przeglądów:
Transkrypt
1 Tematy: Oprogramowanie Tworzymy usługę sieciową Tworzymy aplikację kliencką Podsumowanie Tematem tego rozdziału są usługi sieciowe XML, a dokładniej ich implementacja w PHP. Ponieważ PHP jest językiem i środowiskiem do tworzenia aplikacji WWW przeznaczonych do realizacji różnych zadań, również do tworzenia poważnych aplikacji biznesowych, nie może w nim zabraknąć możliwości tworzenia usług sieciowych oraz oprogramowania klienckiego. Czym są usługi sieciowe? Otóż usługi sieciowe XML to komponenty programowe świadczące określone usługi i wykonujące określone zadania przez sieć (najczęściej internet), do wymiany informacji wykorzystujące język XML. Korzystanie z usług sieciowych z założenia przypomina wywoływanie funkcji musimy znać jej nazwę, przyjmowane parametry i typ (rodzaj) wartości zwracanej tyle że odbywa się to za pośrednictwem sieci. Usługi sieciowe z założenia są technologią ponadplatformową. Aby uniknąć problemów związanych z poznawaniem przez programistów nowych protokołów wymiany danych, usługi sieciowe wykorzystują istniejące już wysokopoziomowe protokoły najczęściej jest to HTTP. Zaletą wykorzystania protokołu HTTP jest niewątpliwie jego szeroka znajomość przez twórców oprogramowania oraz to, że dane przesyłane przez HTTP zwykle nie są blokowane przez zapory sieciowe. Usługi sieciowe i korzystające z nich programy (ewentualnie inne usługi, które z nich korzystają) do wymiany danych używają tzw. kopert SOAP (ang. Simple Object Access Protocol prosty protokół dostępu do obiektów) zapisanych w języku HTML. Do opisu usług sieciowych (dostępnego również przez sieć) służy język WSDL (ang. Web Services Description Language język opisu usług sieciowych), również oparty na języku XML. Opis usługi jest dostępny przez sieć i służy programom klienckim do rozpoznania usługi i poprawnego jej wywołania opis taki zawiera nazwy, listę parametrów oraz rodzaj wartości zwracanych przez usługi. Programy klienckie mogą taki opis analizować na bieżąco, ale najczęściej (szczególnie w rozbudowanych środowiskach programistycznych) na podstawie opisu usługi generowane są tzw. stuby, czyli klasy i funkcje umożliwiające bardzo łatwy dostęp do metod usługi sieciowej (wywołanie takiej metody niczym nie różni się od wywołania zwykłej funkcji czy metody danego obiektu). Na koniec, usługa sieciowa może być umieszczona w rejestrze usług spowoduje to możliwość łatwego wyszukania usług realizujących jakieś konkretne zadanie przez program kliencki lub przez twórców oprogramowania. najczęściej realizowane są jako aktywne strony WWW, uruchamiane na popularnych serwerach WWW działających na różnych platformach systemowych. Najpopularniejszymi platformami językowymi i uruchomieniowymi używanymi do realizacji usług sieciowych XML są obecnie J2EE i.net. PHP raczej nie słynie w świecie IT jako platforma dla usług sieciowych, ale nie oznacza to bynajmniej, że usług takich nie da się w PHP implementować. Ponieważ usługi sieciowe XML używają uznanych standardów w wymianie informacji, są wygodne do tworzenia i używania w programach, stanowią duży krok w rozwoju systemów rozproszonych, gdzie określone zadanie może być realizowane przez różne, niemające ze sobą nic wspólnego (szczególnie jeżeli chodzi o stronę software ową) hosty. Rozdział ten przedstawia jeden ze sposobów implementacji usług sieciowych XML i aplikacji klienckich w PHP. Oprogramowanie Istnieje kilka mniej lub bardziej udanych implementacji obsługi protokołu SOAP w PHP. Na potrzeby tego kursu wybrany został NuSOAP pakiet do tworzenia usług sieciowych w PHP i korzystania z nich. Oprogramowanie to jest rozwijane na licencji LGPL i dostępne na stronie Instalacja NuSOAP jest prosta wystarczy pobrać plik (archiwum ZIP) zawierający aktualną wersję stabilną (w momencie redagowania tego kursu była to wersja 0.7.3) i wypakować jego zawartość do dowolnego folderu w folderze głównym aplikacji, która będzie świadczyć usługi sieciowe lub z nich korzystać, albo jeszcze lepiej 1 / 8
2 do dowolnego folderu zdefiniowanego za pomocą dyrektywy include_path pliku konfiguracyjnego php.ini. Jak zapewniają autorzy NuSOAP (i co jest zgodne z prawdą), nie są potrzebne żadne dodatki do PHP, aby móc w pełni korzystać z tego pakietu. Tworzymy usługę sieciową Nasza przykładowa usługa sieciowa będzie nosiła nazwę Usługa testowa i będzie zawierała tylko jedną metodę (funkcję), zwracającą aktualną datę serwera. Data będzie zwracana w formacie długim (np. 20 lipca 2010 r.) lub krótkim (np ) w zależności od tego, czy parametr przekazywany metodzie będzie miał wartość true, czy false. Na początek musimy napisać funkcję, która będzie zwracała datę jak opisano wyżej, ale która nie będzie miała nic wspólnego z usługą sieciową. Funkcja ta może wyglądać np. tak: function podajdlugadate($typ) { // $miesiace to tablica asocjacyjna zdefiniowana wcześniej, //tłumacząca numery miesięcy na ich nazwy global $miesiace; if ($typ == false) { $data = date('y-m-d'); else { $data = date('d')." ".$miesiace[date('m')]." ".date('y')." r."; return $data; W funkcji tej umieszczone zostało odwołanie do zadeklarowanej wcześniej (w tym samym pliku co funkcja, tylko ponad nią czyli globalnie) tablicy asocjacyjnej $miesiace. Tablica ta jest indeksowana numerami miesięcy (w postaci dwucyfrowych liczb traktowanych jako ciąg znaków) i zawiera odpowiadające im nazwy miesięcy. Teraz tę funkcję przerobimy na metodę usługi sieciowej. W tym celu w udostępnianym przez serwer katalogu utworzymy plik o nazwie dateserv.php i wprowadzimy do niego zawartość listingu Listing Definicja usługi sieciowej <?php // Dołączenie pakietu NuSOAP require_once("soap/lib/nusoap.php"); // Tablica asocjacyjna do konwersji numerów miesięcy na nazwy $miesiace = array('01' => 'stycznia', '02' => 'lutego', '03' => 'marca', 2 / 8
3 '04' => 'kwietnia', '05' => 'maja', '06' => 'czerwca', '07' => 'lipca', '08' => 'sierpnia', '09' => 'września', '10' => 'października', '11' => 'listopada', '12' => 'grudnia'); // Utworzenie usługi sieciowej (serwera SOAP) $ns = " $serwer = new soap_server(); $serwer->configurewsdl('usługa testowa', $ns); $serwer->wsdl->schematargetnamespace = $ns; // Rejestracja metod usługi sieciowej $serwer->register('podajdlugadate', array('typ' => 'xsd:boolean'), array('return' => 'xsd:string'), $ns, false, false, false, 'Zwraca aktualną datę serwera.'); // Definicja metody usługi sieciowej function podajdlugadate($typ) { global $miesiace; if ($typ == false) { $data = date('y-m-d'); else { $data = date('d')." ".$miesiace[date('m')]." ".date('y')." r."; 3 / 8
4 return new soapval('return', 'xsd:string', $data); $HTTP_RAW_POST_DATA = isset($http_raw_post_data)? $HTTP_RAW_POST_DATA : ''; $serwer->service($http_raw_post_data);?> Występująca na samym początku kodu z listingu 11.1 instrukcja require_once dołącza do naszego skryptu pakiet NuSOAP jest to absolutna konieczność, żeby można było stworzyć usługę sieciową. Oczywiście ścieżka w instrukcji require_once jest zależna od miejsca, w którym umieściliśmy naszą kopię biblioteki NuSOAP. Dalej mamy definicję tablicy asocjacyjnej miesięcy, a następnie linie kodu konieczne do utworzenia usługi sieciowej XML (m.in. podajemy nazwę usługi). Zauważmy, że zanim funkcja podajdlugadate() została zdefiniowana, była rejestrowana jako metoda usługi. Widzimy, że podczas rejestracji metody podajemy jej nazwę, tablicę parametrów (parametry i ich typy podajemy jako pary klucz-wartość), tablicę definiującą typ wartości zwracanej, przestrzeń nazw usługi, szereg mniej ważnych parametrów (choć w niektórych przypadkach użytecznych) i na końcu opis usługi przeznaczony dla użytkownika. Definicja metody podajdlugadate() w zasadzie niczym się nie różni od przedstawionego wcześniej pierwowzoru, oprócz wartości zwracanej. W przypadku metody usługi sieciowej jako wartość zwracaną musimy przekazać obiekt klasy soapval, żeby usługa mogła prawidłowo działać. Na koniec skryptu dwie linie konieczne do uruchomienia usługi. Mając tak sformułowany skrypt, możemy teraz odwołać się do niego z przeglądarki WWW jeżeli nie popełnimy żadnego błędu, efekt powinien być podobny do tego z rysunku Rysunek Ekran naszej usługi sieciowej Aby uzyskać opis usługi w języku WSDL, musimy w polu adresu przeglądarki wpisać: Oczywiście adres URL usługi uzależniony jest od konfiguracji i nazwy serwera, ważne jest, żeby po nazwie pliku dateserv.php podać parametr wsdl (w przypadku NuSOAP nazwa tego parametru pisana jest małymi literami). Rysunek 11.2 przedstawia okno przeglądarki z opisem usługi, natomiast pełny wydruk opisu usługi w języku WSDL znajduje się na listingu Rysunek Okno przeglądarki z załadowanym opisem usługi sieciowej Listing 11.2 Opis usługi sieciowej w języku WSDL 4 / 8
5 <?xml version="1.0" encoding="iso "?> <definitions xmlns:soap-env=" xmlns:xsd=" xmlns:xsi=" xmlns:soap-enc=" xmlns:tns=" xmlns:soap=" xmlns:wsdl=" xmlns=" targetnamespace=" <types> <xsd:schema targetnamespace=" <xsd:import namespace=" /> <xsd:import namespace=" /> </xsd:schema> </types> <message name="podajdlugadaterequest"> <part name="typ" type="xsd:boolean" /> </message> <message name="podajdlugadateresponse"> <part name="return" type="xsd:string" /> </message> <porttype name="usługa testowaporttype"> <operation name="podajdlugadate"> <documentation>zwraca aktualną datę serwera.</documentation> <input message="tns:podajdlugadaterequest"/> <output message="tns:podajdlugadateresponse"/> </operation> </porttype> <binding name="usługa testowabinding" type="tns:usługa testowaporttype"> <soap:binding style="rpc" transport=" <operation name="podajdlugadate"> <soap:operation soapaction=" 5 / 8
6 style="rpc"/> <input> <soap:body use="encoded" namespace=" encodingstyle=" </input> <output> <soap:body use="encoded" namespace=" encodingstyle=" </output> </operation> </binding> <service name="usługa testowa"> <port name="usługa testowaport" binding="tns:usługa testowabinding"> <soap:address location=" </port> </service> </definitions> Jak widać, opis usługi w języku WSDL jest dość trudny do zrozumienia, stąd zastosowanie znajdują różne biblioteki klas lub funkcji, które potrafią rozszyfrować WSDL i umożliwiają nam korzystanie z usług sieciowych. Tworzymy aplikację kliencką Program kliencki dla usługi sieciowej tworzy się podobnie do samej usługi sieciowej. Oprogramowanie NuSOAP przetwarza opis usługi w języku WSDL na bieżąco, ale mimo to programy klienckie działają szybko i wydajnie. Listing 11.3 zawiera kod skryptu klienta usługi sieciowej zdefiniowanej w poprzednim punkcie. Listing Klient usługi sieciowej <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " <html lang="pl"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>usługa sieciowa</title> 6 / 8
7 </head> <body> <div> <?php // Dołączenie pakietu NuSOAP require_once('soap/lib/nusoap.php'); // Adres opisu usługi, z której będziemy korzystać $wsdl_url = ' // Utworzenie obiektu klienta SOAP $klient = new nusoap_client($wsdl_url, 'wsdl'); // W zależności od wartości parametru "typ" przekazanego przez URL // wyświetlana jest data długa, data krótka lub komunikat o błędzie if (isset($_get['typ'])) { // Wywołanie metody "podajdlugadate" usługi sieciowej print($klient->call('podajdlugadate', array('typ' => $_GET['typ']))); else {?> print("podaj parametr: true lub false"); </div> </body> </html> Na początku skryptu z listingu 11.3 dołączany jest pakiet NuSOAP, podobnie jak to miało miejsce w skrypcie definiującym usługę sieciową. Dalej tworzony jest obiekt $klient klasy soapclient (w przypadku usługi sieciowej tworzyliśmy obiekt klasy soap_server) w oparciu o opis usługi WSDL. Skrypt z listingu 11.3 działa w taki sposób, że pobiera parametr typ przekazany przez URL i przekazuje jego wartość metodzie usługi sieciowej. Zwróćmy uwagę na wywołanie metody podajdlugadate(): $klient->call('podajdlugadate', array('typ' => $_GET['typ'])) Metoda podajdlugadate() nie jest niestety dostępna wprost trzeba ją wywołać, wykonując metodę call na 7 / 8
8 obiekcie klasy soapclient. Pierwszym parametrem tej metody jest nazwa metody usługi sieciowej, drugim tablica parametrów wywołania metody usługi sieciowej. Tablica ta gromadzi parametry i ich wartości jako pary klucz-wartość (jest to tablica asocjacyjna). Wynik zwracany przez metodę podajdlugadate() jest typu string, dlatego też wyświetlenie tego wyniku da efekt podobny do tego z rysunku 11.3 (pod warunkiem że wszystko poszło dobrze). Rysunek Efekt wykonania kodu klienta usługi sieciowej Stosując ogólny schemat korzystania z usług sieciowych, będziemy w stanie połączyć się i pobrać dane z większości dostępnych w Internecie usług sieciowych XML. Jedynie w przypadku usług uruchamianych na platformie.net musimy zwracać szczególną uwagę na tablicę parametrów wywołania metody usługi sieciowej w tym przypadku należy zastosować tablicę zagnieżdżoną. Podsumowanie W tym rozdziale zaledwie zaczęliśmy tematykę usług sieciowych. Tak potężne narzędzie, jakim są właśnie usługi sieciowe XML, wszystkie swoje zalety objawia dopiero w sytuacji, gdy dla osiągnięcia założonego celu gromadzone są w oprogramowaniu klienckim dane pochodzące z wielu usług sieciowych, uruchomionych na różnych hostach w sieci, na różnych platformach systemowych i sprzętowych. zwalniają programistę z tworzenia oprogramowania sieciowego z wykorzystaniem niskopoziomowego API operującego niejednokrotnie na gniazdkach i pakietach. W Internecie można znaleźć wiele rejestrów usług sieciowych. Jednym z ciekawszych jest WebserviceX.NET dostępny pod adresem Można w nim znaleźć wiele ciekawych usług. Jeśli chodzi o sam pakiet NuSOAP, bardzo ciekawy podręcznik, którego autorem jest Scott Nichol, dostępny jest pod adresem Warto też zainteresować się ciągle rozwijanym zestawem funkcji SOAP zintegrowanym z PHP (od wersji 5.0): Dodatkowo obsługę SOAP przygotowano również w ramach projektu PEAR ( 8 / 8
Integracja Obieg Dokumentów - GiS Spis treści
Integracja Obieg Dokumentów - GiS Spis treści 1.Opis integracji.... 2 2.Interfejs po stronie Obiegu Dokumentów... 4 3.Interfejs po stronie Gis-u.... 7 4.Schematy przesyłanych plików xml.... 8 1 1. Opis
Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI
Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Maciej Zakrzewicz PLOUG mzakrz@cs.put.poznan.pl Plan prezentacji Wprowadzenie do architektury zorientowanej na usługi Charakterystyka technologii
Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej
Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej dr inż. Paweł Czarnul pczarnul@eti.pg.gda.pl Architektury usług internetowych laboratorium
SPECYFIKACJA WYMIANY DANYCH POMIĘDZY PROGRAMEM KS-APTEKA WINDOWS I SKLEPEM INTERNETOWYM FIRMY ZEWNĘTRZNEJ
Nr SPECYFIKACJA WYMIANY DANYCH POMIĘDZY PROGRAMEM KS-APTEKA WINDOWS 1.INFORMACJE PODSTAWOWE Wymiana danych pomiędzy programem KS-APTEKA Windows odbywa się z wykorzystaniem technologii Web Services (protokół
Dostęp do komponentów EJB przez usługi Web Services
243 Dostęp do komponentów EJB przez usługi Web Services Mikołaj Morzy Mikolaj.Morzy@cs.put.poznan.pl http://www.cs.put.poznan.pl/mmorzy/ Plan rozdziału 244 Wprowadzenie do usług sieciowych Architektura
1. Uruchomić i skonfigurować środowisko tworzenia aplikacji i serwer aplikacji.
Temat Stworzenie systemu składającego się z prostej usługi sieciowej (ang. web service) oraz komunikującej się z nią aplikacji klienckiej umożliwiającej dostęp do usługi przez przeglądarkę internetową.
Programowanie komponentowe
Piotr Błaszyński Wydział Informatyki Zachodniopomorskiego Uniwersytetu Technologicznego 25 października 2014 WebService, (usługi sieciowe) - komponenty aplikacji webowych, zawierające logike biznesową.
Tworzenie i wykorzystanie usług sieciowych
Ćwiczenie 14 Temat: Tworzenie i wykorzystanie usług sieciowych Cel ćwiczenia: W trakcie ćwiczenia student zapozna się z procedurą tworzenia usługi sieciowej w technologii ASP.NET oraz nauczy się tworzyć
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
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 obrębie skryptu. Wyrażenia include() i require() są niemal
Laboratorium 1 Wprowadzenie do PHP
Laboratorium 1 Wprowadzenie do PHP Ćwiczenie 1. Tworzenie i uruchamianie projektu PHP w Netbeans Tworzenie projektu Uruchom środowisko NetBeans. Stwórz nowy projekt typu PHP Application (File->New Project,
Komunikacja i wymiana danych
Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX
Zaawansowane aplikacje internetowe. Wykład 6. Wprowadzenie do Web Services. wykład prowadzi: Maciej Zakrzewicz. Web Services
Wykład 6 Wprowadzenie do Web Services wykład prowadzi: Maciej Zakrzewicz Web Services 1 Plan wykładu Wprowadzenie do technologii Web Services Architektura Web Services Protokół komunikacyjny SOAP Język
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji
Technologie internetowe laboratorium nr 4. Instalacja i uruchomienie usługi sieciowej w serwerze Tomcat/AXIS
Technologie internetowe laboratorium nr 4 Instalacja i uruchomienie usługi sieciowej w serwerze Tomcat/AXIS 1. Wprowadzenie i konfiguracja Celem niniejszego laboratorium jest zainstalowanie i uruchomienie
Sieciowe programowanie rozproszone SOA, WebServices i systemy gridowe. Krzysztof Banaś Systemy rozproszone 1
Sieciowe programowanie rozproszone SOA, WebServices i systemy gridowe Krzysztof Banaś Systemy rozproszone 1 Technologie WWW Nowszymi sposobami organizacji i technologiami w dziedzinie obliczeń rozproszonych
Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
Zaawansowane aplikacje internetowe
Zaawansowane aplikacje internetowe AJAX 1 Celem tego laboratorium jest pokazanie moŝliwości technologii AJAX. W ramach ćwiczeń zostanie zbudowana prosta aplikacja, przechwytująca kliknięcia uŝytkownika
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium JavaServer Pages Celem ćwiczenia jest zbudowanie kilku prostych stron internetowych z użyciem technologii JSP. Podczas ćwiczenia wykorzystany zostanie algorytm sortowania bąbelkowego
Web Services. Wojciech Mazur. 17 marca 2009. Politechnika Wrocławska Wydział Informatyki i Zarządzania
Standardy w Rodzaje Przykłady Politechnika Wrocławska Wydział Informatyki i Zarządzania 17 marca 2009 Standardy w Rodzaje Przykłady Plan prezentacji 1 Wstęp 2 Standardy w 3 4 Rodzaje 5 Przykłady 6 Standardy
Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl
Budowa aplikacji sieciowych. Usługi WWW dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Usługi WWW W3C Working Group, Web Services Architecture,
Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7
I Wprowadzenie (wersja 0906) Kurs OPC S7 Spis treści Dzień 1 I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami automatyki I-6 Cechy podejścia dedykowanego
Simple Object Access Protocol
Simple Object Access Protocol Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 11 grudnia 2005 roku Czym jest SOAP? Akronim SOAP oznacza Simple Object Access Protocol. SOAP jest
Programowanie Komponentowe WebAPI
Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,
INSTALACJA I KONFIGURACJA SERWERA PHP.
LABORATORIUM 0 INSTALACJA I KONFIGURACJA SERWERA PHP. W celu poprawnego wykonywania zadań na laboratorium konieczne jest zainstalowanie na komputerze wyposażonym w system operacyjny Windows następujących
1 Wprowadzenie do J2EE
Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2
Wybrane problemy modelu usługowego
XV Forum Teleinformatyki, 24.IX 2009, Warszawa-Miedzeszyn Wybrane problemy modelu usługowego Jerzy Nawrocki Instytut Informatyki Wydział Informatyki i Zarządzania Politechnika Poznańska Dwie twarze modelu
Smarty PHP. Leksykon kieszonkowy
IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK
Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)
Spis treści Dzień 1 I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501) I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium PHP. Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, obsługa formularzy oraz zmiennych
Specyfikacja API Runtime BAS 3.0
Specyfikacja API Runtime BAS 3.0 Spis treści Wstęp... 4 Informacja o dokumencie... 4 Opis usługi... 4 Typowy sposób wywołania usługi... 5 Udostępniane funkcje... 6 Funkcje liczące... 6 Execute... 6 SafeExecute...
Specyfikacja techniczna. mprofi Interfejs API
Warszawa 09.04.2015. Specyfikacja techniczna mprofi Interfejs API wersja 1.0.2 1 Specyfikacja techniczna mprofi Interfejs API wersja 1.0.2 WERSJA DATA STATUTS AUTOR 1.0.0 10.03.2015 UTWORZENIE DOKUMENTU
MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP
MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ EMAIL DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP WERSJA 1 z 15 Spis treści 1. Kanał email dla podmiotów zewnętrznych...
Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI
Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Maciej Zakrzewicz, PLOUG mzakrz@cs.put.poznan.pl Streszczenie Web Services to technologia implementacji rozproszonych komponentów programowych
Obiekt navigator. Dodał Administrator wtorek, 16 marzec :32
Obiekt navigator przechowuje informacje dotyczące przeglądarki, jej nazwy, wersji, języka, systemu operacyjnego, na którym została uruchomiona, itp. Nie jest częścią specyfikacji W3C, ale większość produktów
Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]
JAVA wprowadzenie do programowania (3/3) [1] Czym jest aplikacja Java Web Start? Aplikacje JAWS są formą pośrednią pomiędzy apletami a aplikacjami Javy. Nie wymagają do pracy przeglądarki WWW, jednak mogą
4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152
Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy
Zdarzenia Zdarzenia onload i onunload
Zdarzenia Zdarzenia onload i onunload Ćwiczenie 1. Rysunek 1. Okno powitalne wykorzystujące zdarzenie onload Na stronie mogą zachodzić różne zdarzenia, np. użytkownik kliknie myszą lub zacznie wprowadzać
Wybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Java Enterprise Edition. WebServices. Język XML. Serwer aplikacji GlassFish. Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki
Wybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Java Enterprise Edition WebServices Serwer aplikacji GlassFish Dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki Aplikacje
OMNITRACKER Wersja testowa. Szybki przewodnik instalacji
OMNITRACKER Wersja testowa Szybki przewodnik instalacji 1 Krok 1:Rejestracja pobrania (jeżeli nie wykonana dotychczas) Proszę dokonać rejestracji na stronieomninet (www.omnitracker.com) pod Contact. Po
Spis treci. Dzie 1. I Wprowadzenie (wersja 0911) II Dostp do danych biecych specyfikacja OPC Data Access (wersja 0911)
I Wprowadzenie (wersja 0911) Kurs OPC Integracja i Diagnostyka Spis treci Dzie 1 I-3 O czym bdziemy mówi? I-4 Typowe sytuacje I-5 Klasyczne podejcie do komunikacji z urzdzeniami automatyki I-6 Cechy podejcia
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki Tomasz Pawłowski Nr albumu: 146956 Praca magisterska na kierunku
Zaawansowane aplikacje internetowe - laboratorium
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest
Wprowadzenie do projektu QualitySpy
Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować
Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język
Odnośniki jeszcze do niedawna odróżniały strony WWW od wszystkich innych dokumentów elektronicznych. Możliwość deklarowania odnośników do innych
odnośniki Część 3 Odnośniki jeszcze do niedawna odróżniały strony WWW od wszystkich innych dokumentów elektronicznych. Możliwość deklarowania odnośników do innych dokumentów niezależnie od ich umiejscowienia
OpenLaszlo. OpenLaszlo
OpenLaszlo Spis Treści 1 OpenLaszlo Co to jest? Historia Idea Architektura Jako Flash lub DHTML Jako servlet lub SOLO Jak to działa? Język LZX Struktura programu Skrypty Obiekty i klasy Atrybuty i metody
Na początku utworzymy formularz w czystym języku HTML i przetestujemy go za pomocą przeglądarki WWW.
Tematy: Przygotowanie formularza Przesyłanie danych przez formularz Mechanizm PostBack W rozdziale 1. pojawiła się prosta definicja strony WWW definicja ta określiła dynamiczną stronę WWW jako stronę,
OMNITRACKER Wersja testowa. Szybki przewodnik instalacji
OMNITRACKER Wersja testowa Szybki przewodnik instalacji 1 Krok 1:Rejestracja pobrania (jeżeli nie wykonana dotychczas) Proszę dokonać rejestracji na stronieomninet (www.omnitracker.com) pod Contact. Po
Programowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów
Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone
Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa
AXIS2 - tworzenie usługi sieciowej i klienta Axis Data Binding. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak
AXIS2 - tworzenie usługi sieciowej i klienta Axis Data Binding dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak Ustawienie zmiennych środowiskowych Przed rozpoczęciem pracy z pakietem AXIS należy ustalić
Technologie sieciowe Sprawozdanie z labolatorium. Lista 5
Politechnika Wrocławska Wydział Podstawowych Problemów Techniki Technologie sieciowe Sprawozdanie z labolatorium Lista 5 Autor: Piotr Kosytorz IIrokInf. indeks: 166174 Prowadzący: dr inż. Łukasz Krzywiecki
Rozproszone systemy Internetowe
Rozproszone systemy Internetowe Transport komunikatów WS: protokół SOAP RSI Oskar Świda 1 Simple Object Access Protocol Bezstanowy protokół komunikacyjny, oparty na standardzie XML Prosty i elastyczny,
Kurs walut. Specyfikacja projektu. Marek Zając 2013-12-16
Kurs walut Specyfikacja projektu Marek Zając 2013-12-16 Spis treści 1. Podsumowanie... 2 1.1 Wstęp... 2 1.2 Projekt interfejsu... 2 1.2.1 Rozmiar głównego okna... 2 2. Słownik pojęć... 2 2.1 Definicja
PHP: bloki kodu, tablice, obiekty i formularze
1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują
Instrukcja konfiguracji funkcji skanowania
Instrukcja konfiguracji funkcji skanowania WorkCentre M123/M128 WorkCentre Pro 123/128 701P42171_PL 2004. Wszystkie prawa zastrzeżone. Rozpowszechnianie bez zezwolenia przedstawionych materiałów i informacji
Mechanizmy pracy równoległej. Jarosław Kuchta
Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy
Funkcje i instrukcje języka JavaScript
Funkcje i instrukcje języka JavaScript 1. Cele lekcji a) Wiadomości Uczeń : zna operatory i typy danych języka JavaScript, zna konstrukcję definicji funkcji, zna pętlę If i For, Do i While oraz podaje
RPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls )
III RPC Zdalne wywoływanie procedur (ang. Remote Procedure Calls ) 1. Koncepcja Aplikacja wywołanie procedury parametry wyniki wykonanie procedury wynik komputer klienta komputer serwera Zaletą takiego
76.Struktura oprogramowania rozproszonego.
76.Struktura oprogramowania rozproszonego. NajwaŜniejsze aspekty obiektowego programowania rozproszonego to: Współdziałanie (interoperability) modułów programowych na róŝnych maszynach. Wielokrotne wykorzystanie
Elektroniczna wymiana danych (EDI) jest to: - wymiana informacji pomiędzy komputerami, z użyciem powszechnie akceptowanych standardów
Elektroniczna wymiana danych (EDI) jest to: - wymiana informacji pomiędzy komputerami, z użyciem powszechnie akceptowanych standardów Znaczniki w języku XML: - mogą zostać zdefiniowane przez użytkownika
Generatory pomocy multimedialnych
Generatory pomocy multimedialnych Storna 1 Instalacja generatorów oraz praca z generatorem puzzli, memory oraz grupowania.* *Projekt jest całkowicie finansowany z programu Kapitał Ludzki, III Wysoka jakoś
Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http
Dokumentacja interfejsu HTTPD Platforma BSMS.PL Instrukcja podłączenia po przez http Dokumentacja interfejsu httpd (strona 2) SPIS TREŚCI 1. Zawartość dokumentu str.3 2. Informacje ogólne 2.1 Zastosowanie
Poszczególne elementy serwisu można umieścić dla porządku w odpowiednio przemyślanym drzewie katalogów, i tak: -
Tematy: Model modułowego serwisu WWW Szablon strony Dołączanie elementów statycznych Treść generowana dynamicznie Podsumowanie PHP to język skryptowy, którego kod jest osadzany wewnątrz stron WWW. W początkowych
XML extensible Markup Language. część 5
XML extensible Markup Language część 5 XML ważne zastosowanie Jak często pracujemy z plikami XML? Wróćmy jeszcze do wykładu poprzedniego. A dokładnie do pliku zawierającego ten wykład. xml_2017_wyklad_4.pptx
Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008
Adam 1 grudnia 2008 Wstęp Opis Historia Apache kontener serwletów rozwijany w ramach projektu Apache jeden z bardziej popularnych kontenerów Web open source, Apache Software License rozwijany przez ASF
Zajęcia 4 - Wprowadzenie do Javascript
Zajęcia 4 - Wprowadzenie do Javascript Co to jest Javascript Javascript jest językiem skryptowym pozwalającym na dołączanie dodatkowej funkcjonalności do stron WWW. Jest ona najczęściej związana z modyfikacją
Programowanie internetowe
Programowanie internetowe Wykład 1 HTML mgr inż. Michał Wojtera email: mwojtera@dmcs.pl Plan wykładu Organizacja zajęć Zakres przedmiotu Literatura Zawartość wykładu Wprowadzenie AMP / LAMP Podstawy HTML
Wybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2017 Globalna sieć Internet Koncepcja sieci globalnej Usługi w sieci Internet
Raport z przebiegu prac czwartej grupy problemowej
Raport z przebiegu prac czwartej grupy problemowej Temat: Opracowanie metody udostępnienia systemu rejestracji domen internetowych aplikacjom kooperantów przy pomocy interfejsu partnerskiego www.ath.bielsko.pl
Dokumentacja fillup - MS SQL
Dokumentacja fillup - MS SQL e-file.pl 28 lipca 2017 Spis treści Wstęp 2 Wymagania sprzętowe 2 Windows Server 2012.......................... 2 Windows 10............................... 3 MS SQL Server.............................
Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.
Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Usługi internetowe usługa internetowa (ang.
Zaawansowane aplikacje internetowe laboratorium
Zaawansowane aplikacje internetowe laboratorium Web Services (część 2). Celem ćwiczenia jest przygotowanie prostej aplikacji prezentującej technologię usług sieciowych (ang. Web Services). Przygotowana
Gatesms.eu Mobilne Rozwiązania dla biznesu
Mobilne Rozwiązania dla biznesu SPECYFIKACJA TECHNICZNA WEB API-USSD GATESMS.EU wersja 0.9 Opracował: Gatesms.eu Spis Historia wersji dokumentu...3 Bezpieczeństwo...3 Wymagania ogólne...3 Mechanizm zabezpieczenia
Podstawowe wykorzystanie Hibernate
Podstawowe wykorzystanie Hibernate Cel Wykonanie prostej aplikacji webowej przedstawiającą wykorzystanie biblioteki. Aplikacja sprawdza w zależności od wybranej metody dodaje, nową pozycje do bazy, zmienia
Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa
1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko
Być może jesteś doświadczonym programistą, biegle programujesz w Javie,
Kompendium PHP 01 Być może jesteś doświadczonym programistą, biegle programujesz w Javie, C++, Pythonie lub jakimś innym języku programowania, których jak myślę, powstało już tyle, że chyba nie ma osoby,
World Wide Web? rkijanka
World Wide Web? rkijanka World Wide Web? globalny, interaktywny, dynamiczny, wieloplatformowy, rozproszony, graficzny, hipertekstowy - system informacyjny, działający na bazie Internetu. 1.Sieć WWW jest
Wielowarstwowe aplikacje internetowe. Web Services. Autorzy wykładu: Maciej Zakrzewicz Marek Wojciechowski. Web Services
Web Services Autorzy wykładu: Maciej Zakrzewicz Marek Wojciechowski Web Services Plan wykładu Wprowadzenie do technologii Web Services Architektura Web Services Protokół komunikacyjny SOAP Język opisu
NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. asix. Aktualizacja pakietu asix 4 do wersji 5 lub 6. Pomoc techniczna
NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI asix Aktualizacja pakietu asix 4 do wersji 5 lub 6 Pomoc techniczna Dok. Nr PLP0016 Wersja:08-12-2010 ASKOM i asix to zastrzeżony znak firmy ASKOM Sp. z o. o.,
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium Język JavaScript Celem ćwiczenia jest przygotowanie formularza na stronie WWW z wykorzystaniem języka JavaScript. Formularz ten będzie sprawdzany pod względem zawartości przed
Laboratorium 6 Tworzenie bloga w Zend Framework
Laboratorium 6 Tworzenie bloga w Zend Framework Przygotowanie bazy danych 1. Wykonaj skrypt blog.sql, który założy w bazie danych dwie tabele oraz wpisze do nich przykładowe dane. Tabela blog_uzytkownicy
Nexto.API. Przykładowy klient Java 1.6 do systemu zamówień NextoAPI. Przygotował Rafał Ozga 2004-2015 e-kiosk S.A. Maj 2015,
Nexto.API Przykładowy klient Java 1.6 do systemu zamówień NextoAPI Przygotował Rafał Ozga 2004-2015 e-kiosk S.A. Maj 2015, Maj 2015, Wersja: 1.5 strona 1 Historia zmian Lp. Data Zmiany 1 28/05/15 Zmiana
Programowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ
Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS (c) 2008 Grupa SPOT SJ Grupa SPOT Krzysztof Cieślak, Maciej Gdula Spółka Jawna Podstawowe dane: firma założona w roku 2004 w wyniku połączenia
13. Konfiguracja proxy http, smtp, pop3, ftp, ssl
13. Konfiguracja proxy http, smtp, pop3, ftp, ssl Każdy z mechanizmów proxy w urządzeniach NETASQ może działać w sposób transparentny dla użytkownika, tzn. nie wymagać konfiguracji przeglądarki czy innego
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Tomasz Greszata - Koszalin
T: Konfiguracja usługi HTTP w systemie Windows. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołów HTTP oraz HTTPS i oprogramowania IIS (ang. Internet Information Services).
ESDI. WebService. Wersja 1.2. Strona 1
ESDI WebService Wersja 1.2 Strona 1 Spis treści 1. Informacje ogólne... 4 2. Komunikacja... 6 3. Format komunikatu ESDK dla ESDI WebService... 7 4. Podpis CAdES... 8 5. Funkcje API - formaty komunikatów...
Kurs Wizualizacja z WinCC SCADA - Zaawansowany. Spis treści. Dzień 1. I VBS w WinCC podstawy programowania (zmienne, instrukcje, pętle) (wersja 1410)
Spis treści Dzień 1 I VBS w WinCC podstawy programowania (zmienne, instrukcje, pętle) (wersja 1410) I-3 VBS w WinCC - Informacje ogólne I-4 Zastosowanie VBS w WinCC Runtime I-5 Wykorzystanie i wydajność
DOKUMENTACJA INTERFEJSU API - HTTPS
DOKUMENTACJA INTERFEJSU API - HTTPS WERSJA 0.1 DATA PUBLIKACJI : 01.03.2014 SPIS TREŚCI Spis treści Wprowadzenie 1 Dostęp do usługi notowania online 2 Opis struktur danych 3 Kody błędów 5 Historia wersji
Co zawiera ten dokument: Ten dokument zawiera informacje o sposobie organizacji danych w systemie Kancelaris.
Data modyfikacji: 2008-05-08 Co zawiera ten dokument: Ten dokument zawiera informacje o sposobie organizacji danych w systemie Kancelaris. Organizacja Przechowywania Danych w systemie Kancelaris 1. Dane
System komputerowy. Sprzęt. System komputerowy. Oprogramowanie
System komputerowy System komputerowy (ang. computer system) to układ współdziałaniadwóch składowych: sprzętu komputerowegooraz oprogramowania, działających coraz częściej również w ramach sieci komputerowej.
Personal Home Page PHP: Hypertext Preprocessor
Języki, które już znacie Wykład9PodstawyPHP,str1 język polski język angielski język C język preprocesora C język bash-a język HTML kolejny język: PHP Język PHP Wykład9PodstawyPHP,str2 Personal Home Page