PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie trzecie

Wielkość: px
Rozpocząć pokaz od strony:

Download "PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie trzecie"

Transkrypt

1 IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG Wydawnictwo Helion ul. Chopina Gliwice tel. (32) helion@helion.pl TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWO CIACH ZAMÓW CENNIK CZYTELNIA SPIS TRE CI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY KSI EK ONLINE PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie trzecie Autorzy: Luke Welling, Laura Thomson T³umaczenie: Pawe³ Gonera, Daniel Kaczmarek ISBN: Tytu³ orygina³u: PHP and MySQL Web Development, 3rd Edition Format: B5, stron: 912 Tandem PHP i MySQL to niew¹tpliwie najpopularniejsze i najpowszechniej rozpoznawane narzêdzia do tworzenia dynamicznych witryn WWW i aplikacji internetowych. Ich popularno æ jest wynikiem nie tylko ogromnych mo liwo ci, ale tak e bezp³atnego dostêpu do obu narzêdzi. Za pomoc¹ PHP i MySQL tworzone s¹ proste skrypty, mechanizmy zarz¹dzania tre ci¹ serwisów WWW, sklepy internetowe i tysi¹ce innych aplikacji. Spo³eczno æ programistów korzystaj¹cych z PHP i MySQL stale siê powiêksza, a producenci tych narzêdzi nieustannie pracuj¹ nad ich udoskonalaniem. PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie trzecie to kolejne wydanie bestsellerowego podrêcznika opisuj¹cego wszystkie aspekty projektowania stron i aplikacji internetowych z wykorzystaniem PHP i MySQL. W trzecim wydaniu ksi¹ ki znale æ mo na szczegó³owe omówienie mo liwo ci najnowszych wersji obu narzêdzi -- programowania obiektowego, obs³ugi wyj¹tków, biblioteki SimpleXML oraz procedur sk³adowanych. Ksi¹ ka zawiera przyk³ady demonstruj¹ce wykorzystanie PHP i MySQL do realizacji ró nych zadañ zwi¹zanych z funkcjonowaniem dynamicznych witryn WWW. Mo e to byæ uwierzytelnianie u ytkowników, tworzenie koszyka na zakupy, dynamiczne generowanie obrazków oraz dokumentów w formacie PDF, wysy³anie poczty elektronicznej i zarz¹dzanie ni¹ oraz ³¹czenie siê z us³ugami WWW za pomoc¹ XML-a. Podstawy jêzyka PHP w wersji 5.0 Programowanie obiektowe w PHP Praca z MySQL Projektowanie bazy danych Operacje na danych zgromadzonych w tabelach Administrowanie baz¹ danych Projektowanie komercyjnych witryn WWW Bezpieczeñstwo witryn WWW Metody uwierzytelniania u ytkowników Interakcja aplikacji z serwerem Mechanizmy kontroli sesji Dynamiczne generowanie grafiki i plików PDF Personalizacja witryny Korzystanie z us³ug sieciowych za pomoc¹ protoko³u SOAP

2 Zastosowanie PHP Tworzenie przykładowej aplikacji: Części samochodowe Janka...36 Formularz zamówienia Przetwarzanie formularza Osadzanie PHP w HTML Zastosowanie znaczników PHP Style znaczników PHP Instrukcje PHP Odstępy Komentarze Dodawanie zawartości dynamicznej Wywoływanie funkcji Używanie funkcji date() Dostęp do zmiennych formularza Zmienne formularza Łączenie ciągów Zmienne i ciągi znaków Identyfikatory Tworzenie zmiennych zadeklarowanych przez użytkownika...49 Przypisywanie wartości zmiennym Typy zmiennych Typy danych w PHP Siła typu Rzutowanie typu Zmienne zmiennych Deklarowanie i używanie stałych Zasięg zmiennych Używanie operatorów Operatory arytmetyczne Operatory ciągów Operatory przypisania Operatory porównań Operatory logiczne Operatory bitowe Pozostałe operatory

3 6 PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty Rozdział 2. Stosowanie operatorów: obliczanie sum w formularzu Pierwszeństwo i kolejność: wyznaczanie wartości wyrażeń...63 Zarządzanie zmiennymi Sprawdzanie i ustawianie typów zmiennych Sprawdzanie stanu zmiennej Reinterpretacja zmiennych Implementowanie struktur kontrolujących Podejmowanie decyzji za pomocą instrukcji warunkowych...67 Instrukcja if Bloki kodu Instrukcja else Instrukcja elseif Instrukcja switch Porównanie różnych instrukcji warunkowych Powtarzanie działań przy użyciu iteracji Pętle while Pętle for i foreach Pętle do..while Wyłamywanie się ze struktury skryptu Używanie alternatywnych składni struktur sterujących Używanie struktury declare W następnym rozdziale Zapisywanie danych do późniejszego użycia Przechowywanie i wyszukiwanie zamówień Janka Przetwarzanie plików Otwieranie pliku Tryby otwarcia pliku Stosowanie funkcji fopen() do otwarcia pliku Otwieranie pliku przez protokół FTP lub HTTP Problemy z otwieraniem plików Zapisywanie danych w pliku Parametry funkcji fwrite() Formaty plików Zamykanie pliku Odczyt z pliku Otwieranie pliku w celu odczytu fopen() Wiedzieć, kiedy przestać feof() Odczytywanie pliku wiersz po wierszu fgets(), fgetss() i fgetcsv()...92 Odczyt całego pliku readfile(), fpassthru(), file() Odczyt pojedynczego znaku fgetc() Odczytywanie zadanej długości fread() Inne przydatne funkcje plikowe Sprawdzanie istnienia pliku file_exists() Określanie wielkości pliku filesize() Kasowanie pliku unlink() Poruszanie się wewnątrz pliku rewind(), fseek() i ftell()...96 Blokowanie pliku Lepszy sposób obróbki danych systemy zarządzania bazami danych...99 Problemy związane ze stosowaniem plików jednorodnych...99 Jak RDBMS rozwiązują powyższe problemy? Propozycje dalszych lektur W następnym rozdziale

4 Spis treści 7 Rozdział 3. Rozdział 4. Czym są tablice? Tablice indeksowane numerycznie Inicjowanie tablic indeksowanych numerycznie Dostęp do zawartości tablicy Dostęp do tablic przy zastosowaniu pętli Tablice z innymi indeksami Inicjowanie tablicy Dostęp do elementów tablicy Stosowanie pętli Operatory tablicowe Tablice wielowymiarowe Sortowanie tablic Stosowanie funkcji sort() Stosowanie funkcji asort() i ksort() do porządkowania tablic Sortowanie odwrotne Sortowanie tablic wielowymiarowych Typy sortowań definiowane przez użytkownika Odwrotne sortowanie zdefiniowane przez użytkownika Zmiany kolejności elementów w tablicach Stosowanie funkcji shuffle() Stosowanie funkcji array_reverse() Ładowanie tablic z plików Wykonywanie innych działań na tablicach Poruszanie się wewnątrz tablicy funkcje each(), current(), reset(), end(), next(), pos() i prev() Dołączanie dowolnej funkcji do każdego elementu tablicy funkcja array_walk() Liczenie elementów tablicy: count(), sizeof() i array_count_values() Konwersja tablic na zmienne skalarne funkcja extract() Propozycje dalszych lektur W następnym rozdziale Przykładowa aplikacja Inteligentny Formularz Pocztowy Formatowanie ciągów Przycinanie ciągów funkcje chop(), ltrim() i trim() Formatowanie ciągów w celu ich prezentacji Formatowanie ciągów do przechowania funkcje addslashes() i stripslashes() Łączenie i rozdzielanie ciągów za pomocą funkcji ciągów Stosowanie funkcji explode(), implode() i join() Stosowanie funkcji strtok() Stosowanie funkcji substr() Porównywanie ciągów Porządkowanie ciągów funkcje strcmp(), strcasecmp() i strnatcmp() Sprawdzanie długości ciągu za pomocą funkcji strlen() Dopasowywanie i zamiana podciągów za pomocą funkcji ciągów Znajdowanie ciągów w ciągach funkcje strstr(), strchr(), strrchr() i stristr() Odnajdywanie pozycji podciągu funkcje strpos() i strrpos() Zamiana podciągów funkcje str_replace() i substr_replace() Wprowadzenie do wyrażeń regularnych Podstawy Zbiory i klasy znaków Powtarzalność Podwyrażenia

5 8 PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty Podwyrażenia policzalne Kotwiczenie na początku lub na końcu ciągu Rozgałęzianie Dopasowywanie specjalnych znaków literowych Podsumowanie znaków specjalnych Umieszczanie wszystkiego razem (Inteligentny Formularz) Odnajdywanie podciągów za pomocą wyrażeń regularnych Zamiana podciągów za pomocą wyrażeń regularnych Rozdzielanie ciągów za pomocą wyrażeń regularnych Porównanie funkcji ciągów i funkcji wyrażeń regularnych Propozycje dalszych lektur W następnym rozdziale Rozdział 5. Rozdział 6. Ponowne stosowanie kodu Koszt Niezawodność Spójność Stosowanie funkcji require() i include() Funkcja require() Rozszerzenia plików i require() Znaczniki PHP i require() Stosowanie require() w szablonach stron Stosowanie funkcji include() Stosowanie funkcji require_once() i include_once() Stosowanie opcji auto_prepend_file i auto_append_file Stosowanie funkcji w PHP Wywoływanie funkcji Wywołanie niezdefiniowanej funkcji Wielkość liter a nazwy funkcji Dlaczego powinno się definiować własne funkcje? Podstawowa struktura funkcji Nadawanie nazwy funkcji Parametry Zasięg Przekazanie przez referencję czy przekazanie przez wartość? Powrót z funkcji Zwracanie wartości przez funkcje Bloki kodu Implementacja rekurencji Propozycje dalszych lektur W następnym rozdziale Koncepcje programowania obiektowego Klasy i obiekty Polimorfizm Dziedziczenie Tworzenie klas, atrybutów i operacji w PHP Struktura klasy Konstruktory Destruktory Tworzenie egzemplarzy Stosowanie atrybutów klasy Kontrolowanie dostępu przy użyciu private i public

