Praca inżynierska

advertisement
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA
im. ks. Bronisława Markiewicza
w JAROSŁAWIU
KIERUNEK: INFORMATYKA
SPECJALNOŚĆ: INFORMATYKA STOSOWANA
Stacjonarne studia inżynierskie
Norbert Czuba
nr albumu 15028
Moduł zarządzania bibliograficzną bazą danych
w systemie RSPN
Świadomy/a odpowiedzialności prawnej oświadczam, że praca dyplomowa, została napisana przeze mnie samodzielnie i
nie była wcześniej podstawą żadnej procedury związanej z nadaniem tytułów zawodowych i dyplomów szkoły wyższej.
Oświadczam również, że praca ta nie narusza praw autorskich w rozumieniu ustawy z dnia 04.02.1994r. o prawie autorskim i
prawach pokrewnych (Dz. U. Nr 24, poz. 83 z póź. zm.) oraz dóbr osobistych chronionych prawem.
……………………
(podpis autora)
Praca dyplomowa
napisana pod kierunkiem:
prof. nzw. dr hab. Zbigniewa Suraja
……………………………
Jarosław 2008
SPIS TREŚCI
Wstęp ....................................................................................................................... 3
1.1.
Cel i zakres pracy .............................................................................................. 3
2. Analiza tematycznych stron internetowych ............................................................. 4
3. Technologia wykonania serwisu WWW ................................................................. 6
3.1.
Wybór technologii ............................................................................................ 6
3.1.1.
Język HTML ............................................................................................. 6
3.1.2.
CSS – Kaskadowe arkusze stylów ............................................................ 7
3.1.3.
Język PHP ................................................................................................. 8
3.1.4.
SQL - Strukturalny język zapytań ............................................................ 9
3.2.
Wykorzystane programy ................................................................................. 11
3.2.1.
Edytor Macromedia Dreamwaver 8 ........................................................ 11
3.2.2.
Program phpMyAdmin 2.9.1.1 ............................................................... 12
4. Prezentacja projektu ............................................................................................... 14
4.1.
Założenia realizacji projektu ........................................................................... 14
4.2.
Założenia bazodanowe .................................................................................... 15
4.3.
Ogólnodostępna część serwisu ....................................................................... 17
4.3.1.
Strona główna modułu bibliograficznego ............................................... 17
4.3.2.
Wyszukiwanie książek ............................................................................ 19
4.3.3.
Opis książki............................................................................................. 20
4.3.4.
Zakładanie konta – „Registration” .......................................................... 21
4.3.5.
Logowanie użytkowników ...................................................................... 22
4.3.6.
Przypomnienie hasła ............................................................................... 23
4.3.7.
Kontakt z administratorem...................................................................... 23
4.4.
Moduł użytkownika ........................................................................................ 24
4.4.1.
Wypożyczone książki ............................................................................. 25
4.4.2.
Wypożycz książkę .................................................................................. 26
4.4.3.
Zmiana danych użytkownika .................................................................. 27
4.5.
Moduł administracyjny ................................................................................... 27
4.5.1.
Administracja nad użytkownikami ......................................................... 27
4.5.2.
Edycja stylów użytkownika .................................................................... 28
4.5.3.
Zapytanie MySQL .................................................................................. 29
4.5.4.
Dodawanie, edytowanie i usuwanie książek........................................... 30
4.5.5.
Wypożyczone książki ............................................................................. 31
4.6.
Implementacja projektu .................................................................................. 31
4.6.1.
Połączenie z bazą danych ....................................................................... 34
4.6.2.
Prezentacja zawartości tabel ................................................................... 35
4.6.3.
Logowanie .............................................................................................. 35
4.6.4.
Dodawanie, edytowanie i usuwanie użytkowników ............................... 36
5. Podsumowanie ....................................................................................................... 38
Literatura ......................................................................................................................... 39
Spis rysunków ................................................................................................................. 40
Spis tabel ......................................................................................................................... 40
Spis programów .............................................................................................................. 40
Załączniki........................................................................................................................ 41
1.
2
1. Wstęp
Rozwój technologii informacyjnych doprowadził do tego że ludzie zaczęli
się wspomagać nowymi metodami dystrybucji i rozpowszechniania informacji oraz
danych. W dzisiejszych czasach najczęściej jest do tego wykorzystywany Internet,
w którym możemy znaleźć praktycznie wszystkie interesujące nas informacje i dane.
Dzięki technologiom teleinformacyjnym w prosty dla użytkownika sposób można
zamówić lub zarezerwować wszelakie produkty, jak i usługi. Służą do tego różnego
rodzaju sklepy internetowe czy też wypożyczalnie, np. kaset wideo, płyt DVD, książek,
samochodów, jak i sprzętu budowlanego. Obecnie przez „wirtualny świat” można
dokonać zakupu bez konieczności wychodzenia z domu, dzięki czemu klient
zaoszczędza bezcenny czas.
Niniejszy serwis WWW został stworzony na potrzeby systemu RSPN (ang.
Rough Sets and Petri Nets). System ten spełnia funkcje wypożyczalni książek, która
ma za zadanie ułatwić ludziom wypożyczanie literatury na temat sieci Petriego.
1.1.
Cel i zakres pracy
Celem niniejszej pracy jest stworzenie serwisu internetowego ułatwiającego
systemowi RSPN zarządzanie dostępnym zbiorem literatury, jak również rejestrację
użytkowników i wypożyczanie im książek. Projekt opierał się będzie w głównym
stopniu o bazę danych, w której zamieszczone będą wszystkie informacje na temat
klientów wypożyczalni i dostępnych książek.
Praca
swym
zakresem
obejmuje
pięć
rozdziałów,
w
tym
wstępu
i podsumowania. Drugi rozdział zawiera analizę stron internetowych o tematyce
bibliograficznej. Tematem rozdziału trzeciego jest opis narzędzi i technologii
wykonania projektu. W czwartym rozdziale zawarto opis projektu modułu
bibliograficznego wraz z jego implementacją.
3
2. Analiza tematycznych stron internetowych
Zaprojektowanie własnego modułu zarządzającego bibliograficzną bazą danych
rozpoczęto od sprawdzenia i wyciagnięcia wniosków z istniejących już witryn WWW
odnalezionych w sieci. Otóż sprawdza się takie strony pod względem wyglądu
i efektywności działania. Rozeznanie takie sprowadza się do tego, aby nie powtarzać
błędów innych projektantów, które mogłyby źle wpływać na wygląd i działanie serwisu.
Po takim przeglądzie można następnie zastosować u siebie przydatne opcje i nowinki
podejrzane z danych stron internetowych.
 Biblioteka PWSZ w Jarosławiu (http://www.biblioteka.pwszjar.edu.pl)
Strona jest
poświęcona bibliotece Państwowej
Wyższej
Szkoły Zawodowej
w Jarosławiu, na której możemy znaleźć informacje na temat tej biblioteki, jak
i również wyszukiwać dostępne książki i czasopisma. Strona główna zbudowana
w stonowanych kolorach, co daje przejrzystość i czytelność umieszczonej treści.
Główne menu zostało umieszczone poziomo u samej góry witryny nad banerem
z cytatem Matki Teresy z Kalkuty, obok z lewej strony znajduje się logo biblioteki,
a pod nim drugie menu z informacjami i kontaktem dla użytkowników. Wadą tej strony
jest to, że wyszukiwanie uruchamia się w nowym oknie o bardzo prostym wyglądzie
i innych kolorach nie pasujących do strony głównej. Natomiast zaletą jest rozbudowane
wyszukiwanie, które posiada możliwość szukania według tytułu, autora, hasła
przedmiotowego, instytutu, roku wydania, wydawcy, opisu zawartości, uwag oraz
sygnatur, prawie wszędzie istnieje możliwość podejrzenia indeksu zawartości przed
szukaniem. Po wyszukaniu wyświetlana jest lista poszczególnych rekordów z mało
przejrzystym i trudno czytelnym opisem. Dostępne jest również logowanie, po którym
prawdopodobnie możemy zarezerwować, bądź wypożyczyć literaturę znajdującą się
w wypożyczalni.
 Biblioteka Uniwersytetu Rzeszowskiego (http://bur.univ.rzeszow.pl)
Witryna biblioteki Uniwersytetu Rzeszowskiego posiada czytelny i przejrzysty wygląd
w stonowanych barwach szarości. Za pomocą miłego dla oka menu umieszczonego
poziomo tuż pod górnym logo możemy odnaleźć nowości związane z biblioteką, jak
i informacje potrzebne dla użytkowników. Po przejściu do katalogu z zasobami
użytkownik zostaje przekierowany do
Kompleksowego Systemu Zarządzania
4
Biblioteką PROLIB, do którego trzeba się zalogować. Gość ma tylko możliwość
przeszukiwania zbioru w sposób prosty lub zaawansowany, po wyszukaniu wyświetlana
jest uporządkowana lista z tytułem, autorem, wydawnictwem i rokiem wydania
dokumentu, po wejściu w dany rekord wyświetlony zostaje dokładny opis z informacją
o dostępności dokumentu. Uprawniony użytkownik jest w stanie zarezerwować
interesującą go publikacje, by następnie w późniejszym terminie ją odebrać
z wypożyczalni.
 Biblioteka Uniwersytecka we Wrocławiu (http://www.bu.uni.wroc.pl)
Serwis biblioteki Uniwersyteckiej we Wrocławiu jest w pełni rozbudowany
i podzielony na kilka kategorii zbiorów takich jak: katalog online, biblioteka cyfrowa,
e-wydawnictwo, baza publikacji, usługi online, sklep BUWr i produkty publiczne,
w których możemy znaleźć różne formy publikacji poczynając od papierowych
po cyfrowe. Strona jest zbudowana w prosty sposób, z nieodpowiednio dobraną
kolorystyką tła i czcionek, co jest bardzo rażące, podobnie i menu o różnych
podświetleniach i kolorach, po którym ciężko się poruszać, ponieważ jest go bardzo
dużo. Niezaprzeczalną zaletą jest możliwość zarejestrowania się online każdego
użytkownika oraz przedstawienie jej w trzech językach. Niestety wyszukiwanie
jest tylko w języku polskim i angielskim, lecz o czterech różnych metodach szukania
od prostego do zaawansowanego. Po wyszukaniu pojawia się lista wraz z liczbą
dostępnych publikacji do wypożyczenia. Wchodząc w dany rekord z listy pojawia
się szczegółowy opis starannie podzielony i przejrzysty.
 The Library of Congress (http://www.loc.gov)
The Library of Congress to największa i najstarsza biblioteka na świecie, w jej zbiorach
znajdują się miliony książek, nagrań, fotografii, map i rękopisów. Serwis poświęcony
tej bibliotece jest zbudowany tylko w języku angielskim w prosty sposób, co czyni
stronę czytelną i przejrzystą. Całość umieszczona na białym tle z dwoma menu, główne
znajduje się poziomo nad górnym banerem, a pomocnicze starannie podzielone
na różne kategorie z informacjami i kontaktami znajduje się w pasku nawigacyjnym
z lewej strony. Wadą jest odświeżanie całości strony wraz z menu oraz możliwość
jedynie przeszukiwania zawartości biblioteki. Dostępne wyszukiwanie to proste
i zaawansowane, po którym pojawia się lista czytelnych rekordów z krótkim opisem
danej pozycji.
5
3. Technologia wykonania serwisu WWW
Obecnie mamy wiele różnorodnych technologii z ogromem opcji do
wykonywania poszczególnych części serwisu internetowego, można je więc dobierać
według zaawansowania kreatora, jego własnych potrzeb oraz możliwości stosowania
danej technologii.
3.1.
Wybór technologii
Najbardziej
popularnymi
dostępnymi
technologiami
wykorzystanymi
do budowy modułu zarządzania bibliograficzną bazą danych są:

HTML (ang. HyperText Markup Language) - język opisujący informacje
hipertekstowe i znaczniki,

PHP (ang. PHP: Hypertext Preprocessor) - język programowania obiektowego
i skryptowego do tworzenia dynamicznych stron internetowych,

CSS (ang. Cascading Style Sheets) - język służący do opisu formy
prezentowania witryny,

SQL (ang. Structured Query Language) - strukturalny język zapytań
do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania
danych.
3.1.1. Język HTML
Język HTML (ang. HyperText Markup Language) powstał w oparciu o język
SGML (ang. Standard Generalized Markup Language) służącym do wymiany danych.
Odziedziczył on jego najistotniejszą cechę, jest językiem opisu strony a nie wyglądu
poszczególnych jej elementów. Idea polega na tym, że większość dokumentów posiada
pewne cechy wspólne, takie jak nagłówki, akapity czy listy.
HTML jest uniwersalnym językiem programowania składającym się ze znaczników
i służącym do tworzenia stron internetowych, pozwalającym na:

formatowanie tekstu,

kreślenie linii,

dołączanie grafiki,

dołączanie dźwięków i filmów,

zachowywanie całości w zbiorach tekstowych [7].
6
Strony w HTML-u to zwykłe pliki tekstowe w formacie ASCII, co oznacza, że
nie zawierają one żadnych informacji właściwych dla konkretnej platformy systemowej
czy programowej. Dzięki czemu są zrozumiałe dla większości komputerów i mogą być
odczytywane praktycznie przez każdy edytor tekstowy oraz odpowiednią przeglądarkę.
Język HTML został utworzony przez Tima Berners-Lee w 1989 roku, który pracował
w CERN jako konsultant do spraw oprogramowania. Pierwotnie składnia opierała się
na kilkunastu znacznikach umożliwiających wyświetlanie tekstu wraz z odsyłaczami
(hiperłączami) do innych tekstów. Rewolucyjność pomysłu polegała na tym,
że użytkownik przechodzący do innego tekstu w ogóle nie musiał wiedzieć, gdzie
fizycznie znajduje się interesujący go tekst. Była to tak zwana zerowa wersja HTML.
Kolejne wersje powstawały ze względu na potrzeby dodawania do tekstu tabel, grafik
i plików multimedialnych. Zajęły się tym firmy produkujące przeglądarki internetowe,
bez porozumień miedzy sobą co doprowadziło do niekompatybilności wersji HTML-a
w przeglądarkach różnych firm. Sytuacja wymagała stworzenia organizacji W3C
(World Wide Web Consortium), która ustala wspólne standardy HTML-a oraz inne
sprawy związane z pisaniem stron WWW.
Kolejna, tym razem oficjalna wersja HTML-a to, HTML 2, która odniosła
sukces pod względem zgodności z ważniejszymi przeglądarkami takimi jak Internet
Explorer i Netscape. Następcami były wersje HTML 3.2 oraz HTML 4.01 wydzielająca
zarządzanie wyglądem strony do kaskadowych arkuszy styli CSS. HTML 4.01 to tylko
częściowy sukces w dziedzinie standaryzacji, ponieważ wsparcie dla CSS w większości
przeglądarek było przez wiele lat niepełne i zawierało wiele mniejszych i większych
niekompatybilności stających się z czasem coraz mniejszymi. Obecnie pisanie stron
jest łatwiejsze niż w czasach wojen edytorowych, ponieważ HTML jest już poprawnie
obsługiwany przez większość przeglądarek. Początkiem 2000 roku pojawiła się
specyfikacja XHTML 1.0 (eXtensible Hypertext Mark-up Language) – oznaczona także
jako xHTML, Xhtml, XML/HTML lub jako HTML 5.0 i jest oficjalnym następcą
języka HTML 4.0. XHTML to hybryda językowa pozyskana z języka XML,
posiadająca wiele cech języka HTML [11].
3.1.2. CSS – Kaskadowe arkusze stylów
Kaskadowe arkusze stylów CSS (ang. Cascading Style Sheets) to lista
wytycznych ustalających sposób wyświetlania danego elementu (lub elementów) języka
7
HTML, XHTML lub XML przez przeglądarkę internetową. Można opisać w ten sposób
wszystkie pojęcia związane z prezentacją stron WWW, co daje większe możliwości niż
oferuje sam (X)HTML. Za pomocą stylów możemy kontrolować między innymi takie
elementy jak:

kolor, rozmiar i rodzinę czcionek,

grafikę, kolor i rozmieszczenie tła,

marginesy,

odstęp między wierszami,

wygląd odsyłaczy,

pozycja danego elementu względem innych elementów bądź okna przeglądarki.
CSS stworzono, aby odseparować struktury dokumentu od formy jego
prezentacji,
co zwiększa
dostępności
strony,
zmniejsza
zawiłość
i
ułatwia
wprowadzanie zmian wyglądu w wielu dokumentach na raz bez ingerowanie w kod
(X)HTML, ponieważ arkusze dla wielu stron mogą być wspólne.
Oficjalne wersje kaskadowych arkuszy CSS to CSS1 i CSS2, które są
interpretowane w dużej mierze przez takie przeglądarki jak Konqueror, Galeon, Safari,
Mozilla, Mozilla Firefox, Internet Explorer 4-7 oraz Opera 5-8. Aktualnie trwają prace
nad kolejną wersją styli zwanych CSS3.
3.1.3. Język PHP
PHP, czyli „PHP: Hypertext Preprocessor”, to język programowania
wykorzystywany przez programistów WWW, pozwalający na szybkie tworzenie
dynamicznych aplikacji WWW. Język ten przypomina C, Perla oraz Jave i składniowo
jest osadzony w HTML. Preprocesor PHP wykonuje cały kod zawarty pomiędzy
znacznikami <?php i ?> umieszczonymi w kodzie HTML i zwraca wynik w postaci
tekstu. Kod ten jest wykonywany na serwerze WWW a nie na kliencie, oznacza to, że
przeglądarka nie wie, że do stworzenia strony był używany PHP. Otrzymuje ona
identyczny kod jak w przypadku zwykłych stron HTML. PHP jest pełnowartościowym
językiem programowania z wszystkimi potrzebnymi funkcjami. Współpracuje również
z wieloma systemami baz danych, co jest obecnie bardzo znaczące i niewiarygodnie
łatwe przy tworzeniu aplikacji WWW korzystających z informacji zapisanych w bazie
danych. Umożliwia on otwieranie gniazd sieciowych i podłączanie się do innych
8
protokołów TCP/IP. Również pozwala na dostęp do sieciowych usług takich jak IMAP,
POP3, NNTP oraz TTP.
PHP używany jest w wielu konfiguracjach serwerów, ponieważ jest
rozprowadzany głównie w postaci kodu źródłowego, co pozwala na skompilowanie
go na wielu platformach, takich jak: Linux, FreeBSD, Windows oraz binarnie dla
Win32. Działać może jako program CGI, moduł Apache lub rozszerzenie ISAPI dzięki
czemu może być uruchomiony praktycznie na każdym serwerze WWW, od Apache
na Linuksie do IIS na Windows NT [6].
3.1.4. SQL - Strukturalny język zapytań
Język SQL (ang. Structured Query Language - strukturalny język zapytań) jest
językiem deklaratywnym wykorzystywanym w większości relacyjnych systemów baz
danych. Został opracowany przez firmę IBM w latach siedemdziesiątych XX w.
i stanowi standard w komunikacji z serwerami relacyjnych baz danych. Pierwszą firmą,
która komercyjnie włączyła SQL-a do swojego produktu, był Oracle. Następnie zaczęły
go wprowadzać systemy bazodanowe, takie jak: Caché, DATAllegro, DB2, Firebird,
First SQL, Greenplum, HSQL, Ingres, Informix, InterBase SQL, MaxDB, znana pod
nazwą SAP DB, Microsoft Access, Microsoft Jet, Microsoft SQL Server, Mimer SQL,
MySQL, mSQL, Neteeza, OpenLink Virtuoso, Oracle Rdb, PostgreSQL, Pervasive,
SQL/DS., SQLite, Sybase (Sybase Adaptive Server Enterprise, Sybase SQL Anywhere,
Sybase IQ), Teradata, spowodowało to wprowadzenie modyfikacji pierwotnego języka
[1]. Utrzymanie jednolitości SQL-a doprowadziło w 1996 do wprowadzenia standardu
wspieranego przez ISO (Międzynarodową Organizację Normalizacyjną) i jej członka,
ANSI (Amerykański Narodowy Instytut Normalizacji). Obowiązującym obecnie
standardem jest SQL92, który mógł jednocześnie obejmować nowe elementy nie ujęte
we wcześniejszych wersjach. Rok 2003 przyniósł nowy standard języka SQL,
nazwanego SQL:2003. Jest on w głównym stopniu poprawionym językiem SQL:1999,
z wyjątkiem części SQL/XML oraz kilku dodatkowych właściwości [4].
Użycie SQL polega na wysyłaniu do bazy danych zapytań, które można
podzielić na trzy główne podzbiory:

DDL (ang. Data Definition Language) – Język Definicji Danych,

DCL (ang. Data Control Language) – Język Kontroli nad Danymi,

DML (ang. Manipulation Language) – Język Manipulacji Danymi.
9
Rysunek 1.
Podzbiory zapytań języka SQL
DDL (ang. Data Definition Language), umożliwia operacje na strukturach, w których
dane są przechowywane czyli na przykład dodawanie, zmienianie i kasowanie tabel lub
baz. Najistotniejsze polecenia należące do tej grupy to:

CREATE – utworzenie struktury (bazy, tabeli, indeksu, itp.),

DROP – całkowite usunięcie struktury,

ALTER – zmiana struktury (dodanie kolumny do tabeli, zmiana typu danych
w kolumnie tabeli).
DCL (ang. Data Control Language) służy nadawaniu uprawnień do obiektów
bazodanowych. Najważniejsze polecenia należące do tej grupy to:

GRANT – przyznanie wszystkich praw do tabeli EMP z opcją pozwalającą
nadawać prawa do tego obiektu (tabela EMP).

REVOKE – odebranie wszystkich praw do tabeli użytkownikowi nadaną przez
polecenie GRANT.
DML (ang. Data Manipulation Language) służy do wykonywania operacji na danych,
do ich umieszczania w bazie, kasowania, przeglądania i zmieniania. Najważniejsze
polecenia tego zbioru to:

SELECT – pobranie z bazy danych,

INSERT – umieszczenie danych w bazie,

UPDATE – zmiana danych,

DELETE – usunięcie danych z bazy [3].
10
3.2.
Wykorzystane programy
Projektowanie modułu zarządzania bibliograficzną bazą danych w systemie
RSPN rozpoczęto od wyboru odpowiedniego oprogramowania dostępnego na rynku
w dość szerokim gronie. Kierowano się przy tym względami finansowymi, jak i ich
możliwościami
technicznymi.
Najodpowiedniejszymi
programami
do
budowy
niniejszego serwisu internetowego wydały się być:

Macromedia Dreamweaver 8 – edytor HTML,

phpMyAdmin 2.9.1.1 – narzędzie do zarządzania bazą danych MySQL.
3.2.1. Edytor Macromedia Dreamwaver 8
Macromedia Dreamweaver 8 to profesjonalne narzędzie do łatwego zarządzania
i projektowania prostych serwisów, jak i zaawansowanych aplikacji internetowych
wspierających najnowsze technologie oparte na standardach. Dreamweaver 8 należy do
ścisłej czołówki edytorów, obecnie jest on jednym z najpopularniejszych programów
tego typu. Pozwala on na budowę serwisu w trybie WYSIWYG (ang. What You See Is
What You Get, co oznacza dosłownie „To co widzisz jest tym co otrzymasz”) oraz
w trybie widoku składni z opcją kolorowania i autouzupełniania kodu.
Rysunek 2.
Macromedia Dreamweaver 8 – index.html
11
Macromedia Dreamweaver 8 przy tworzeniu projektu wspiera technologie
HTML, XML, ColdFusion, PHP5, ASP, ASP.NET i JSP, posiada również
kompleksową kontrolę nad CSS i precyzję pracy z danymi. Zaopatrzony został
w kilka przydatnych narzędzi takich jak Zoom do uzyskiwania lepszej kontroli nad
wyglądem projektu, Code Collapse do ukrywania niepotrzebnego w danej chwili kodu
oraz dodawanie przycisków w formacie Flash i filmów Flash Video. Posiada również
możliwość obsługi zewnętrznych pluginów. Większość tych funkcji można realizować
przy pomocy kilku kliknięć myszą, co przyśpiesza pracę z programem [5].
3.2.2. Program phpMyAdmin 2.9.1.1
PhpMyAdmin jest narzędziem napisanym w języku PHP, służącym do prostego
zarządzania bazą danych MySQL i funkcjonującego w ramach serwerów WWW.
Oprogramowanie dostarczane jest na licencji GNU (ang. General Public License czyli
wolnego oprogramowania) i zapewnia realizację wszystkich podstawowych funkcji,
między innymi: tworzenie i usuwanie baz danych, dodawanie (także z przygotowanego
wcześnie pliku) i kasowanie relacji, edycję ich struktury i zawartości oraz administrację
bazy. Za pośrednictwem PhpMyAdmin można zarządzać całym serwerem MySQL, jak
również pojedynczą bazą danych. Wszystkie operacje mogą być realizowane przy
pomocy przeglądarki internetowej, w graficznym środowisku i bez konieczności pracy
z domyślnym interfejsem tekstowym.
Aktualne wersje phpMyAdmin obsługują takie funkcje jak:
 tworzenie i usuwanie baz danych,
 tworzenie, kopiowanie, usuwanie i modyfikacja tabeli,
 zarządzanie tabelami,
 usuwanie, edycja i dodawanie pól,
 zarządzanie indeksami pól,
 sprawdzanie spójności powiązań,
 wykonywanie instrukcji SQL,
 tworzenie i przywracanie kopii tabel,
 wczytywanie tekstu z plików do tabeli,
 eksportowanie danych do formatów CSV, XML i Latex,
 tworzenie planu bazy w pliku PDF,
12
 administracja wieloma
serwerami, w tym
zarządzanie użytkownikami
i uprawnieniami,
 przekształcanie danych do dowolnego formatu, np. BLOB jako obrazek,
 wsparcie dla 48 różnych języków, w tym języka polskiego [12].
Rysunek 3.
Program phpMyAdmin z bazą danych modułu bibliograficznego
13
4. Prezentacja projektu
W tym rozdziale zostanie przedstawiony szczegółowy opis możliwości
stworzonego projektu oraz prezentacja wybranych elementów modułu zarządzania
bibliograficzną bazą danych w systemie RSPN. Omówione zostaną również
zagadnienia
obejmujące
poszczególne
części
serwisu
poczynając
od
strony
ogólnodostępnej przez użytkownika po administratora.
4.1.
Założenia realizacji projektu
Realizacja projektu sprowadza się do stworzenia dynamicznego serwisu
internetowego, współpracującego z bazą danych. Na podstawie tego zostały sprawdzone
witryny internetowe o podobnej koncepcji, z których zostały wyciągnięte wnioski
potrzebne do stworzenia przypadków użycia przez użytkowników. W niniejszym
projekcie wyróżnione zostały dwie grupy aktorów: użytkownik serwisu i administrator.
Poniższy rysunek przedstawia diagram UML przypadków użycia dla serwisu
zarządzającego bibliografią.
blokowanie i
odblokowywanie
użytkowników
logowanie
nadawanie
uprawnień
użytkownikom
rejestracja w
serwisie
usuwanie
użytkowników
administrator
użytkownik
zmiana danych
użytkownika
edycja strony
informacyjnej i
stylów
wyszukiwanie
książek
potwierdzanie
oddania książki
przeglądanie
książek
dodawanie
książek
wypożyczanie
książek
edytowanie
książek
usuwanie
książek
Rysunek 4.
Diagram przypadków użycia serwisu
14
Projekt wymagał podzielenia serwisu na trzy grupy dostępu:
 ogólnego
(dla
wszystkich
użytkowników
Internetu)
z
możliwościami
wyszukiwania i przeglądania książek oraz logowania i zarejestrowania się,
 użytkownika zarejestrowanego w bazie (dostęp nowo zarejestrowanego
użytkownika do wypożyczania książek dopiero po sprawdzeniu jego danych
i odblokowaniu przez administratora portalu), który może zmieniać swoje dane
i wypożyczać książki,
 administratora sprawującego pieczę nad:
o blokowaniem i odblokowywaniem użytkowników,
o nadawaniem im uprawnień dostępu do portalu oraz w razie potrzeby
usuwaniem użytkowników z bazy,
o edytowaniem strony głównej użytkownika i jego stylów,
o potwierdzaniem zwróconych książek,
o dodawaniem, edytowaniem i usuwaniem książek.
4.2.
Założenia bazodanowe
Wymaganiem projektowym serwisu jest budowa bazy danych w wybranym
wcześniej programie phpMyAdmin (omówionym w rozdziale trzecim). Definicje tabel
wykorzystanych w projekcie zostały przedstawione poniżej.
Pole
IdKlienta
Imie
Nazwisko
Ulica
NrUlicy
KodPocztowy
Miejscowosc
LOCK
Login
Haslo
access
Email
Typ
smallint(5)
varchar(50)
varchar(50)
varchar(50)
varchar(16)
varchar(16)
varchar(50)
smallint(2)
varchar(20)
varchar(20)
smallint(2)
varchar(60)
Tabela 1.
Null
No
No
No
No
No
No
No
No
No
No
No
No
Klucz
Główny
Domyślnie Extra
NULL
auto_increment
Struktura tabeli „klienci”
15
W tabeli widocznej powyżej zostają umieszczone wszystkie dane klientów,
którzy zarejestrowali się w serwisie bibliograficznym.
Pole
IdKsiazki
Autor
Tytul
IloscStron
Wydawnictwo
Rok
iloscKsiazek
zdjecie
www
Typ
smallint(5)
varchar(250)
varchar(250)
smallint(4)
varchar(100)
smallint(4)
smallint(4)
varchar(25)
varchar(60)
Tabela 2.
Null
No
No
No
No
No
No
No
No
No
Klucz
Główny
Domyślnie Extra
NULL
auto_increment
Struktura tabeli „ksiazki”
Do niniejszej tabeli są zapisane książki i nazwy zdjęć okładek, jak również
liczba dostępnej literatury do wypożyczenia przez użytkowników.
Pole
IdZamowienia
IdKsiazki
IdKlienta
status
dataWyp
dataOdd
Typ
smallint(5)
smallint(5)
smallint(5)
smallint(2)
date
date
Tabela 3.
Null
No
No
No
No
No
No
Klucz
Główny
Domyślnie Extra
NULL
auto_increment
Struktura tabeli „pozycje_zamowione”
Natomiast w tej tabeli umieszczane są wypożyczenia dokonane przez
użytkowników wraz z datą wypożyczenia i terminem, do którego ma być zwrócona
dana pozycja.
Pole
IdKsiazki
Recenzja
Data
Typ
smallint(5)
text
date
Tabela 4.
Null
No
No
No
Klucz
Główny
Domyślnie Extra
NULL
auto_increment
Struktura tabeli „recenzje_ksiazek”
16
Tabela 4 zawiera recenzje książek umieszczonych w tabeli 2.
Pole
IdTextu
uzytkownicy
Typ
smallint(5)
text
Tabela 5.
Null
No
No
Klucz
Główny
Domyślnie Extra
NULL
auto_increment
Struktura tabeli „uzytkownik”
W tabeli tej zapisywane są informacje umieszczane przez administratora, które
następnie są wyświetlane na stronie głównej użytkownika zalogowanego.
Projekt wykorzystuje tabele typu „InnoDB” do obsługi transakcji. Jest to bardzo
przydatne rozwiązanie wykorzystywane w momentach, gdy skrypt zawiera kilka
zapytań do bazy, wówczas gdy jedno z nich zakończy się niepowodzeniem, wszystkie
zmiany wprowadzone przez wcześniejsze zapytania zostaną cofnięte do stanu
wyjściowego.
W tabelach również zostały zdefiniowane typy zmiennych MySQL określające
jakie dane mogą być wprowadzane do poszczególnych pól:

SMALLINT – pole liczby całkowitej, które może przyjąć wartości dla
UNSIGNED od 0 do 65 535 lub -32 768 do 32 768 (bez UNSIGNED),

VARCHAR (x) – pole znakowe o zmiennej długości x z zakresu od 1 do 256
znaków,

TEXT – dane tekstowe o rozmiarze nie przekraczającym 65 535 bajtów,

DATE – data wyświetlana w formacie rok-miesiąc-dzień, np: 2008-02-28 [9].
4.3.
Ogólnodostępna część serwisu
Podrozdział ten omawia część ogólnodostępnego serwisu wraz z możliwościami
i wyglądem, który większej części został udostępniony przez „Research Group on
Rough Sets and Petri Nets”.
4.3.1. Strona główna modułu bibliograficznego
Użytkownik zainteresowany literaturą znajdującą się w systemie RSPN wpisuje
adres URL http://www.student-ii.pwszjar.edu.pl/~czuba_norbert/rsp/ w dowolnej
17
przeglądarce internetowej, po czym otworzona zostaje strona główna serwisu
o wyglądzie widocznym poniżej.
Rysunek 5.
Strona główna serwisu bibliograficznego
Wygląd serwisu ogólnodostępnego, jak i pozostałego, składa się z czterech
podstawowych części:
 logo – jest to baner z nazwą i tematem witryny, znajdujący się w górnej części
identycznie, jak i na pozostałych podstronach,
 menu – zrobione we Flash’u i umieszczone z lewej strony witryny starannie
podzielone na części dla lepszego poruszania się po serwisie,
 treść – znajduje się w centralnej części strony i wyświetlane są tutaj
poszczególne treści i formularze wybrane z menu, początkowo po wejściu do
serwisu pojawia się strona główna (home) z informacjami o temacie i twórcy
projektu,
 stopka – obszar znajdujący się w dolnej części, informujący o twórcy
i zastrzeżonych prawach do witryny.
18
4.3.2. Wyszukiwanie książek
Serwis umożliwia wyszukiwanie książek dwoma metodami: prostą poprzez
wybór pozycji z listy oraz przez wyszukiwarkę książek.
 List of books – wyświetla całą zawartość bazy książek i umożliwia wybór
konkretnego rekordu.
Rysunek 6.
Lista książek z menu „List of books”
 Search books - wybranie z menu tej opcji spowoduje otworzenie w centralnej
części serwisu wyszukiwarki.
Rysunek 7.
Wyszukiwarka książek z menu „Search books”
19
Aby rozpocząć wyszukiwanie książek należy wybrać jedną z czterech metod
szukania (Title, Author, Publisher, Year of publication) oraz wpisanie kluczowego
słowa, a następnie należy kliknąć na przycisk Search. Jeśli wszystkie parametry były
podane prawidłowo, zostaje wyświetlona lista książek, inaczej zostaje wyświetlony
odpowiedni komunikat o niepodaniu parametru wyszukiwania lub nie odnalezieniu
książki.
4.3.3. Opis książki
Serwis umożliwia podgląd opisu oraz zdjęcia okładki książki, odbywa się to po
wcześniejszym jej wyszukaniu i kliknięciu w danym rekordzie na jej tytuł.
Rysunek 8.
Opis książki – „The description of the book”
20
Opis książki zawiera wydzielone obszary dla: tytułu widocznego w jaśniejszym
górnym pasku, zdjęcia okładki, informacji związanych z autorem, publikacją i adresem
URL wydawnictwa oraz widocznej poniżej recenzji w języku, w którym dana
publikacja jest wydana.
4.3.4. Zakładanie konta – „Registration”
Osoby zainteresowane wypożyczaniem literatury muszą utworzyć swoje konto
poprzez kliknięcie na Registration dostępnym w menu lub logowaniu. Po czym zostaje
załadowany odpowiedni formularz w centralnej części witryny.
Rysunek 9.
Rejestracja użytkowników – “Registration”
Użytkownik rejestrujący się do serwisu musi wypełnić wszystkie zdefiniowane
w formularzu pola. Po kliknięciu na przycisk Register zostają automatycznie
sprawdzone składnie pola loginu i adresu e-mail oraz czy nie istnieją już w bazie
danych. W przypadku nie wypełnieniu całego formularza, bądź wprowadzenia
nieprawidłowych danych system automatycznie wyświetla odpowiedni błąd do
21
zaistniałej sytuacji. Natomiast, jeśli wszystko odbyło się prawidłowo, formularz
automatycznie zostaje przekazany do zatwierdzenia przez administratora systemu.
Użytkownik może się zalogować dopiero wtedy, gdy dostanie wiadomość e-mail od
administratora o aktywacji konta.
4.3.5. Logowanie użytkowników
Witryna
dysponuje
formularzem
logowania
dostępnym
wyłącznie
dla
aktywowanych użytkowników przez administratora, jak i dla niego samego.
Rysunek 10. Logowanie użytkownika i administratora – “Login”
Logowanie odbywa się na zasadzie podania loginu i hasła istniejącego w bazie
serwisu. Po kliknięciu na przycisk Login sprawdzane są podane dane oraz czy
użytkownik nie jest zablokowany. Jeżeli wszystko się zgadza, użytkownik jest
przekierowany do uprawnionej podstrony, inaczej zostaje wyświetlany odpowiedni
komunikat o zablokowaniu bądź niepodaniu prawidłowych danych.
Rysunek 11. Błąd logowania
22
4.3.6. Przypomnienie hasła
Przypomnienie hasła odbywa się na zasadzie wpisania do formularza
(widocznego poniżej) adresu e-mail podanego podczas rejestracji. Kliknięcie na
przycisk Send powoduje sprawdzenie czy adres się zgadza i czy istnieje w bazie, jeżeli
wszystko jest w porządku, zostaje wysłana automatyczna wiadomość zawierająca login
i hasło, natomiast, jeśli adres się nie zgadza, zostaje wyświetlony odpowiedni
komunikat o błędzie.
Rysunek 12. Przypomnienie hasła z menu “Forgot password”
4.3.7. Kontakt z administratorem
Moduł bibliograficzny jest wyposażony w kontakt z administratorem. Strona
kontaktowa zawiera informacje związane z instytucją, której własnością jest ten system.
Po kliknięciu na widoczny adres poczty elektronicznej administratora, automatycznie
ładowany jest formularz wysyłania wiadomości. Rysunek 13 przedstawia wygląd
formularza wysyłania wiadomości e-mail.
23
Rysunek 13. Kontakt z administratorem – „Contact”
Wiadomość można wysłać jedynie po wypełnieniu pól formularza oznaczonych
gwiazdką i wciśnięciu przycisku Send. Jeżeli wcześniej wymienione pola nie zostaną
poprawnie wypełnione, wiadomość nie zostanie wysłana i pojawi się komunikat
informujący o błędzie.
4.4.
Moduł użytkownika
Zaprojektowany serwis wyposażony jest w panel użytkownika, który jest
dostępny dla klientów zarejestrowanych w bazie danych i zaakceptowanych przez
osobę zarządzającą systemem bibliograficznym. Aplikacja użytkownika zawiera
następujące podstrony:

wypożyczone książki,

wypożycz książkę,

zmiana danych użytkownika.
Poniższy rysunek przedstawia wygląd strony głównej użytkowników.
24
Rysunek 14. Panel użytkownika serwisu
W ramce na stronie głównej użytkownika zalogowanego posiadającego
uprawnienie „1”, ładowana jest automatycznie strona User’s home page. Znajduje się
tam informacja kto jest zalogowany oraz komunikat od administratora wyświetlany
z bazy danych
4.4.1. Wypożyczone książki
Po wybraniu z menu „Wypożyczone książki” (ang. Borrowed books) pojawia się
strona Books borrowed at present, na której wyświetlana jest tabela z wypożyczonymi
aktualnie książkami przez użytkownika w tym momencie zalogowanego. Również
zawiera ona informacje do kiedy należy zwrócić książkę do biblioteki.
25
Rysunek 15. Panel użytkownika serwisu – „Borrowed books”
4.4.2. Wypożycz książkę
Funkcja wypożyczenia książki jest zrealizowana w oparciu o metody
wyszukiwania znajdujące się na stronie ogólnodostępnej serwisu (patrz rysunek 6 i 7).
Dodatkowo dostępny jest przycisk Borrow, po kliknięciu na niego przy odpowiedniej
pozycji książkowej system automatycznie przechodzi do podstrony, na której znajduje
się tabela z informacjami o wybranej książce przez użytkownika. aby dokonać
wypożyczenia należy powtórzyć funkcję Borrow.
Rysunek 16. Panel użytkownika serwisu – potwierdzenie wypożyczenia
26
Jeżeli osoba nie chce zatwierdzić wypożyczenia, może powrócić do metody
wyszukiwania klikając na link Method of searching.
4.4.3. Zmiana danych użytkownika
Na podstronie Change the data znajduje się formularz, dzięki któremu
użytkownik może zmienić niektóre dane podane podczas rejestracji do serwisu. Login
jest zablokowany przed zmianą z powodu pełnienia ważnej funkcji logowania do
systemu.
Rysunek 17. Panel użytkownika serwisu – „Change the data”
4.5.
Moduł administracyjny
Moduł administracyjny przeznaczony jest wyłącznie dla osoby zarządzającej
systemem bibliograficznym. Wygląd strony głównej, jak i podstron zbliżony jest do
wyglądu części dla użytkowników zarejestrowanych w systemie.
4.5.1. Administracja nad użytkownikami
Strona Users wyposażona jest w funkcje, za pomocą których administrator
kontroluje użytkowników.
27
Rysunek 18. Moduł administracyjny – „Users”
Powyższy rysunek przedstawia tabelę, w której znajdują się dane użytkowników
oraz funkcje:
 Block – funkcja, za pomocą której osoba zarządzająca systemem może
zablokować użytkownika np. z powodu nieoddania książki w terminie.
 Unblock
–
administrator
korzystając
z
tej
funkcji
akceptuje
nowo
zarejestrowanego użytkownika, którego dane wyświetlone są na czerwono.
Również może odblokować osoby, które wcześniej zablokował z określonych
przyczyn.
 Nadawanie uprawnień – w skład tej funkcji wchodzą: Access 1, Access 1,
Access 1.
Podfunkcje
Access
spełniają
zadanie
realizują
dostęp
do
poszczególnych modułów systemu (Access 1 – prawa użytkownik, Access 2 –
prawa superużytkownika, Access 3 – prawa administratora systemu).
 Remove – funkcja usuwająca użytkowników.
4.5.2. Edycja stylów użytkownika
Za pomocą strony Edition of the user’s styles, na której znajduje się formularz
edycyjny pliku style.css można zmieniać elementy wyglądu witryny użytkownika.
Klikając na przycisk Change możliwe jest zapisanie zmian w pliku, po czym
automatycznie wprowadzone są zmiany graficzne. Wymogiem jest, aby plik style.css
posiadał prawa dostępu równe 777, ponieważ wówczas można wprowadzać zmiany
z poziomu serwera, na którym znajduje się aplikacja.
Podstrona również zawiera pole tekstowe, w którym wyświetlana jest informacja
jaką administrator przekazuje wszystkim zalogowanym użytkownikom w systemie.
Dostępna też jest możliwość edycji komunikatu używając tego samego pola
tekstowego, zmiana jest zapisywana i przechowywana w bazie danych.
28
Rysunek 19. Moduł administracyjny – „User’s styles”
4.5.3. Zapytanie MySQL
W celu sprawdzenia zawartości tabel w bazie danych systemu administrator
może skorzystać z formularza Enquiry MySQL, w którym wpisuje polecenie w języku
SQL, następnie wciskając przycisk Show wyświetla na stronie wynik wcześniej
wpisanego polecenia [15].
Rysunek 20. Moduł administracyjny – „Enquiry MySQL”
29
4.5.4. Dodawanie, edytowanie i usuwanie książek
Dodawanie, edycja i usuwanie są to podstawowe funkcje, bez których system
byłby bezużyteczny. Funkcja dodawania Add book jest zrealizowana za pomocą
formularza, w którym wpisywane są dane określonej książki jaka ma zostać dodana do
biblioteki. Specyficznym polem jest dodawanie zdjęcia okładki książki do folderu graf
z pełnymi prawami dostępu 777, należy jednak pamiętać, że system obsługuje dwa
formaty graficzne JPG i GIF.
Rysunek 21. Moduł administracyjny – „Add book”
30
Drugą funkcją jest edycja Edition of book zapisanej w bazie książki,
zrealizowana w podobny sposób jak dodawanie. Modyfikacja informacji zapisanych
w bazie, które dotyczą określonej książki, zrealizowane są za pomocą polecenia Update
języka SQL.
Trzecią funkcją jest usuwanie książek, dzięki któremu można całkowicie
wykasować wybraną książkę ze zbioru bibliotecznego.
4.5.5. Wypożyczone książki
Na stronie wypożyczone książki Books borrowed at present, znajduje się tabela,
za pomocą której administrator ma możliwość sprawdzania jakie książki zostały
wypożyczone z biblioteki i przez kogo oraz znajdują się tam dwa pola (Block, Unblock)
opisane w podpunkcie 4.5.1. Przy każdym wypożyczeniu dodatkowo znajdują się linki
dzięki których można przejść do podstron, gdzie jest możliwość edycji daty oddania
oraz usunięcia z bazy wpisu o wypożyczeniu danej książki przez konkretnego
użytkownika.
Rysunek 22. Moduł administracyjny – „Books borrowed at present”
4.6.
Implementacja projektu
Moduł bibliograficzny systemu RSPN został zaimplementowany przy użyciu
języków HTML i PHP. Strony informacyjne oraz wygląd serwisu powstały dzięki
wykorzystaniu języka HTML i kaskadowych arkuszy stylów CSS, natomiast funkcje
wykonywalne zostały zaimplementowane za pomocą języka skryptowego PHP.
Kod źródłowy systemu składa się z następujących plików:
31
1. Ogólnodostępna część serwisu:

style.css

dol.html

glowna.html

index.html

kontakt.html

lewy.html

linki.html

logowanie.html

mail.html

przypomnienie.html

rejestracja.html

szukaj.html

top.html

funkcje.php

lista.php

logowanie.php

mail.php

opis.php

podglad.php

przypomnij.php

rejestracja.php

szukaj.php

uzytkownicy.dat
2. Panel użytkownika serwisu:

style.css

dol.html

glowna.html

index.html

lewy.html

linki.html
32

top.html

lista.php

opis.php

rez_szuk.php

szukaj.php

uzytkownik.php

wyloguj.php

wypozycz.php

wypozyczmenu.php

wypozyczOk.php

wypozyczone.php

zmien.php

zmiene.php
3. Część administracyjna serwisu:

style.css

dol.html

index.html

lewy.html

linki.html

top.html

access.php

admin.php

czyoddac.php

czyusunac.php

czyzmienic.php

dodaj.php

dodajDane.php

edycja.php

edycjamenu.php

edytuj.php

lista.php
33

MySQL.php

oddaj.php

opis.php

pliki.php

szukaj.php

szukajks.php

usun.php

uzytkownicy.php

wyloguj.php

wynikSQL.php

wypozyczenia.php

zmien.php
Wyżej wymienione pliki zawierają bardzo dużą ilość kodu źródłowego, więc
w kolejnych podrozdziałach zostaną zaprezentowane najważniejsze fragmenty funkcji
wykonywalnych.
4.6.1. Połączenie z bazą danych
Program 1 przedstawia zawartość pliku funkcje.php, za pomocą którego jest
realizowane połączenie z bazą danych.
<?php
function lacz_bd()
{
$wynik = mysql_connect('localhost','czuba_norbert','15028');
mysql_select_db ("czuba_norbert") or die ("You cannot choose the
database");
if(!$wynik)
echo"('The connection with the server failed')
mysql_close($wynik)";
else
return $wynik;}
?>
Program 1. Połączenie z bazą danych „czuba_norbert”
Zastosowana w projekcie baza danych znajduje się na tym samym serwerze, na
którym znajduje się zainstalowany system, dzięki czemu możliwa jest jego instalacja
w dowolnym środowisku wyposażonym w system bazodanowy. Przy umieszczeniu
34
projektu w nowym miejscu wymagana jest tylko zmiana zawartości jednego pliku.
Funkcje zastosowane w projekcie korzystające z bazy danych odwołują się do wyżej
wymienionego połączenia.
4.6.2. Prezentacja zawartości tabel
Funkcja, dzięki której możliwa jest prezentacja zawartości poszczególnych tabel
realizowana jest za pomocą polecenia SELECT. Za pomocą tego polecenia pobierane są
dane z tabeli, po czym przypisywane są one pod zmienne i wyświetlane są na stronie
serwisu [2].
<?php
include("../funkcje.php");
lacz_bd();
$query = "SELECT * FROM ksiazki ORDER by tytul";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
$i=0;
while ($i < $num) {
$idK = mysql_result($result,$i,"IdKsiazki");
$autor=mysql_result($result,$i,"Autor");
$tytul=mysql_result($result,$i,"Tytul");
$wydawnictwo=mysql_result($result,$i,"Wydawnictwo");
$rok=mysql_result($result,$i,"Rok");
?>
Program 2. Wykorzystanie polecenia SELECT
4.6.3. Logowanie
Logowanie w systemie RSPN odbywa się w ten sam sposób zarówno w module
użytkownika, jak i administratora. Użytkownik chcąc się zalogować do serwisu musi
wypełnić formularz logowania, po czym wciska przycisk Login. Jeżeli dane przy
logowaniu są poprawne, następuje automatyczne przekierowanie do odpowiedniego
modułu, w zależności od uprawnień logowanej osoby (użytkownik lub administrator).
35
<?php
require_once('funkcje.php');
$login=$_POST['nazwa_uz'];
$haslo=$_POST['haslo'];
$connection = lacz_bd();
$sql = "SELECT * FROM klienci WHERE Login = '$login' AND Haslo =
'$haslo'";
$result = mysql_query($sql, $connection) or die ("Enquiry ended in
failure. Return to the <a href='index.html' target='_parent'>home
page</a>");
while( $row = mysql_fetch_array($result) ) {
$LOCK=$row['LOCK'];
$idKlienta_m = $row['IdKlienta'];
$login_m = $row['Login'];
$access_m = $row['access']; }
if($LOCK==0) {
echo "<P ALIGN='CENTER' STYLE='color: red '>Your access to the lending
library is BLOCKED!!!
<br><br>THE PROBABLE CAUSES ARE:
<br>incorrect PASSWORD or LOGIN
<br><br>OR YOU HAVEN'T RETURNED THE BOOK ON TIME!<B>
<br><br>If it repeats, contact the administrator!
<br></B>Return to the <a href='index.html' target='_parent'>home
page</a></P>";
exit; }
$num = mysql_numrows($result);
if ($num !=0){
session_start();
session_register('zalogowany');
session_register('access');
session_register('IdKlienta');
$access = $access_m;
$zalogowany = $login_m;
$IdKlienta = $idKlienta_m;
if($access==3) {
header("location: ./Admin/index.html"); }
else{
header("location: ./User/index.html");} }
else {
echo "<P ALIGN='CENTER' STYLE='color: red '>Logging ended with error!
</P>"; }
mysql_close($connection);
?>
Program 3. Logowanie do serwisu
4.6.4. Dodawanie, edytowanie i usuwanie użytkowników
Operacje na tabelach przeważnie realizowane są za pomocą poleceń:
 INSERT INTO – polecenie to pozwala dodać nowe informacje do istniejącej już
bazy danych,
 UPDATE – dzięki temu poleceniu możliwa jest aktualizacja danych zawartych
w istniejącej już bazie danych,
36
 DELETE – używając tej komendy można usunąć zawartość calej tabeli, lecz gdy
rozszerzymy składnię o klauzulę „where” można stosować to polecenie do
usunięcia konkretnego rekordu z tabeli [8].
require_once('../funkcje.php');
$query="UPDATE ksiazki,recenzje_ksiazek SET
ksiazki.Autor='$ud_autor',ksiazki.Tytul='$ud_tytul',ksiazki.
IloscStron='$ud_iloscStron',ksiazki.zdjecie='$ud_zdjecie',
ksiazki.Wydawnictwo='$ud_wydawnictwo',
ksiazki.Rok='$ud_rok',ksiazki.iloscKsiazek='$ud_iloscKsiazek',
ksiazki.www='$ud_www',recenzje_ksiazek.Recenzja='$ud_opis'
WHERE ksiazki.IdKsiazki='$ud_IdKsiazki' and
ksiazki.IdKsiazki=recenzje_ksiazek.IdKsiazki";
mysql_query($query);
echo ("Record updated! <br>Return to <a
href='edycja.php?idK=$ud_IdKsiazki'>the previous page.</a><br>");
$connection = lacz_bd();
Program 4. Zastosowanie polecenia UPDATE
37
5. Podsumowanie
W dzisiejszej dobie Internet jest jednym z najbardziej popularnych środków
przekazu informacji. Dlatego kładzie się duży nacisk na rozwój technologii
internetowych. Rozwój ten nie byłby możliwy dzięki stałej rozbudowie języków takich
jak PHP i HTML. Niekiedy serwisy WWW realizowane są w oparciu o relacyjne bazy
danych.
Celem niniejszej pracy było stworzenie internetowego modułu bibliograficznego
na potrzeby systemu RSPN przeznaczonego do zarządzania zasobami bibliotecznymi.
System ten został
zrealizowany w oparciu o znane technologie internetowe
współpracujące z relacyjnymi bazami danych. W tym celu została stworzona baza
danych zawierająca informacje na temat dostępnej literatury oraz użytkowników
zarejestrowanych w systemie. Do zarządzania bazą danych stworzoną na potrzeby
serwisu bibliograficznego wykorzystano aplikację phpMyAdmin.
Wszystkie strony
zawarte w serwisie oparte są o strukturę klient – serwer. Przewodnią myślą podczas
implementacji systemu była wygoda oraz łatwość obsługi. W pracy tej starano się ująć
obowiązujące trendy w projektowaniu witryn WWW. Opis systemu został wykonany w
języku angielskim.
Przy projektowaniu podobnych modułów bibliograficznych opartych o narzędzia
i technologie wykorzystane przez autora, praca ta posłużyć może jako wzór. Stworzony
system może być zainstalowany na dowolnym serwerze bazodanowym.
38
Literatura
1. Atkinson
L.,
Core
MySQL
Przewodnik
zaawansowanego
programisty,
Wydawnictwo Helion, Gliwice 2003
2. Converse T., Park J., Morgan C., PHP5 i MySQL. Biblia, Wydawnictwo Helion,
Gliwice 2005
3. Dudek W., Bazy danych SQL. Teoria i praktyka, Wydawnictwo Helion, Gliwice
2006
4. Helling L., Thomson L., MySQL. Podstawy, Wydawnictwo Helion, Gliwice 2004
5. Khristine Annwn Page, Macromedia Dreamweaver 8. Oficjalny podręcznik,
Wydawnictwo Helion, Gliwice 2006
6. Lecky-Thompson E., Eide-Goodman H., Nowicki S. D., Cove A., PHP5.
Zaawansowane programowanie, Wydawnictwo Helion, Gliwice 2005
7. Lemay L., HTML 4. Vademecum profesjonalisty, Wydawnictwo Helion, Gliwice
1998
8. Nowakowski M., PHP4 & MySQL dla webmastera, Translator, 2001
9. Opis języka SQL, http://pl.wikipedia.org/wiki/SQL, z dnia 27.02.2008
10. Schwendiman B., PHP4. Kompendium programisty, Wydawnictwo Helion, Gliwice
2002
11. Sokół M., ABC języka HTML, Wydawnictwo Helion, Gliwice 2002
12. Sosna Ł., PhpMyAdmin - proste zarządzanie bazą MySQL, Wydawnictwo Nakom,
Poznań 2006
13. Szeliga M., Wileczek, PHP. Tworzenie bezpiecznych stron WWW, Wydawnictwo
Branta, Łódź 2003
14. Welling L. Thomson L., PHP i MySQL. Tworzenie stron WWW, Wydawnictwo
Helion, Gliwice 2005
15. Yank K., PHP i MySQL. Witryna WWW oparta na bazie danych. Wydanie III,
Wydawnictwo Helion, Gliwice 2005
39
Spis rysunków
Rysunek 1.
Rysunek 2.
Rysunek 3.
Rysunek 4.
Rysunek 5.
Rysunek 6.
Rysunek 7.
Rysunek 8.
Rysunek 9.
Rysunek 10.
Rysunek 11.
Rysunek 12.
Rysunek 13.
Rysunek 14.
Rysunek 15.
Rysunek 16.
Rysunek 17.
Rysunek 18.
Rysunek 19.
Rysunek 20.
Rysunek 21.
Rysunek 22.
Podzbiory zapytań języka SQL............................................................... 10
Macromedia Dreamweaver 8 – index.html............................................. 11
Program phpMyAdmin z bazą danych modułu bibliograficznego ......... 13
Diagram przypadków użycia serwisu ..................................................... 14
Strona główna serwisu bibliograficznego ............................................... 18
Lista książek z menu „List of books” ..................................................... 19
Wyszukiwarka książek z menu „Search books” ..................................... 19
Opis książki – „The description of the book” ......................................... 20
Rejestracja użytkowników – “Registration” ........................................... 21
Logowanie użytkownika i administratora – “Login” ............................ 22
Błąd logowania ....................................................................................... 22
Przypomnienie hasła z menu “Forgot password” ................................... 23
Kontakt z administratorem – „Contact”.................................................. 24
Panel użytkownika serwisu ..................................................................... 25
Panel użytkownika serwisu – „Borrowed books”................................... 26
Panel użytkownika serwisu – potwierdzenie wypożyczenia .................. 26
Panel użytkownika serwisu – „Change the data” ................................... 27
Moduł administracyjny – „Users” .......................................................... 28
Moduł administracyjny – „User’s styles” ............................................... 29
Moduł administracyjny – „Enquiry MySQL” ........................................ 29
Moduł administracyjny – „Add book”.................................................... 30
Moduł administracyjny – „Books borrowed at present” ........................ 31
Spis tabel
Tabela 1.
Tabela 2.
Tabela 3.
Tabela 4.
Tabela 5.
Struktura tabeli „klienci” ............................................................................ 15
Struktura tabeli „ksiazki” ............................................................................ 16
Struktura tabeli „pozycje_zamowione” ...................................................... 16
Struktura tabeli „recenzje_ksiazek” ............................................................ 16
Struktura tabeli „uzytkownik” .................................................................... 17
Spis programów
Program 1.
Program 2.
Program 3.
Program 4.
Połączenie z bazą danych „czuba_norbert” ............................................... 34
Wykorzystanie polecenia SELECT ............................................................ 35
Logowanie do serwisu ............................................................................... 36
Zastosowanie polecenia UPDATE ............................................................. 37
40
Załączniki
1.
2.
Elektroniczna wersja pracy dyplomowej na płycie CD
Kod źródłowy części praktycznej pracy dyplomowej na płycie CD
41
Download