6 Spis treści 9 Rozdział 7. Wywoływanie operacji klas Implementacja dziedziczenia w PHP Kontrolowanie widoczności w trakcie dziedziczenia przy użyciu private i protected Unieważnianie Zapobieganie dziedziczeniu i unieważnianiu przy użyciu final Wielodziedziczenie Implementowanie interfejsów Tworzenie klas Tworzenie kodu dla własnej klasy Zaawansowane i nowe mechanizmy obiektowe w PHP PHP4 a PHP Używanie stałych klasowych Implementowanie metod statycznych Sprawdzanie typu klasy i wskazywanie typu Klonowanie obiektów Używanie klas abstrakcyjnych Przeciążanie metod przy użyciu call() Używanie metody autoload() Implementowanie iteratorów i iteracji Przekształcanie klas w łańcuchy znaków Używanie API Reflection W następnym rozdziale Koncepcja obsługi wyjątków Klasa Exception Wyjątki definiowane przez użytkownika Wyjątki w Częściach samochodowych Janka Wyjątki i inne mechanizmy obsługi błędów w PHP Propozycje dalszych lektur W następnym rozdziale Koncepcje relacyjnych baz danych Tabele Kolumny Wiersze Wartości Klucze Schematy Relacje Jak zaprojektować internetową bazę danych? Określ obiekty świata realnego, których model chcesz wykonać Unikaj przechowywania redundantnych danych Zapisuj atomowe wartości kolumn Dobierz właściwe klucze Pomyśl o zapytaniach, które zadasz bazie Unikaj tworzenia tabel z wieloma pustymi polami Typy tabel podsumowanie Architektura internetowej bazy danych Architektura Propozycje dalszych lektur W następnym rozdziale

7 10 PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty Użytkowanie monitora MySQL Logowanie się do serwera MySQL Tworzenie baz i rejestrowanie użytkowników Tworzenie bazy danych Definiowanie użytkowników i przywilejów Wprowadzenie do systemu przywilejów MySQL Zasada najmniejszego przywileju Rejestrowanie użytkowników: polecenie GRANT Typy i poziomy przywilejów Polecenie REVOKE Przykłady użycia poleceń GRANT i REVOKE Rejestrowanie użytkownika łączącego się z Internetu Wylogowanie się użytkownika root Używanie odpowiedniej bazy danych Tworzenie tabel bazy danych Znaczenie dodatkowych atrybutów kolumn Typy kolumn Rzut oka na bazę danych polecenia SHOW i DESCRIBE Tworzenie indeksów Uwaga na temat typów tabel Identyfikatory MySQL Wybór typów danych w kolumnach Typy liczbowe Propozycje dalszych lektur W następnym rozdziale Czym jest SQL? Zapisywanie danych do bazy Wyszukiwanie danych w bazie Wyszukiwanie danych spełniających określone kryteria Wyszukiwanie danych w wielu tabelach Szeregowanie danych w określonym porządku Grupowanie i agregowanie danych Wskazanie wierszy, które mają być wyświetlone Używanie podzapytań Dokonywanie zmian rekordów w bazie danych Zmiana struktury istniejących tabel Usuwanie rekordów z bazy danych Usuwanie tabel Usuwanie całych baz danych Propozycje dalszych lektur W następnym rozdziale Jak działa internetowa baza danych? Wykonywanie zapytań do bazy danych z poziomu strony Sprawdzenie poprawności wpisanych danych Ustanawianie połączenia z bazą danych Wybór właściwej bazy danych Wysyłanie zapytań do bazy danych Odczytywanie rezultatów zapytań Zamykanie połączenia z bazą danych Wstawianie nowych danych do bazy

8 Spis treści 11 Używanie instrukcji przygotowywanych Używanie innych interfejsów bazodanowych PHP Stosowanie ogólnego interfejsu bazodanowego: PEAR DB Propozycje dalszych lektur W następnym rozdziale Szczegóły systemu przywilejów Tabela user Tabele db i host Tabele tables_priv i columns_priv Kontrola dostępu: w jaki sposób MySQL używa tabel przywilejów Zmiana przywilejów: kiedy zmiany zostaną uwzględnione? Ochrona bazy danych MySQL z perspektywy systemu operacyjnego Hasła Przywileje użytkowników MySQL i Internet Uzyskiwanie szczegółowych informacji o bazie danych Uzyskiwanie informacji poleceniem SHOW Uzyskiwanie informacji o kolumnach za pomocą polecenia DESCRIBE Jak wykonywane są zapytania: polecenie EXPLAIN Przyspieszanie wykonania zapytań za pomocą indeksów Optymalizowanie bazy danych Optymalizacja projektu bazy danych Przywileje Optymalizacja tabel Stosowanie indeksów Używanie wartości domyślnych Więcej wskazówek Tworzenie kopii zapasowej bazy danych MySQL Przywracanie bazy danych MySQL Implementowanie replikacji Konfigurowanie serwera nadrzędnego Transfer danych początkowych Konfigurowanie odbiorcy lub odbiorców Propozycje dalszych lektur W następnym rozdziale Instrukcja LOAD DATA INFILE Maszyny zapisu Transakcje Definicje dotyczące transakcji Użycie transakcji w InnoDB Klucze obce Procedury składowane Prosty przykład Zmienne lokalne Kursory i struktury sterujące Propozycje dalszych lektur W następnym rozdziale

9 12 PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty Co chcemy osiągnąć? Rodzaje komercyjnych stron Publikowanie informacji w broszurach internetowych Przyjmowanie zamówień na produkty i usługi Dostarczanie usług lub wyrobów mających postać cyfrową Zwiększanie wartości produktów i usług Ograniczanie kosztów Ryzyko i zagrożenia Crackerzy Przyciągnięcie niewystarczającej liczby klientów Awarie sprzętu komputerowego Awarie sieci elektrycznych, komunikacyjnych i komputerowych oraz systemu wysyłkowego Silna konkurencja Błędy w oprogramowaniu Zmiany polityki rządowej Ograniczenie pojemności systemów Wybór strategii W następnym rozdziale Jaką wagę mają posiadane przez nas informacje? Zagrożenia bezpieczeństwa Ujawnienie informacji poufnych Utrata lub zniszczenie danych Modyfikacje danych Blokada usługi Błędy w oprogramowaniu Zaprzeczenie korzystania z usługi Użyteczność, wydajność, koszty i bezpieczeństwo Opracowanie polityki bezpieczeństwa Zasady uwierzytelniania Wykorzystanie mechanizmu uwierzytelniania Podstawy szyfrowania Szyfrowanie z kluczem prywatnym Szyfrowanie z kluczem publicznym Podpis cyfrowy Certyfikaty cyfrowe Bezpieczne serwery Monitorowanie i zapisywanie zdarzeń Zapory sieciowe Tworzenie kopii zapasowych Tworzenie kopii zapasowych zwykłych plików Tworzenie kopii zapasowych i odzyskiwanie baz danych MySQL Bezpieczeństwo fizyczne W następnym rozdziale Identyfikacja użytkowników Implementacja kontroli dostępu Przechowywanie haseł dostępu Szyfrowanie haseł Zastrzeganie więcej niż jednej strony

10 Spis treści 13 Podstawowa metoda uwierzytelniania Wykorzystanie podstawowej metody uwierzytelniania w PHP Wykorzystanie podstawowej metody uwierzytelniania na serwerze Apache przy użyciu plików.htaccess Wykorzystanie podstawowej metody uwierzytelniania na serwerze IIS Wykorzystanie modułu mod_auth_mysql do celów uwierzytelniania Instalacja modułu mod_auth_mysql Zadziałało? Praca z mod_auth_mysql Implementacja własnej metody uwierzytelniania Propozycje dalszych lektur W następnym rozdziale Zapewnienie bezpieczeństwa transakcji Komputer użytkownika Internet System docelowy Wykorzystanie protokołu Secure Sockets Layer (SSL) Kontrola danych pochodzących od użytkownika Bezpieczne przechowywanie danych Ustalanie, czy powinno się przechowywać numery kart kredytowych Szyfrowanie danych w PHP Propozycje dalszych lektur W następnej części Wprowadzenie do wysyłania plików Kod HTML służący do wysyłania plików Uwaga na temat bezpieczeństwa Tworzenie PHP obsługującego plik Najczęściej spotykane problemy Stosowanie funkcji katalogowych Odczyt z katalogów Otrzymywanie informacji na temat aktualnego katalogu Tworzenie i usuwanie katalogów Interakcja z systemem plików Otrzymywanie informacji o pliku Zmiana właściwości pliku Tworzenie, usuwanie i przenoszenie plików Stosowanie funkcji uruchamiających programy Interakcja ze środowiskiem: funkcje getenv() i putenv() Propozycje dalszych lektur W następnym rozdziale Przegląd protokołów Wysyłanie i odczytywanie poczty elektronicznej Korzystanie z innych usług Stosowanie funkcji połączeń sieciowych

11 14 PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty Korzystanie z FTP Stosowanie FTP w celu utworzenia kopii bezpieczeństwa lub kopii lustrzanej pliku Wysyłanie plików Unikanie przekroczenia dopuszczalnego czasu Stosowanie innych funkcji FTP Propozycje dalszych lektur W następnym rozdziale Uzyskiwanie informacji o dacie i czasie w PHP Stosowanie funkcji date() Obsługa znaczników czasu Uniksa Stosowanie funkcji getdate() Sprawdzanie poprawności dat Konwersja pomiędzy formatami daty PHP i MySQL Obliczanie dat w PHP Obliczanie dat w MySQL Stosowanie mikrosekund Stosowanie funkcji kalendarzowych Propozycje dalszych lektur W następnym rozdziale Konfigurowanie obsługi obrazków w PHP Formaty obrazków JPEG PNG WBMP GIF Tworzenie obrazków Tworzenie kadru obrazka Rysowanie lub umieszczanie tekstu w obrazku Wyświetlanie ostatecznej grafiki Końcowe czynności porządkujące Stosowanie automatycznie generowanych obrazków na innych stronach Stosowanie tekstu i czcionek do tworzenia obrazków Konfiguracja podstawowego kadru Dopasowanie tekstu do przycisku Nadawanie tekstowi odpowiedniej pozycji Wpisywanie tekstu do przycisku Etap końcowy Rysowanie figur i wykresów danych Inne funkcje obrazków Propozycje dalszych lektur W następnym rozdziale Czym jest kontrola sesji? Podstawowa zasada działania sesji Czym jest cookie? Konfiguracja cookies w PHP Stosowanie cookies w sesji Przechowywanie identyfikatora sesji

12 Spis treści 15 Implementacja prostych sesji Rozpoczynanie sesji Zgłaszanie zmiennych sesji Stosowanie zmiennych sesji Usuwanie zmiennych i niszczenie sesji Przykład prostej sesji Konfiguracja kontroli sesji Implementacja uwierzytelniania w kontroli sesji Propozycje dalszych lektur W następnym rozdziale Stosowanie magicznych cudzysłowów Wykonywanie ciągów funkcja eval() Zakończenie wykonania die i exit Serializacja zmiennych i obiektów Pobieranie informacji na temat środowiska PHP Uzyskiwanie informacji na temat załadowanych rozszerzeń Identyfikacja właściciela skryptu Uzyskiwanie informacji na temat daty modyfikacji skryptu Dynamiczne dodawanie rozszerzeń Czasowa zmiana środowiska wykonawczego Podświetlanie źródeł Używanie PHP w wierszu poleceń W następnej części Zastosowanie inżynierii oprogramowania w tworzeniu aplikacji Planowanie i prowadzenie projektu aplikacji Ponowne stosowanie kodu Tworzenie kodu łatwego w utrzymaniu Standardy kodowania Dzielenie kodu Stosowanie standardowej struktury katalogów Dokumentacja i dzielenie wewnętrznych funkcji Implementacja kontroli wersji Wybór środowiska programistycznego Dokumentacja projektów Prototypowanie Oddzielanie logiki i zawartości Optymalizacja kodu Stosowanie prostych optymalizacji Stosowanie produktów firmy Zend Testowanie Propozycje dalszych lektur W następnym rozdziale Błędy programistyczne Błędy składni Błędy wykonania Błędy logiczne

13 16 PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty Pomoc w usuwaniu błędów w zmiennych Poziomy zgłaszania błędów Zmiana ustawień zgłaszania błędów Wyzwalanie własnych błędów Elegancka obsługa błędów W następnym rozdziale Problem Składniki rozwiązania Identyfikacja użytkownika i personalizacja Przechowywanie zakładek Rekomendowanie zakładek Przegląd rozwiązania Implementacja bazy danych Implementacja podstawowej witryny Implementacja uwierzytelniania użytkowników Rejestracja Logowanie Wylogowanie Zmiana hasła Ustawianie zapomnianych haseł Implementacja przechowywania i odczytywania zakładek Dodawanie zakładek Wyświetlanie zakładek Usuwanie zakładek Implementacja rekomendacji Rozwijanie projektu i możliwe rozszerzenia W następnym rozdziale Problem Składniki rozwiązania Tworzenie katalogu online Śledzenie zakupów użytkownika podczas przeglądania Implementacja systemu płatności Interfejs administratora Przegląd rozwiązania Implementacja bazy danych Implementacja katalogu online Przedstawianie kategorii Wyświetlanie książek danej kategorii Przedstawianie szczegółowych danych książki Implementacja koszyka na zakupy Stosowanie skryptu pokaz_kosz.php Podgląd koszyka Dodawanie produktów do koszyka Zapisywanie uaktualnionego koszyka Wyświetlanie podsumowania w pasku nagłówka Pobyt w kasie Implementacja płatności Implementacja interfejsu administratora Rozwijanie projektu Zastosowanie istniejącego systemu W następnym rozdziale

14 Spis treści 17 Problem Wymagania systemu Istniejące systemy Edycja zawartości Umieszczanie zawartości w systemie Bazy danych czy pliki? Struktura dokumentu Stosowanie metadanych Formatowanie danych wyjściowych Projekt/przegląd rozwiązania Projektowanie bazy danych Implementacja systemu zarządzania zawartością Fronton systemu Wnętrze systemu Wyszukiwanie Ekran redaktora naczelnego Rozwijanie projektu W następnym rozdziale Problem Składniki rozwiązania Przegląd rozwiązania Konfiguracja bazy danych Architektura skryptu Logowanie i wylogowanie Konfiguracja kont Tworzenie nowego konta Modyfikacja istniejącego konta Usuwanie konta Odczytywanie poczty Wybór konta Przeglądanie zawartości skrzynki Odczytywanie wiadomości pocztowych Przeglądanie nagłówków wiadomości Usuwanie wiadomości Wysyłanie wiadomości Wysyłanie nowej wiadomości Odpowiadanie i przekazywanie poczty Rozwijanie projektu W następnym rozdziale Problem Składniki rozwiązania Konfiguracja bazy danych list i abonentów Wysyłanie plików Wysyłanie wiadomości z załącznikami Przegląd rozwiązania Konfiguracja bazy danych Architektura skryptu Implementacja logowania Tworzenie nowego konta Logowanie

15 18 PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty Implementacja funkcji użytkownika Przeglądanie list Przeglądanie informacji na temat listy Przeglądanie archiwum listy Zapisywanie i wypisywanie Zmiana konfiguracji konta Zmiana hasła Wylogowanie Implementacja funkcji administratora Tworzenie nowej listy Wysyłanie nowych wiadomości Obsługa wysyłania wielu plików Podgląd wiadomości Rozsyłanie wiadomości Rozwijanie projektu W następnym rozdziale Problem Składniki rozwiązania Przegląd rozwiązania Projektowanie bazy danych Przeglądanie drzewa artykułów Rozwijanie i zwijanie Wyświetlanie artykułów Korzystanie z klasy wezel_drzewa Przeglądanie pojedynczych artykułów Dodawanie nowych artykułów Rozszerzenia Wykorzystanie istniejącego systemu W następnym rozdziale Problem Ocena formatów dokumentów Składniki rozwiązania System pytań i odpowiedzi Oprogramowanie generujące dokumenty Przegląd rozwiązania Zadawanie pytań Ocena odpowiedzi Tworzenie certyfikatu RTF Tworzenie certyfikatu PDF z szablonu Generowanie dokumentu PDF za pomocą PDFlib Skrypt Witaj świecie dla PDFlib Tworzenie certyfikatu za pomocą PDFlib Problemy związane z nagłówkami Rozwijanie projektu Propozycje dalszych lektur W następnym rozdziale Problem Podstawy XML Podstawy usług sieciowych

16 Spis treści 19 Składniki rozwiązania Konstrukcja koszyka na zakupy Korzystanie z interfejsu usług sieciowych Amazon.com Wczytywanie dokumentów XML Korzystanie z SOAP za pomocą PHP Buforowanie Opis rozwiązania Aplikacja główna Wyświetlanie listy książek z danej kategorii Tworzenie obiektu klasy WynikiWyszukiwania Korzystanie z REST/przesyłania dokumentów XML Korzystanie z protokołu SOAP Buforowanie danych Konstrukcja koszyka na zakupy Przejście do kasy na witrynie Amazon.com Instalacja kodu źródłowego Kierunki rozwoju Literatura Uruchamianie PHP jako CGI lub modułu serwera Instalacja Apache, PHP i MySQL w systemie UNIX Instalacja przy użyciu binariów Instalacja przy użyciu kodów źródłowych Plik httpd.conf informacje końcowe Czy obsługa PHP działa poprawnie? Czy SSL działa poprawnie? Instalacja Apache, PHP i MySQL w systemie Windows Instalacja MySQL w systemie Windows Instalacja serwera Apache w systemie Windows Instalacja PHP w systemie Windows Instalowanie PEAR Inne konfiguracje Zasoby poświęcone PHP Zasoby poświęcone MySQL i SQL Zasoby poświęcone serwerowi Apache Zasoby poświęcone tworzeniu stron

17 Rozdział 9. W rozdziale tym przedstawimy sposób tworzenia bazy danych MySQL, przeznaczonej do udostępniania na stronach WWW. W tym rozdziale zostaną poruszone następujące zagadnienia: tworzenie bazy danych, definiowanie użytkowników i przywilejów, wprowadzenie do systemu przywilejów, tworzenie tabel bazy danych, tworzenie indeksów, wybieranie typów kolumn w MySQL. Również i w tym rozdziale posłużymy się znanym już przykładem księgarni internetowej Książkorama. Przypomnijmy schemat jej bazy danych: Należy również przypomnieć, iż nazwy pól będących kluczami podstawowymi są podkreślone linią ciągłą, a nazwy pól będących kluczami obcymi linią przerywaną. W celu przeanalizowania materiału zawartego w tym rozdziale należy zapewnić sobie dostęp do serwera MySQL, co oznacza, że: Trzeba przeprowadzić instalację MySQL na serwerze WWW, obejmującą następujące czynności: instalację plików, rejestrację użytkownika na serwerze MySQL,

18 234 Część II Stosowanie MySQL zdefiniowanie odpowiedniej ścieżki dostępu, w razie konieczności uruchomienie aplikacji, określenie hasła administratora, usunięcie użytkownika anonimowego, uruchomienie serwera MySQL po raz pierwszy i skonfigurowanie go w taki sposób, by uruchamiał się automatycznie. Po wykonaniu wymienionych czynności można przystąpić do lektury tego rozdziału. Jeśli jednak instalacja nie powiodła się, należy kierować się instrukcjami zawartymi w dodatku A. Ewentualne błędy, które mogą wystąpić w trakcie wykonywania czynności opisywanych w tym rozdziale, spowodowane będą prawdopodobnie nieprawidłową pracą serwera MySQL. W takim przypadku należy ponownie przeanalizować czynności opisane powyżej oraz przedstawione w dodatku A w celu upewnienia się, iż MySQL został prawidłowo zainstalowany. Należy zapewnić sobie dostęp do serwera MySQL zainstalowanego na komputerze znajdującym się w miejscu pracy czytelnika, udostępnianego przez dostawcę usług internetowych na zdalnym komputerze itp. W takim przypadku wykonanie zawartych w tym rozdziale przykładów lub utworzenie własnej bazy danych wymaga zarejestrowania przez administratora odpowiedniego użytkownika oraz znajomości nadanego mu identyfikatora, hasła dostępu i nazwy przypisanej mu bazy danych. Nie jest konieczne zapoznanie się z treścią podrozdziałów dotyczących rejestrowania użytkowników i przydzielania im bazy danych, chyba że istnieje potrzeba bardziej precyzyjnego wyjaśnienia administratorowi przedstawionych wcześniej wymagań. Zwykli użytkownicy nie będą wszakże mogli samodzielnie tworzyć własnych użytkowników i baz danych. Wszystkie przykłady zawarte w tym rozdziale były uruchamiane na serwerze MySQL w wersji 5.0, która w trakcie pisania tej książki była wersją najnowszą. Niektóre wcześniejsze wersje serwera nie posiadają pewnych możliwości, dlatego też przed rozpoczęciem lektury należy zastąpić starszą wersję nową instalacją MySQL. Najnowszą wersję serwera MySQL można pobrać ze strony W książce komunikację z serwerem MySQL prowadzimy przy użyciu klienta wiersza poleceń o nazwie MySQL monitor, stanowiącego składnik każdej instalacji. Nic jednak nie stoi na przeszkodzie, by używać innego klienta. Jeśli na przykład używany serwer MySQL znajduje się na dzierżawionym serwerze WWW, administratorzy systemu zwykle udostępniają użytkownikom działający przez przeglądarkę interfejs phpmyadmin. Różne klienty GUI działają nieco inaczej, niż zostanie to przedstawione w tym rozdziale, lecz odpowiednie zaadaptowanie przedstawionych instrukcji nie powinno sprawić większego kłopotu.

19 Rozdział 9. Tworzenie internetowej bazy danych 235 W przykładach przedstawionych w dalszej części tego rozdziału oraz w rozdziale następnym każda komenda jest zakończona znakiem średnika ( ). Informuje on serwer MySQL o konieczności wykonania zadanego polecenia. Opuszczenie średnika spowoduje brak reakcji serwera, o czym często zapominają użytkownicy, zwłaszcza niedoświadczeni. Opuszczenie znaku średnika spowoduje, że nastąpi przejście do nowego wiersza przed zakończeniem wpisywania tekstu komendy. Pozwoliło to nam na zwiększenie czytelności przykładów. Odnalezienie miejsca, w którym nastąpiło przejście do nowego wiersza, nie powinno sprawić żadnych problemów MySQL wyświetli tam znak kontynuacji w formie strzałki przedstawionej poniżej: Symbol ten oznacza, że MySQL czeka na wprowadzenie dalszej części polecenia. Za każdym razem, gdy zostanie naciśnięty klawisz Enter bez wcześniejszego wpisania znaku średnika, nastąpi przejście do nowego wiersza i wyświetlenie symbolu strzałki. Warto również zapamiętać, że MySQL nie rozróżnia małych i wielkich liter w poleceniach języka SQL, może natomiast je rozróżniać w nazwach baz danych i tabel (kwestia ta zostanie poruszona w dalszej części rozdziału). W celu zalogowania się do serwera MySQL należy przejść do wiersza poleceń systemu operacyjnego i wpisać następującą komendę: Polecenie wywołuje monitor MySQL, mający postać wiersza poleceń łączącego klienta z serwerem. Opcji używa się w celu wskazania komputera, do którego ma nastąpić połączenie (na maszynie tej pracuje serwer MySQL). Jeśli polecenie to ma być wykonane na tym samym komputerze, na którym znajduje się MySQL, to opcja oraz parametr mogą zostać pominięte. W przeciwnym wypadku konieczne jest wpisanie w miejsce parametru nazwy maszyny, na której uruchomiony jest serwer bazy danych. Opcja jest stosowana w celu wskazania identyfikatora użytkownika, na którego następuje logowanie. Jeśli identyfikator ten nie zostanie podany, wówczas MySQL domyślnie użyje identyfikatora tego użytkownika, który jest aktualnie zalogowany do systemu operacyjnego. Jeśli MySQL został zainstalowany na komputerze lub serwerze czytelnika, będzie on zmuszony zalogować się jako użytkownik oraz samodzielnie utworzyć bazę danych, którą będzie wykorzystywał w trakcie uruchamiania zawartych w tym rozdziale przykładów. Przy pierwszym uruchomieniu serwera użytkownik jest jedynym zarejestrowanym

20 236 Część II Stosowanie MySQL użytkownikiem. W trakcie pracy na serwerze zainstalowanym na komputerze administrowanym przez inną osobę należy przy logowaniu użyć identyfikatora użytkownika, podanego przez administratora. Opcja informuje serwer o logowaniu się z użyciem hasła. Może ona zostać pominięta, jeśli dla danego użytkownika hasło nie zostało ustanowione. Jeżeli czytelnik loguje się jako użytkownik bez konieczności podania hasła, zalecane jest określenie hasła dostępu zgodnie z instrukcjami zawartymi w dodatku A. Jego brak powoduje, iż system będzie niedostatecznie zabezpieczony. Podawanie hasła w tym samym wierszu co polecenie nie jest obowiązkowe. Jeżeli nie zostanie ono podane, to serwer MySQL sam o nie zapyta. Tak naprawdę pominięcie hasła jest właściwie lepszym rozwiązaniem, gdyż wpisane w wierszu poleceń będzie miało formę zwykłego tekstu, co umożliwi osobom postronnym jego wykrycie. Po wpisaniu komendy podanej na początku podrozdziału wyświetlona zostanie odpowiedź w następującej formie: (jeżeli polecenie to nie zadziała, trzeba sprawdzić, czy serwer MySQL jest uruchomiony, a komenda może być zrealizowana w bieżącej ścieżce dostępu). Następnie należy podać hasło dostępu. Jeśli wszystko przebiegnie prawidłowo, powinien zostać wyświetlony komunikat podobny do poniższego: Jeżeli czytelnik pracuje na własnym komputerze i komunikat nie będzie przypominał powyższego, wówczas należy upewnić się, czy uruchomiona jest aplikacja (jeżeli jest wymagana) i czy zostało określone i wpisane prawidłowo hasło dostępu dla użytkownika. Jeśli praca odbywa się na zdalnej maszynie, trzeba upewnić się, iż podane hasło jest prawidłowe. Po zalogowaniu się do serwera kursor powinien znajdować się przy znaku zachęty, umożliwiając stworzenie nowej bazy danych. Czytelnik pracujący na własnym komputerze powinien stosować się do instrukcji podanych w dalszej części rozdziału. Czytelnik korzystający z maszyny administrowanej przez inną osobę powinien mieć utworzoną i przypisaną mu bazę danych, może więc od razu przejść do lektury podrozdziału Używanie odpowiedniej bazy danych. Można oczywiście zapoznać się z poprzedzającymi go podrozdziałami, nie będzie jednak możliwości (a przynajmniej nie powinno być) uruchamiania wyszczególnionych w nich poleceń.

21 Rozdział 9. Tworzenie internetowej bazy danych 237 System baz danych MySQL jest w stanie obsługiwać wiele baz danych jednocześnie. Zazwyczaj jedna aplikacja współpracuje z jedną bazą danych. Dla księgarni Książkorama baza ta nosi nazwę. Tworzenie bazy danych to czynność najprostsza. W wierszu poleceń MySQL należy wpisać: W miejsce należy podać nazwę bazy danych, która ma zostać utworzona. W naszym przykładzie jest to baza o nazwie. I to wszystko! Otrzymana odpowiedź powinna wyglądać mniej więcej tak: Oznacza to, że operacja została wykonana bez błędów. Jeśli taki komunikat się nie pojawi, należy upewnić się, że na końcu komendy został wpisany znak średnika. Informuje on serwer MySQL o zakończeniu wpisywania polecenia i o konieczności jego wykonania. System MySQL może obsługiwać wielu użytkowników. Użytkownik powinien być wykorzystywany w zasadzie tylko do celów administracyjnych, co jest podyktowane względami bezpieczeństwa. Dla każdego użytkownika, który będzie pracował w systemie, trzeba utworzyć konto i nadać mu hasło dostępu. Nie muszą one być takie same, jak identyfikator użytkownika i hasło wykorzystywane do zalogowania się do systemu operacyjnego. Ta sama zasada odnosi się do użytkownika. Pożądane jest stosowanie różnych haseł dostępu w razie logowania się do systemu operacyjnego i serwera MySQL, szczególnie w przypadku użytkownika. Nadawanie hasła nowym użytkownikom nie jest obowiązkowe, jednak ze względów bezpieczeństwa pożądane jest, aby każdy użytkownik posiadał własne hasło dostępu. W przypadku tworzenia internetowej bazy danych wskazane jest utworzenie co najmniej jednego użytkownika, który będzie wykorzystywany tylko przez daną aplikację bazodanową. Można by zadać pytanie o cel tej operacji. Odpowiedź związana jest z systemem przywilejów. Jedną z najważniejszych cech MySQL jest obsługa wyrafinowanego systemu przywilejów. Przywilej to inaczej posiadane przez określonego użytkownika prawo do wykonania określonego polecenia na określonym obiekcie. Idea przywilejów jest zbliżona do koncepcji praw dostępu do plików. Rejestrując nowego użytkownika MySQL, należy

22 238 Część II Stosowanie MySQL nadać mu odpowiednie przywileje w celu wyszczególnienia czynności, które będzie on mógł wykonać w systemie. Zasada najmniejszego przywileju jest stosowana w celu zwiększenia bezpieczeństwa systemu komputerowego. Jest to podstawowa, ale bardzo ważna zasada, o której niestety często się zapomina. Brzmi ona następująco: Użytkownik (lub proces) powinien posiadać minimalny zbiór przywilejów potrzebnych do wykonania przypisanego mu zadania. Zasadę tę należy stosować wszędzie, nie tylko w odniesieniu do MySQL. Na przykład do wysłania zapytania do bazy danych ze strony WWW użytkownik nie będzie potrzebował wszystkich przywilejów, które posiada użytkownik. Należy więc utworzyć nowego użytkownika i nadać mu tylko przywileje niezbędne do uzyskania dostępu do bazy danych. Polecenia i służą do nadawania i odbierania użytkownikom MySQL praw na czterech poziomach uprzywilejowania. Wyróżniamy następujące poziomy przywilejów: globalny, baza danych, tabela, kolumna. W dalszej części rozdziału wyjaśnimy, który z nich i kiedy należy stosować. Polecenie służy do tworzenia nowych użytkowników i nadawania im przywilejów. Składnia tego polecenia jest następująca: Klauzule w nawiasach kwadratowych są opcjonalne. Poniżej zostaną omówione poszczególne parametry tego polecenia. Pierwszy z nich,, ma postać listy przywilejów oddzielonych przecinkami. MySQL posiada liczny zbiór przywilejów, opisanych w następnym podrozdziale. Parametr jest opcjonalny. Używa się go w celu wskazania kolumn, do których podane przywileje zostaną zastosowane. Można podać nazwę pojedynczej kolumny lub listę nazw kolumn oddzielonych przecinkami. Parametr wskazuje bazę lub tabelę, do której zostaną zastosowane podane przywileje. W celu nadania przywilejów na wszystkie bazy danych w systemie powinien przyjąć wartość. Wówczas przywileje zostały nadane na poziomie globalnym.

23 Rozdział 9. Tworzenie internetowej bazy danych 239 Ten sam efekt można osiągnąć, przypisując parametrowi wartość, jeśli nie jest używana żadna baza danych. Częściej jednak wskazuje się wszystkie tabele w bazie, wpisując, konkretną tabelę ( ) lub pojedyncze kolumny w danej tabeli poprzez wpisanie i nadanie odpowiedniej wartości parametrowi. Za pomocą tych metod nadaje się przywileje na pozostałych trzech poziomach uprzywilejowania, odpowiednio: baza danych, tabela i kolumna. Jeżeli w trakcie wykonywania tego polecenia używana jest konkretna baza danych, to podanie samej nazwy tabeli będzie zinterpretowane jako nadanie przywilejów tabeli o tej nazwie, znajdującej się w używanej bazie danych. Parametr powinien wskazywać identyfikator, za pomocą którego użytkownik loguje się do serwera MySQL. Oczywiście nie musi być to ten sam, który jest używany przy logowaniu się do systemu operacyjnego. Wartość tego parametru może również zawierać nazwę komputera. Możliwość tę wykorzystuje się na przykład do odróżnienia użytkownika (traktowanego jako ) od użytkownika. Rozwiązanie to jest szczególnie użyteczne w przypadku, gdy użytkownicy z różnych domen mają te same identyfikatory. Poza tym metoda ta zwiększa poziom bezpieczeństwa systemu, gdyż pozwala określić, z jakiej domeny konkretny użytkownik może się zalogować, a nawet do jakich tabel lub baz ma on dostęp z określonej lokalizacji. Wartością parametru jest hasło dostępu, którym powinien posługiwać się wskazany użytkownik w trakcie logowania do serwera. Stosuje się tutaj standardowe zasady doboru haseł. Kwestie bezpieczeństwa zostaną omówione w dalszej części książki, jednak należy zaznaczyć, że hasło nie powinno być łatwe do odgadnięcia. Niewskazane jest używanie słów, które można znaleźć w słowniku ani nie powinno być takie samo, jak identyfikator użytkownika. Najlepszym rozwiązaniem jest nadanie hasła składającego się z liter małych i wielkich oraz znaków nie będących literami. Klauzula pozwala wskazać, że użytkownik musi łączyć się poprzez protokół Secure Sockets Layer (SSL), a także wskazać opcje SSL. Więcej informacji na temat połączeń z serwerem MySQL za pośrednictwem SSL można znaleźć w podręczniku MySQL. Dodanie opcji spowoduje, że wskazany użytkownik będzie mógł nadawać innym użytkownikom takie przywileje, jakie sam posiada. Zamiast niej można użyć klauzuli w postaci lub lub Dzięki tym klauzulom można ograniczyć liczbę zapytań, uaktualnień lub połączeń, jakie jeden użytkownik może zrealizować w ciągu godziny. Rozwiązanie to może przydać się do ograniczania obciążenia systemów współużytkowanych generowanego przez jednego użytkownika.

24 240 Część II Stosowanie MySQL Informacje dotyczące nadanych przywilejów zapamiętywane są w czterech tabelach systemowych, znajdujących się w bazie danych o nazwie. Tabele te noszą nazwy:,,, oraz. Zamiast wykorzystywać polecenie, można zmieniać dane bezpośrednio w wymienionych tabelach. Szczegółowe informacje na temat sposobu działania tych tabel oraz metod wprowadzania zmian bezpośrednio w nich zostaną przedstawione w rozdziale 12. MySQL wykorzystuje trzy typy przywilejów: przywileje nadawane zwykłym użytkownikom, przywileje dla administratorów, przywileje specjalne. Każdemu użytkownikowi można przyporządkować przywileje dowolnego typu, najrozsądniejsze jednak jest nadawanie przywilejów dla administratorów tylko administratorom systemu, czyli zgodnie ze wspomnianą wcześniej zasadą najmniejszego przywileju. Użytkownikom należy nadawać takie przywileje, które umożliwią korzystanie tylko z potrzebnych im baz i tabel. Nikomu, z wyjątkiem administratora, nie należy udostępniać systemowej bazy, gdyż w niej właśnie przechowywane są identyfikatory wszystkich użytkowników, ich hasła dostępu itp. (szerzej zagadnienie to jest opisane w rozdziale 12.). Przywileje przeznaczone dla zwykłych użytkowników odwołują się bezpośrednio do konkretnych rodzajów poleceń SQL i określają, czy dany użytkownik może wykonywać polecenia tego typu. Polecenia języka SQL zostaną szerzej omówione w następnym rozdziale, teraz ograniczymy się tylko do krótkiego opisu (tabela 9.1). Kolumna Zastosowanie wskazuje obiekty, którym może być nadany określony typ przywilejów. Przywileje dla użytkowników Przywilej Zastosowanie Opis Tabele, kolumny Pozwala na wyszukiwanie wierszy (rekordów) z tabel Tabele, kolumny Pozwala na wstawianie nowych wierszy do tabel Tabele, kolumny Pozwala na zmianę wartości wierszy zapisanych w tabeli Tabele Pozwala na usuwanie z tabeli istniejących wierszy Tabele Pozwala na tworzenie i usuwanie indeksów w poszczególnych tabelach Tabele Pozwala na dokonywanie zmian w strukturze istniejących tabel, np. dodawanie nowych kolumn, zmianę nazw kolumn lub tabel, zmianę typu danych istniejących kolumn Bazy danych, tabele Pozwala na tworzenie nowych tabel i baz danych. Jeżeli w ramach polecenia podano nazwę konkretnej tabeli lub kolumny, to użytkownik ma prawo utworzyć tabelę lub kolumnę tylko o tej nazwie, a więc najpierw będzie zmuszony ją usunąć Bazy danych, tabele Pozwala na usuwanie baz lub tabel

25 Rozdział 9. Tworzenie internetowej bazy danych 241 Większość przywilejów przeznaczonych dla zwykłych użytkowników nie powoduje zmniejszenia bezpieczeństwa systemu. Przywilej może być wykorzystywany do obchodzenia systemu przywilejów poprzez zmianę nazw tabel, jednak jest on potrzebny większości użytkowników. Ochrona systemu jest zawsze rezultatem kompromisu między jego użytecznością a poziomem zabezpieczeń. Administrator powinien samodzielnie podejmować decyzję o nadaniu, lub nie, przywileju zwykłym użytkownikom. Zazwyczaj jednak przywilej ten jest nadawany. Oprócz przywilejów opisanych w tabeli 9.1 istnieje również przywilej (obecnie nie jest on praktycznie używany) oraz przywilej, nadawany częściej poprzez dodanie opcji niż przez dołączanie go do listy wartości parametru. W tabeli 9.2 opisano przywileje przeznaczone dla administratorów. Przywileje dla administratorów Przywilej Opis Pozwala administratorowi na używanie słowa kluczowego w instrukcjach Pozwala na wczytywanie danych z plików do tabel i odwrotnie Pozwala na jawne używanie instrukcji Pozwala na śledzenie procesów wykonywanych przez serwer i ich przerywanie Pozwala na powtórne załadowanie tabel zawierających informacje na temat praw dostępu oraz na odświeżenie przywilejów, listy nazw łączących się komputerów, dziennika zdarzeń i tabel Pozwala na używanie instrukcji na nadawcach i odbiorcach replikacji. Mechanizm replikacji zostanie opisany w urozdziale 12 Pozwala serwerom będącym odbiorcami replikacji na łączenie się z serwerem-nadawcą. Mechanizm replikacji zostanie opisany w rozdziale 12 Pozwala na odczytywanie listy wszystkich baz danych przy użyciu instrukcji. Użytkownicy, którzy nie mają tego uprawnienia, będą widzieć wyłącznie bazy, do których przydzielono im dostęp Umożliwia zakończenie pracy serwera MySQL Pozwala administratorowi na zabijanie wątków należących do dowolnego użytkownika Istnieje możliwość nadania opisanych przywilejów użytkownikom nie mającym statusu administratora, jednak należy tego dokonywać z zachowaniem najwyższej ostrożności. Z przywilejem sprawa wygląda nieco inaczej. Jest on bardzo przydatny dla użytkowników, gdyż możliwość wstawiania danych bezpośrednio z plików do tabel pozwala zaoszczędzić czas, konieczny na ręczne wpisywanie kolejnych wartości. Z drugiej strony jednak może zostać wykorzystany do załadowania wszelkich plików, które widzi serwer MySQL, np. pliku bazy należącej do innego użytkownika czy pliku zawierającego hasła dostępu. Przywilej ten powinien więc być nadawany z rozwagą lub też administrator powinien sam dokonywać ładowania danych z pliku do wskazanej przez użytkownika tabeli.

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG

IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE

Bardziej szczegółowo

PHP i MySQL dla każdego / Marcin Lis. Wyd. 3. Gliwice, cop Spis treści

PHP i MySQL dla każdego / Marcin Lis. Wyd. 3. Gliwice, cop Spis treści PHP i MySQL dla każdego / Marcin Lis. Wyd. 3. Gliwice, cop. 2017 Spis treści Wstęp 11 Część I Skrypty PHP dynamiczne generowanie stron internetowych 15 Rozdział 1. Podstawy 17 Czym jest PHP? 17 Krótka

Bardziej szczegółowo

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

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi 1 Rozdział 1 Wprowadzenie do PHP i MySQL Opis: W tym rozdziale kursanci poznają szczegółową charakterystykę

Bardziej szczegółowo

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

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1 Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych

Bardziej szczegółowo

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 ), 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

Bardziej szczegółowo

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

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL. E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL. Autor: Larry Ullman Poznaj zasady wirtualnego handlu i zarabiaj prawdziwe pieniądze Jak stworzyć doskonałą witrynę sklepu internetowego? Jak

Bardziej szczegółowo

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

Bardziej szczegółowo

Smarty PHP. Leksykon kieszonkowy

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

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

Bardziej szczegółowo

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ Systemy baz danych 1. 2 Wstęp do baz danych 2. 2 Relacyjny model baz danych. 3. 2 Normalizacja baz danych. 4. 2 Cechy

Bardziej szczegółowo

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop. 2016 Spis treści Wprowadzenie 11 Adresaci książki 12 Co wyróżnia tę książkę na

Bardziej szczegółowo

Instrukcja konfiguracji funkcji skanowania

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

Bardziej szczegółowo

MySQL. Æwiczenia praktyczne

MySQL. Æwiczenia praktyczne IDZ DO PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG MySQL. Æwiczenia praktyczne Autor: Marek Nowakowski ISBN: 83-7197-884-7 Format: B5, stron: 114 TWÓJ KOSZYK DODAJ

Bardziej szczegółowo

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów Aplikacje internetowe KL. III Rok szkolny: 013/01 Nr programu: 31[01]/T,SP/MENIS/00.06.1 Okres kształcenia: łącznie ok. 170 godz. lekcyjne Moduł Bok wprowadzający 1. Zapoznanie z programem nauczania i

Bardziej szczegółowo

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów Aplikacje internetowe KL. III Rok szkolny: 011/01 Nr programu: 31[01]/T,SP/MENIS/004.06.14 Okres kształcenia: łącznie ok. 180 godz. lekcyjne Wojciech Borzyszkowski Zenon Kreft Moduł Bok wprowadzający Podstawy

Bardziej szczegółowo

Ustalanie dostępu do plików - Windows XP Home/Professional

Ustalanie dostępu do plików - Windows XP Home/Professional Ustalanie dostępu do plików - Windows XP Home/Professional Aby edytować atrybuty dostępu do plikow/ katalogow w systemie plików NTFS wpierw sprawdź czy jest Wyłączone proste udostępnianie czyli przejdź

Bardziej szczegółowo

PHP: bloki kodu, tablice, obiekty i formularze

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ą

Bardziej szczegółowo

CREATE USER

CREATE USER Temat: Administrowanie użytkownikami bazy danych. Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest możliwość

Bardziej szczegółowo

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym 1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle

Bardziej szczegółowo

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne Jarosław Kuchta Internetowe Usługi Informacyjne Komponenty IIS HTTP.SYS serwer HTTP zarządzanie połączeniami TCP/IP buforowanie odpowiedzi obsługa QoS (Quality of Service) obsługa plików dziennika IIS

Bardziej szczegółowo

Instrukcja instalacji

Instrukcja instalacji Instrukcja instalacji Nintex USA LLC 2012. Wszelkie prawa zastrzeżone. Zastrzegamy sobie prawo do błędów i pominięć. support@nintex.com 1 www.nintex.com Spis treści 1. Instalowanie programu Nintex Workflow

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych Spis treści Wprowadzenie... ix Organizacja ksiąŝki... ix Od czego zacząć?... x Konwencje przyjęte w ksiąŝce... x Wymagania systemowe... xi Przykłady kodu... xii Konfiguracja SQL Server 2005 Express Edition...

Bardziej szczegółowo

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop. 2017 Spis treści Przedmowa 11 1. Jak w programie 21 Czym jest program? 21 Uruchamianie interpretera języka Python 22 Pierwszy

Bardziej szczegółowo

Część I Rozpoczęcie pracy z usługami Reporting Services

Część I Rozpoczęcie pracy z usługami Reporting Services Spis treści Podziękowania... xi Wprowadzenie... xiii Część I Rozpoczęcie pracy z usługami Reporting Services 1 Wprowadzenie do usług Reporting Services... 3 Platforma raportowania... 3 Cykl życia raportu...

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykład 8: klasy cz. 4 Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD

Bardziej szczegółowo

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8. WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8. Gdy już posiadamy serwer i zainstalowany na nim system Windows XP, 7 lub 8 postawienie na nim serwera stron WWW jest bardzo proste. Wystarczy

Bardziej szczegółowo

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

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists() Paweł Gmys PHP strona 1 Lekcja 10 Uprawnienia Aby skrypt PHP mógł odwołać się do pliku, musi mieć odpowiednie uprawnienia. Szczegóły są zależne od serwera. Najczęściej chyba skrypt ma uprawnienia takie,

Bardziej szczegółowo

Ćwiczenie: JavaScript Cookies (3x45 minut)

Ćwiczenie: JavaScript Cookies (3x45 minut) Ćwiczenie: JavaScript Cookies (3x45 minut) Cookies niewielkie porcje danych tekstowych, które mogą być przesyłane między serwerem a przeglądarką. Przeglądarka przechowuje te dane przez określony czas.

Bardziej szczegółowo

C++. Æwiczenia zaawansowane

C++. Æwiczenia zaawansowane IDZ DO PRZYK ADOWY ROZDZIA SPIS TRECI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG C++. Æwiczenia zaawansowane Autor: Andrzej Stasiewicz ISBN: 83-7361-766-3 Format: B5, stron: 120 TWÓJ KOSZYK

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9 Wdrożenie modułu płatności eservice dla systemu Magento 1.4 1.9 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

Windows W celu dostępu do i konfiguracji firewall idź do Panelu sterowania -> System i zabezpieczenia -> Zapora systemu Windows.

Windows W celu dostępu do i konfiguracji firewall idź do Panelu sterowania -> System i zabezpieczenia -> Zapora systemu Windows. Bezpieczeństwo Systemów Informatycznych Firewall (Zapora systemu) Firewall (zapora systemu) jest ważnym elementem bezpieczeństwa współczesnych systemów komputerowych. Jego główną rolą jest kontrola ruchu

Bardziej szczegółowo

Spis treści. Część I Wprowadzenie do pakietu oprogramowania Analysis Services

Spis treści. Część I Wprowadzenie do pakietu oprogramowania Analysis Services Spis treści Wstęp... ix Odkąd najlepiej rozpocząć lekturę?... ix Informacja dotycząca towarzyszącej ksiąŝce płyty CD-ROM... xi Wymagania systemowe... xi Instalowanie i uŝywanie plików przykładowych...

Bardziej szczegółowo

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne

Bardziej szczegółowo

Dokumentacja SMS przez FTP

Dokumentacja SMS przez FTP Dokumentacja SMS przez FTP 1 Wprowadzenie... 2 Właściwości plików... 3 Tworzenie konfiguracji w Panelu Klienta... 4 Raporty doręczeń... 5 Historia zmian... 6 2 Wprowadzenie Usługa wysyłki SMS przez FTP

Bardziej szczegółowo

Projektowani Systemów Inf.

Projektowani Systemów Inf. Projektowani Systemów Inf. Wykład VII Bezpieczeństwo Copyrights by Arkadiusz Rzucidło 1 Bezpieczeństwo Bezpieczeństwo związane z danymi Konstrukcja magazynów danych Mechanizmy zapisu i modyfikacji danych

Bardziej szczegółowo

Szczegółowy opis zamówienia:

Szczegółowy opis zamówienia: Szczegółowy opis zamówienia: Rok 2016 budowa stron w html5 (8h v + 4h ćw) 8 szt. html5 - zaawans. (7h v + 5h ćw) 8 szt. programowania w java script (9h v + 7h ćw) 8 szt. java script zaawans (8h v + 4h

Bardziej szczegółowo

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 ZAMAWIANIE I REZERWOWANIE

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 ZAMAWIANIE I REZERWOWANIE Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 ZAMAWIANIE I REZERWOWANIE Poznań 2011 Spis treści 1. Zamawianie i rezerwowanie definicja pojęć...3 2. Zasada działania systemu...4 3. Zamawianie

Bardziej szczegółowo

EXSO-CORE - specyfikacja

EXSO-CORE - specyfikacja EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów.

Bardziej szczegółowo

KATEGORIA OBSZAR WIEDZY

KATEGORIA OBSZAR WIEDZY Moduł 3 - Przetwarzanie tekstów - od kandydata wymaga się zaprezentowania umiejętności wykorzystywania programu do edycji tekstu. Kandydat powinien wykonać zadania o charakterze podstawowym związane z

Bardziej szczegółowo

Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć

Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć rzedmiot : Systemy operacyjne Rok szkolny : 015/016 Klasa : 3 INF godz. x 30 tyg.= 60 godz. Zawód : technik informatyk; symbol 35103 rowadzący : Jacek Herbut Henryk Kuczmierczyk Numer lekcji Dział Tematyka

Bardziej szczegółowo

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Plan. Raport. Tworzenie raportu z kreatora (1/3) 3 Budowa prostych raportów opartych o bazę danych Plan Co to jest raport? Tworzenie za pomocą kreatora Tworzenie opartego o polecenie SQL Edycja atrybutów Atrybuty regionu Atrybuty Atrybuty kolumn 2 Raport

Bardziej szczegółowo

Internetowy serwis Era mail Aplikacja sieci Web

Internetowy serwis Era mail Aplikacja sieci Web Internetowy serwis Era mail Aplikacja sieci Web (www.login.eramail.pl) INSTRUKCJA OBSŁUGI Spis treści Internetowy serwis Era mail dostępny przez komputer z podłączeniem do Internetu (aplikacja sieci Web)

Bardziej szczegółowo

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

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x Wdrożenie modułu płatności eservice dla systemu oscommerce 2.3.x - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego 2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego produktu. 23 czerwca 2014 Spis treści 3 Spis treści...5

Bardziej szczegółowo

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

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15 T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest

Bardziej szczegółowo

Praca w programie dodawanie pisma.

Praca w programie dodawanie pisma. Praca w programie dodawanie pisma. Wybór zakładki z danymi z Currendy (1) (tylko w przypadku włączenia opcji korzystania z danych Currendy). Wyszukanie i wybranie pisma. Po wybraniu wiersza dane z Currendy

Bardziej szczegółowo

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http. T: Konfiguracja usługi HTTP w systemie Windows. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http. HTTP (ang. Hypertext Transfer Protocol) protokół transferu plików

Bardziej szczegółowo

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

Bardziej szczegółowo

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop. 2016 Spis treści O autorach 11 Podziękowania 12 Część I Wprowadzenie do języka SQL 13 Godzina 1. Witamy w świecie języka SQL 15

Bardziej szczegółowo

Elektroniczna Skrzynka Podawcza

Elektroniczna Skrzynka Podawcza Elektroniczna Skrzynka Podawcza Instrukcja dla administratora Wersja 1.6.0 Przewodnik przeznaczony jest dla użytkowników, którzy administrują kontem urzędu w systemie Elektronicznej Skrzynki Podawczej.

Bardziej szczegółowo

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji - wersja dokumentu 1.3-19.08.2014 Spis treści 1 Wstęp... 4 1.1 Cel dokumentu... 4 1.2 Powiązane dokumenty...

Bardziej szczegółowo

Program GroupWise WebAccess interfejs podstawowy

Program GroupWise WebAccess interfejs podstawowy Program GroupWise WebAccess interfejs podstawowy 21 listopada 2011 Novell Skrócona instrukcja obsługi Po zainstalowaniu przez administratora systemu oprogramowania GroupWise 2012 WebAccess można korzystać

Bardziej szczegółowo

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

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,

Bardziej szczegółowo

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

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5 Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

Klient poczty elektronicznej - Thunderbird

Klient poczty elektronicznej - Thunderbird Klient poczty elektronicznej - Thunderbird Wstęp Wstęp Klient poczty elektronicznej, to program który umożliwia korzystanie z poczty bez konieczności logowania się na stronie internetowej. Za jego pomocą

Bardziej szczegółowo

Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć. Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->.

Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć. Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->. Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->. Następnie wybieramy Serwer aplikacji (IIS, ASP.NET) i klikamy

Bardziej szczegółowo

Backend Administratora

Backend Administratora Backend Administratora mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 W tym celu korzystając z konsoli wydajemy polecenie: symfony generate:app backend Wówczas zostanie stworzona

Bardziej szczegółowo

ELEKTRONICZNA KSIĄŻKA ZDARZEŃ

ELEKTRONICZNA KSIĄŻKA ZDARZEŃ ELEKTRONICZNA KSIĄŻKA ZDARZEŃ Instrukcja obsługi 1. WSTĘP... 2 2. LOGOWANIE DO SYSTEMU... 2 3. STRONA GŁÓWNA... 3 4. EWIDENCJA RUCHU... 4 4.1. Dodanie osoby wchodzącej na teren obiektu... 4 4.2. Dodanie

Bardziej szczegółowo

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych KARTA PRZEDMIOTU Nazwa przedmiotu/modułu: Nazwa angielska: Kierunek studiów: Poziom studiów: Profil studiów Jednostka prowadząca: Programowanie aplikacji internetowych Web application development edukacja

Bardziej szczegółowo

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

Praca Magisterska System zdalnego składania ofert kupna i sprzedaży za pośrednictwem Internetu AUTOR PROMOTOR System Oferta Praca Magisterska Niniejszy system powstał w ramach pracy magisterskiej "System zdalnego składania ofert kupna i sprzedaży za pośrednictwem Internetu". Politechnika Poznańska Wydział Informatyki

Bardziej szczegółowo

Instalacja systemu zarządzania treścią (CMS): Joomla

Instalacja systemu zarządzania treścią (CMS): Joomla Instalacja systemu zarządzania treścią (CMS): Joomla Na stronie http://www.cba.pl/ zarejestruj nowe konto klikając na przycisk:, następnie wybierz nazwę domeny (Rys. 1a) oraz wypełnij obowiązkowe pola

Bardziej szczegółowo

Microsoft Exchange Server 2013

Microsoft Exchange Server 2013 William R. Stanek Vademecum Administratora Microsoft Exchange Server 2013 Konfiguracja i klienci systemu Przekład: Leszek Biolik APN Promise 2013 Spis treści Wstęp..........................................

Bardziej szczegółowo

Pracownia internetowa w szkole ZASTOSOWANIA

Pracownia internetowa w szkole ZASTOSOWANIA NR ART/SBS/07/01 Pracownia internetowa w szkole ZASTOSOWANIA Artykuły - serwery SBS i ich wykorzystanie Instalacja i Konfiguracja oprogramowania MOL Optiva na szkolnym serwerze (SBS2000) Artykuł opisuje

Bardziej szczegółowo

INSTRUKCJA OBSŁUGI APLIKACJI WEBFAX DLA

INSTRUKCJA OBSŁUGI APLIKACJI WEBFAX DLA 2014 INSTRUKCJA OBSŁUGI APLIKACJI WEBFAX DLA ADMINISTRATORA ENTERPRISE INSTRUKCJA OBSŁUGI APLIKACJI WEBFAX DLA ADMINISTRATORA ENTERPRISE OPIS KONCEPCYJNY APLIKACJI ORAZ PRZEGLĄD FUNKCJI COPYRIGHT BY UBIQUITY

Bardziej szczegółowo

Tomasz Greszata - Koszalin

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).

Bardziej szczegółowo

4. Podstawowa konfiguracja

4. Podstawowa konfiguracja 4. Podstawowa konfiguracja Po pierwszym zalogowaniu się do urządzenia należy zweryfikować poprawność licencji. Można to zrobić na jednym z widżetów panelu kontrolnego. Wstępną konfigurację można podzielić

Bardziej szczegółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja elektronicznego dziennika ocen ucznia Autor: Grzegorz Dudek wykonanego w technologii ASP.NET We współczesnym modelu edukacji, coraz powszechniejsze

Bardziej szczegółowo

Pobieranie komunikatów GIF

Pobieranie komunikatów GIF Spis treści Wstęp... 2 1. Ustawienia harmonogramu zadań... 3 1.1. Tryby pracy AswPlan... 3 2. System KS-EWD... 4 2.1. Instalacja KS-EWD... 5 3. Inauguracja OSOZ... 6 3.1. Zdefiniowanie zadania pobierania

Bardziej szczegółowo

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

I. Informacje ogólne. Jednym z takich systemów jest Mambo. MAMBO (CMS) I. Informacje ogólne CMS, Content Management System ("system zarządzania treścią") jest to jedna lub zestaw aplikacji internetowych pozwalających na łatwe utworzenie oraz późniejszą aktualizację

Bardziej szczegółowo

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED Podręcznik użytkownika Katowice 2010 Producent programu: KAMSOFT S.A. ul. 1 Maja 133 40-235 Katowice Telefon: (0-32) 209-07-05 Fax:

Bardziej szczegółowo

Windows Serwer 2008 R2. Moduł 5. Zarządzanie plikami

Windows Serwer 2008 R2. Moduł 5. Zarządzanie plikami Windows Serwer 2008 R2 Moduł 5. Zarządzanie plikami Sprawdzamy konfigurację kart sieciowych 172.16.x.0 x nr w dzienniku Na serwerze musi działać Internet! Statyczny adres IP jest potrzebny komputerom,

Bardziej szczegółowo

ActiveXperts SMS Messaging Server

ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server to oprogramowanie typu framework dedykowane wysyłaniu, odbieraniu oraz przetwarzaniu wiadomości SMS i e-mail, a także tworzeniu własnych

Bardziej szczegółowo

1 Powłoka programu Windows PowerShell... 1. 2 Skrypty programu Windows PowerShell... 37. 3 Zarządzanie dziennikami... 65

1 Powłoka programu Windows PowerShell... 1. 2 Skrypty programu Windows PowerShell... 37. 3 Zarządzanie dziennikami... 65 Spis treści Podziękowania... xi Wstęp... xiii 1 Powłoka programu Windows PowerShell... 1 Instalowanie programu Windows PowerShell... 1 Sprawdzanie instalacji za pomocą skryptu w języku VBScript... 1 WdraŜanie

Bardziej szczegółowo

WellCommerce Poradnik: CRM

WellCommerce Poradnik: CRM WellCommerce Poradnik: CRM Spis treści W tej części poradnika poznasz możliwości zarządzania kontaktami z klientami w WellCommerce, automatycznych powiadomień oraz Newsletterów. Spis treści... 2 Wstęp...

Bardziej szczegółowo

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152

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

Bardziej szczegółowo

Panel administracyjny serwera: admin.itl.pl

Panel administracyjny serwera: admin.itl.pl Panel administracyjny serwera: admin.itl.pl I. Ogólne dane serwera. 1. Aktualny stan serwera W Panelu Administracyjnym możesz na bieżąco monitorować stan swojego serwera. Opcja "Aktualny stan serwera"

Bardziej szczegółowo

World Wide Web? rkijanka

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

Bardziej szczegółowo

Fiery Remote Scan. Uruchamianie programu Fiery Remote Scan. Skrzynki pocztowe

Fiery Remote Scan. Uruchamianie programu Fiery Remote Scan. Skrzynki pocztowe Fiery Remote Scan Program Fiery Remote Scan umożliwia zarządzanie skanowaniem na serwerze Fiery server i drukarce ze zdalnego komputera. Programu Fiery Remote Scan można użyć do wykonania następujących

Bardziej szczegółowo

W dalszej części dokumentu przedstawiamy skrócony opis kluczowych funkcji systemu. Niniejszy dokument nie zawiera opisu technicznego systemu.

W dalszej części dokumentu przedstawiamy skrócony opis kluczowych funkcji systemu. Niniejszy dokument nie zawiera opisu technicznego systemu. 1. Informacje Podstawowe Mediamanager 2.1 jest systemem wspierającym zarządzanie dokumentami elektronicznymi. Podstawowymi funkcjami realizowanymi przez oprogramowanie jest przetrzymywanie, zarządzanie

Bardziej szczegółowo

Instrukcja generowania certyfikatu PFRON i podpisywania dokumentów aplikacji SODiR w technologii JS/PKCS 12

Instrukcja generowania certyfikatu PFRON i podpisywania dokumentów aplikacji SODiR w technologii JS/PKCS 12 Instrukcja generowania certyfikatu PFRON i podpisywania dokumentów aplikacji SODiR w technologii JS/PKCS 12 Wersja 3.0 02-03-2017 Spis treści Instrukcja generowania certyfikatu PFRON i podpisywania dokumentów

Bardziej szczegółowo

Wprowadzenie (17) Część I. Makra w Excelu - podstawy (23)

Wprowadzenie (17) Część I. Makra w Excelu - podstawy (23) Wprowadzenie (17) Omówione zagadnienia (18) Co trzeba wiedzieć? (18) Co trzeba mieć? (18) Układ książki (18) o Część I. Makra w Excelu - podstawy (19) o Część II. Praca ze skoroszytami (19) o Część III.

Bardziej szczegółowo

GroupWise WebAccess Basic Interface

GroupWise WebAccess Basic Interface GroupWise WebAccess Basic Interface szybki start 8 Novell GroupWise WebAccess Basic Interface SZYBKI START www.novell.com Korzystanie z programu GroupWise WebAccess Basic Interface Po zainstalowaniu przez

Bardziej szczegółowo

PWI Instrukcja użytkownika

PWI Instrukcja użytkownika PWI Instrukcja użytkownika Spis treści 1. Wprowadzenie... 1 2. Przebieg przykładowego procesu... 1 3. Obsługa systemu... 5 a. Panel logowania... 5 b. Filtrowanie danych... 5 c. Pola obligatoryjne... 6

Bardziej szczegółowo

SklepEF5 moduł sklepu i zamówień internetowych do programu EuroFirma i Hermes firmy Humansoft

SklepEF5 moduł sklepu i zamówień internetowych do programu EuroFirma i Hermes firmy Humansoft SklepEF5 moduł sklepu i zamówień internetowych do programu EuroFirma i Hermes firmy Humansoft Funkcja stworzona została z założeniem szybkiej instalacji modułu i uruchomienia witryny internetowej umożliwiającej

Bardziej szczegółowo

Platforma e-learningowa

Platforma e-learningowa Dotyczy projektu nr WND-RPPD.04.01.00-20-002/11 pn. Wdrażanie elektronicznych usług dla ludności województwa podlaskiego część II, administracja samorządowa realizowanego w ramach Decyzji nr UDA- RPPD.04.01.00-20-002/11-00

Bardziej szczegółowo

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

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja ZPKSoft WDoradca 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja 1. Wstęp ZPKSoft WDoradca jest technologią dostępu przeglądarkowego do zasobów systemu ZPKSoft Doradca.

Bardziej szczegółowo

PROJEKT POWYKONAWCZY. System zdalnego odczytu, transmisji i archiwizacji danych z wodomierzy i ciepłomierzy instrukcja obsługi.

PROJEKT POWYKONAWCZY. System zdalnego odczytu, transmisji i archiwizacji danych z wodomierzy i ciepłomierzy instrukcja obsługi. INWESTOR NAZWA I ADRES OBIEKTU BUDOWLANEGO BUDYNEK MIESZKALNY WIELORODZINNY Z CZĘŚCIĄ HANDLOWO - USŁUGOWĄ I GARAŻAMI JEDNOSTKA PROJEKTOWA FAZA: PW PROJEKT POWYKONAWCZY System zdalnego odczytu, transmisji

Bardziej szczegółowo

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa Instalacja roli kontrolera domeny, Aby zainstalować rolę kontrolera domeny, należy uruchomić Zarządzenie tym serwerem, po czym wybrać przycisk

Bardziej szczegółowo

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0 ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Użytkowanie baz danych. Sylabus opisuje zakres wiedzy

Bardziej szczegółowo

Kurs: ECDL Usługi w sieciach informatycznych poziom podstawowy

Kurs: ECDL Usługi w sieciach informatycznych poziom podstawowy Kurs: ECDL Usługi w sieciach informatycznych poziom podstawowy Opis: W tym module uczestnicy szkolenia poznają podstawowe pojęcia związanie z Internetem, programy służące do przeglądania zasobów sieci

Bardziej szczegółowo

Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest

Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest Autor: J. Karwowska Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest możliwość nadania go. Użytkownik

Bardziej szczegółowo

Współpraca z platformą dokumentacja techniczna

Współpraca z platformą dokumentacja techniczna Współpraca z platformą Emp@tia dokumentacja techniczna INFO-R Spółka Jawna - 2016 43-430 Pogórze, ul. Baziowa 29, tel. (33) 479 93 29, (33) 479 93 89 fax (33) 853 04 06 e-mail: admin@ops.strefa.pl Strona1

Bardziej szczegółowo

Instrukcja pobrania i instalacji. certyfikatu Microsoft Code Signing. wersja 1.4

Instrukcja pobrania i instalacji. certyfikatu Microsoft Code Signing. wersja 1.4 Instrukcja pobrania i instalacji certyfikatu Microsoft Code Signing wersja 1.4 Spis treści 1. WSTĘP... 4 2. TWORZENIE CERTYFIKATU... 4 3. WERYFIKACJA... 9 3.1. WERYFIKACJA DOKUMENTÓW... 9 3.1.1. W przypadku

Bardziej szczegółowo

Podstawy technologii WWW

Podstawy technologii WWW Podstawy technologii WWW Ćwiczenie 11 PHP, MySQL: więcej, więcej!, więcej!!. tabel i funkcjonalności. Na dzisiejszych zajęciach zdefiniujemy w naszej bazie kilka tabel powiązanych kluczem obcym i zobaczymy,

Bardziej szczegółowo

ROZSZERZANIE MOŻLIWOŚCI...

ROZSZERZANIE MOŻLIWOŚCI... SPIS TREŚCI: Od Autora... 11 ROZSZERZANIE MOŻLIWOŚCI... 13 PROGRAMY PREFERENCYJNE... 15 Czcionki systemowe... 15 Tła okien... 18 Tryb wyświetlania... 22 Zegar i data systemowa... 24 Urządzenia wejścia

Bardziej szczegółowo

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 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

Bardziej szczegółowo