INTRODUCERE ………………………………………………………………………. 4 CAPITOLUL I …………………………. [627117]
UNIVERSITATEA DE VEST TIMISOARA 201 2
3
CUPRINS
INTRODUCERE ………………………………………………………………………. 4
CAPITOLUL I ………………………. …………………………………………………. 5
Aspecte teoretice ale aplicatiei …………………………………………………….. 5
1.1. LIMBAJUL PHP …………………………………………… 5
1.2 L IMBAJUL
HTML …………………………………………………….. …10
1.3. CUM REALIZÃM PRIMA PAGINÃ WEB ? ……………… 12
1.4. CUM TESTĂM O PAGINĂ WEB ? …………………………… 16
1.5. UTILIZAREA IMAGINILOR ÎN HTML ……………………. 20
1.6. UTILIZAREA HIPERLEGĂTURILOR ÎN HTML ………. 22
1.7. UTILIZAREA TABELELOR ÎN HTML ……………………. 24
1.8. UTILIZAREA CADRELOR ÎN
HTML ……………………… 2636
1.9. FORMULARE ÎN HTML ȘI PHP …………………………….. 28
BAZE DE DATE ȘI SISTEME DE GESTIUNE A BAZELOR DE
DATE. MySQL ………………………………………………………………………. 31
1.10. CONSIDERAȚII GENERALE ……………………………….. 31
1.11. BAZE DE DATE RELAȚIONALE …………………………. 36
1.12. BAZE DE DATE MySQL ……………………………………… 38
CAPITOLUL II ……………………………………………………………………… 40
2.1. NOȚIUNI GENERALE …………………………………………… 40
2.2. DATE DE INTRARE ………………………………………………. 40
2.3. Configurarea aplicatiei …………………………………………….. 42
2.4 Prezentarea aplicatiei ……………………………………………… …45
2.4.1Adauga rezervari: 46
2.4.2 Vizua lizare rezervari …….. …………………………………………. 48
2.4.3 Pagina de cautare : …………………………………………………… 49
2.4.4 Adaugare camera …………………………………………………….. 49
CONCLUZII ȘI PROPUNERI ………………………………………………….. 51
BIBLIOGRAFIE ……………………………………………………………………… 52
UNIVERSITATEA DE VEST TIMISOARA 201 2
4
INTRODUCERE
Pentru a intra în competiția turistică internațională este necesară
modernizarea, relansarea și dezvoltarea turismului românesc și crearea
unor produse turistice moderne și competitive pe piața turistică.
O afacere performantă înseamnă o investiție într -un proiect
performant, cu activități previzibile și planificate. În acest caz,
investiția trebuie făcută cu parteneri care au activități previzibile pe o
piață previzibilă, cu evaluarea și minimizarea riscurilor.
Scopul elaboră rii acestei lucrări a fost de a soluționa unele
probleme din gestiunea unui hotel si anume aceea de rezervare și
control clienti.
Aplicația permite gestionarea unui număr oricât de mare de
camere , clienti si rezervari . Acestea sunt păstrate pe întreaga pe rioadă
cât aplicația este utilizată, constituind la nevoie o istorie a activității
hotelului .
Actualizarea datelor se poate face ori de câte ori este nevoie,
fără ca aceasta să influențeze situațiile de ieșire; orice corecție poate fi
urmată de o nouă li stare (pe ecran), care permite verificarea datelor
introduse.
Aplicația este accesibilă oricărui hotel care are un server pe care
iși pot pastrea datele. Evident, accesul la modulul de gestiune este
permis numai celor care au stabilit acest drept de cătr e administratorul
hotelului respectiv .
Primul capitol al lucrării prezintă câteva aspecte teoretice
despre tehnologiile folosite ȋn crearea aplicatie de gestionare a unui
hotel.
În al doilea capitol este prezentat ă aplicația ȋn sine , modul de
conceper e si un scurt manual de utilizare
Înultima parte a lucrarii vom vorbi despre concluzii si propuneri
pe tema aplicației.
UNIVERSITATEA DE VEST TIMISOARA 201 2
5
CAPITOLUL I
Aspecte teoretice ale aplicatiei
1.1. LIMBAJUL PHP
PHP este un limbaj de programare ce ruleaza server, proiectat
speci al pentru WEB. Intr-o pagina HTML puteti ingloba cod PHP care
va fi executat la fiecare vizitare a paginii. Codul dumneavoastra PHP
este interpretat pe serverul WEB si genereaza un cod HTML care va fi
vazut de Utilizator fiindu -i transmis numai cod inter pretat ca si
HTML).
PHP a fost conceput in anul 1994 si a fost initial munca unui
singur om, Rasmus Lerdorf . A fost adoptat de alti oameni talentati si
a trecut prin trei rescrieri importante pentru a ajunge la produsul clar si
matur de astazi. In octomb rie 2002, era in uz de mai mult de noua
milioane de domenii din lumea intreaga, iar acest numar este intr -o
continua crestere.
PHP este un produs Open Source, cu acces la codul sursa. Il puteti
folosi, modifica si redistribui, toate acestea in mod gratuit.
Majori tatea aplicațiilor Web au o arhitectură client/server, deci
UNIVERSITATEA DE VEST TIMISOARA 201 2
6
pentru a construi o aplicație Web avem nevoie de mai multe lucruri:
un Browser Web (Internet Explorer, Netscape Communicator),
respectiv un server Web responsabil a face comunicare cu Browser -ul
(Apache, IIS), un server bază de date relațională care va stoca
informațiile necesare aplicației (MySQL, Oracle etc.), respectiv un
SGBD (sistem de gestiune a bazelor de date) și un limbaj de
programare care să facă legătura între server -ul Web și server -ul bază
de date. Bineînțeles pentru a funcționa toate aceste, este nevoie de un
sistem de operare cu care server -ul Web, limbajul de programare și
server -ul bază de date să fie compatibile ([1]).
Apache este cel mai popular, deci cel mai folosit server, el
rulând foarte eficient sub mediul Unix și destul de bine sub Windows.
PHP este un limbaj rapid și ușor de utilizat, este asemănător cu
limbajul C și este cel mai utilizat limbaj de preprocesare pentru site –
uri cu conținut dinamic, iar MySQL este un limbaj recunoscut de
aproape toate bazele de date; în plus, toate acestea sunt oferite gratuit
spre utilizare.
PHP , acronim care provine din "PHP: Hypertext Preprocessor",
este un limbaj de scripting utilizat pe scară largă, realizat și distribuit în
sistem Ope n Source, care este special realizat pentru a dezvolta aplicații
web, prin integrarea codului PHP în documente HTML. Sintaxa sa
provine din C, Java și Perl și este ușor de învățat. Scopul principal al
limbajului este acela de a scrie rapid pagini web dinam ice, dar cu PHP se
pot realiza mult mai multe. Diferența dintre PHP și altceva cum ar fi
JavaScript este acela că PHP este executat pe server pe când JavaScript
este executat pe calculatorului clientului (de navigatorul de Internet).
Pentru un script simil ar cu cel de mai sus pe server, clientul ar primi doar
rezultatele scriptului ce este rulat, fără a vedea în nici un fel codul din
spatele acestuia. Astfel se poate configura serverul de web ca acesta să
proceseze toate fisierele HTML cu PHP și astfel nu e xită nici o metodă ca
un utilizator să știe de fapt ce există în fișiere ([8]).
Există trei domenii unde scripturile PHP pot fi folosite ([7]):
Scripturi ce rulează pe server. Acesta este cel mai tradițional și
cel mai important pentru PHP. Este nevoie de trei lucruri pentru a
face sa funționeze. Interpretorul PHP (CGI sau modul de server),
UNIVERSITATEA DE VEST TIMISOARA 201 2
7
un server de web și un navigator de web. E nevoie ca serverul de
web să fie pornit, cu o conexiune PHP instalată. Poți accesa
rezultatul programelor PHP cu un navigator prin intermediul
serverului de web;
Scripting la linia de comandă. Poți face ca PHP să ruleze fără a
fi nevoie de server și de browser, ci doar de interpretorul PHP;
Scrierea de aplicații ce rulează de partea clientului în mod
grafic (GUI).
Funcția eleme ntară a limbajului PHP este de a interpreta un script
pentru a genera o pagină Web care este trimisă unui client. În mod
caracteristic, scriptul conține o combinație între coduri HTML, care
sunt trimise literal clientului, și linii de program PHP, care sun t
executate ca program. Datele de ieșire produse de program sunt
trimise clientului, indiferent de natura lor, deci clientul nu vede
niciodată programul, ci numai datele de ieșire. Când PHP începe să
citească un fișier, el copiază tot ceea ce găsește acolo în datele de
ieșire, cu presupunerea că fișierul conține HTML literal. Când
interpretorul PHP întâlnește o etichetă specială, comută din modul
HTML în modul program PHP și incepe să interpreteze fișierul drept
linii de program PHP care trebuie executate. Sfârșitul programului
este indicat de o altă etichetă specială, moment în care interpretorul
comutâ înapoi din modul program în modul HTML. Aceasta ne permit
să combinați un text static (HTML) cu rezultatele generate dinamic
(PHP) pentru a produce o pagină care variază în funcție de
circumstanțele în care este apelată ([2]).
Numele fișierelor care conțin scripturi PHP sunt scrise cu o extensie
care permite server -ului de Web să le recunoască și să execute
interpretorul PHP pentru a le prelucra. Dacă se va f olosi o extensie
care nu este recunoscută, scripturile PHP vor fi servite în formă text
simplu.
PHP poate fi folosit pe aproape toate marile sisteme de operare,
incluzând Linux, multe variante de Unix, Microsoft Windows, Mac
OS X, RISC OS, probabil și al tele. PHP are deasemenea suport pentru
majoritatea serverelor de web din prezent. Acestea includ serverele
Apache, Microsoft Internet Information Server, Personal Web Server,
UNIVERSITATEA DE VEST TIMISOARA 201 2
8
Netscape și iPlanet, serverul Oreillz Website Pro, Caudium, Xitami,
OmniHTTPd și multe altele. Pentru majoritatea serverelor PHP are un
modul, iar pentru celelalte suportă standardul CGI, PHP putând să
lucreze ca un procesor CGI ([8]).
PHP permite alegerea unui sistem de operare și un server de
web și posibilitatea de a folosi prog ramarea procedurală sau
programarea orientată obiect, sau chiar amestecarea lor. Posibilitățile
PHP-ului includ afișarea de imagine, fișiere PDF și chiar filmulețe
Flash, toate generate instant. Rezultatul poate să fie orice fișier text,
cum ar fi XHTML sa u orice alte fișiere XML. PHP poate genera
automat aceste fișiere și să le salveze în sistemul de fișiere în loc să le
afișeze. PHP are suport pentru instanțierea obiectelor Java și
utilizarea lor într -un mod transparent ca obiecte PHP
Problema cu aceste 3 componente este modul in care ele
conlucrează si cum sunt configurate. De multe ori, o simpla linie
scrisa greșit sau lipsa poate da batai de cap chiar si celui mai
experimentat programator.
Modul in care un server web functioneaza este următorul : când se
scrie o adresa in bara de adrese a unui browser si se apasă ENTER,
browser -ul trimite o cerere acestui server -ului http (sau de web) o
cerere: „afiseaza pagina pagina.html a site -ului”. Server -ul știe sa
servească (de unde si numele server ) doar pagini HTML, insa daca se
lucrează in PHP, aceste fișiere vor avea extensia .php, deci server -ul
va căuta sa vadă daca nu este configurat sa servească si alt tip de
fișiere. Daca a fost configurat sa servească si pagini php, atunci ele
vor fi trimise unui unui alt program care se ocupa sa le recunoască, sa
le citească si apoi sa trimită înapoi o pagina care sa poată fi afișata
clientului care a făcut in primul rând cererea. Acest program care este
apelat de către server este PHP, care descifrează codul scri s in fișier,
iar daca se cer informații dint -o baza de date, atunci tot el extrage
aceste informații si le prelucrează astfel încât ele sa poată fi afișate la
client.
Proiectarea este probabil, una dintre cele mai importante sarcini
care trebuie dus e la îndeplinire înainte de construirea unui site web
(mai bine zis a unui portal, diferența dintre cele doua fiind ca cel din
UNIVERSITATEA DE VEST TIMISOARA 201 2
9
urma este dinamic, in sensul ca informațiile din el se modifica intr -un
mod foarte alert, portalurile pretându -se la companii de știri, magazin
virtual tec). Daca știm dinainte cum va trebui sa arate o aplicație si
cum va trebui sa se comporte, când se trece la scrisul codului efectiv,
putem sa ne concentram exclusiv asupra acestui fapt. De aceea, in
cadrul proiectării unui portal w eb, de cele mai multe ori se recurge la
o planificare „de moda veche”, adică cu creionul pe hârtie, la propriu!
Cu alte cuvinte, fiecare pagina va fi descrisa si desenata in cat mai
precis, astfel încât sa știm dinainte cu ce avem de -a face. Spre
exemplu, un portal care aparține unei librarii va trebui sa ofere
aceleași facilitați ca un magazin real, adică va trebui sa ofere
potențialilor clienți un mod de a afla detalii despre o anumita carte, sa
poată sa cumpere o carte sau mai multe, sa răsfoiască paginile cartilor
etc. In primul rând va trebui ca fiecare carte sa fie insotita de o scurta
descriere, deoarece nu vom avea un librar la indemna. La fel ca intr -o
librarie reala, cartile vor fi ordonate după domeniul căruia aparțin
pentru a putea fi loca lizate mai ușor. Si tot pentru ca nu avem un librar
la indemna, va trebui sa fie oferita o modalitate prin care clienții sa
poată căuta o anumita carte sau sa caute toate cartile care sunt scrise
de un anumit autor. Deci un așa zis „motor de căutare” este necesar.
Un alt pas esențial in crearea unui portal web este impartirea
codului pe pagini. De cele mai multe ori, aceasta impartirea se face
tinand cont de funcționalitatea fiecărei pagini. Tot ca exemplu, daca ar
fi sa ne referim tot la librărie vi rtuala, putem sa ne imaginam ca vom
avea doua zone: una publica si una de administrare.
In zona de administrare, toate paginile vor fi protejate de o parola,
deoarece in aceste fișiere exista codul prin care bazele de date sunt
manipulate si nu am d ori ca cineva neavizat sau rău -intenționat sa facă
modificări. Modul in care acest lucru se poate implementa in PHP va
fi prezentat ulterior.
UNIVERSITATEA DE VEST TIMISOARA 201 2
10
1.2 L IMBAJUL HTML
HTML este limbajul în care sunt scrise paginile web. Paginile
web sunt fișiere cu exte nsia .html sau .htm care rezidă, de obicei, pe
serverele de Internet, dar care pot rezida și pe calculatorul oricărui
utilizator.
HTML este acronimul de la HyperText Markup Language, care
este numele unui limbaj de marcare ce a înlocuit SGML -ul. A fost
conceput în 1989 de Tim Berners -Lee, licențiat la Oxford, pe atunci
fizician la CERN. Fiind și expert în software, Berners -Lee este acum
director al World Wide WEb Consortium (pe scurt, W3C), adică al
organizației care coordonează dezvoltarea web -ului (în pr incipal, prin
impunerea de standarde pentru limbaje). HTML -ul a cunoscut o
popularitate rapidã, cea mai mare parte a paginilor web fiind scrise în
acest limbaj ([4, 11]).
Fiind un limbaj de marcare, HTML nu utilizează instrucțiuni (ca
Pascal -ul sau C -ul) ori comenzi (ca FoxPro -ul), ci etichete , acestea
mai fiind numite și balize , elemente, controale sau tag-uri. Sintaxa
unui tag este:
<TAG atribut1="val" atribut2="val">Text</TAG>
În unele cazuri, atributele pot lipsi; în altele, poate lipsi tag -ul de
închidere </TAG>.
O pagină web poate conține:
text
imagini
fisiere audio
fisiere video
Paginile web se vizualizeazã în browsere , care sunt niște
programe de vizitare. Cele mai populare browsere sunt:
UNIVERSITATEA DE VEST TIMISOARA 201 2
11
Netscape Navigator , care a cunoscut mai multe versi uni, cele
mai reușite fiind 4.75 și 4.76 care aveau, totuși, defectul că nu
suportau diacriticele. Acestora le -a urmat versiunea 6.0 care suporta
diacriticele;
Microsoft Internet Explorer , care a cunoscut o evoluție
continuă având numeroase versiuni, popul aritatea sa datorându -se,
poate, și faptului că este distribuit automat împreună cu Windows;
în 2001 a apărut browserul Opera , deocamdatã relativ puțin
folosit;
în ultimul timp un success foarte mare îl are Mozilla ;
unii folosesc Lynx care, fiind un browse r negrafic, nu recunoaște
imaginile, ceea ce duce la o încărcare mult mai rapidă a textului.
Orice browser prezintă, în partea de sus, o fereastră îngustă în
care se tastează adresa paginii web căutate. Un exemplu de adresă ar
fi: http://math.uvt.ro/ .După tastarea adresei și apăsarea tastei "Enter",
browserul îi trimite serverului cererea de a i se furniza o pagină web.
În acest caz, serverul trimite pagina sa proprie. Asupra termenelor sit
sau site, există multe discuți i și o decizie finală. corectă și unanim
acceptată, încă nu s -a găsit, deoarece:
1. Etimonul lui sit este latinescul situs, care desemna un loc
geografic.
2. Varianta sit e prima apăruta în limba română. Figurează, de
exemplu, în cartea "Omul sau natura?" de E douard Bonnefous
(Editura Politica, București, 1976, traducător Adrian Costa), iar în anii
'80 era vehiculat în presa culturală din România. Circulația sa era,
așadar, restrânsă la mediile cultivate, în timp ce varianta site e folosită
azi pe scara largă.
Într-un fișier html se pot include:
programe în JavaScript
scripturi CSS
tag-uri care să seteze parametrii unui applet (program scris în
Java și care rezidă pe rețea)
Un fișier html se poate realiza:
manual , scriind tag dupã tag în Notepad
UNIVERSITATEA DE VEST TIMISOARA 201 2
12
cu ajutorul editoarelor HTML precum Homesite, Adobe
Golive, Microsoft Frontpage, Macromedia Dreamweaver (aplicația
cea mai apreciată de profesioniști), CoffeeCup HTML Editor,
Netscape Composer (recomandat doar începătorilor), NoteTab Light,
1st Page 2000 și lista ar putea continua… O parte dintre ele sunt
distribuite freeware (gratuit). De altfel, de pe site -urile de download se
pot descãrca multe editoare HTML, unele în regim freeware, altele în
regim shareware. Editoarele ușureazã munca, dar nu învațã HTML,
așã cã e de dorit sã fie evitate la începutul activitãții unui webdesigner.
1.3. CUM REALIZÃM PRIMA PAGINÃ WEB ?
Vom parcurge următoarele etape:
Etapa I: Stabilirea subiectului site -ului web
In aceastã etapã, trebuie sã stabiliți cu mare claritate subiectul
site-ului pe care intenționați sã -l realizați. Veți stabili ce va conține
site-ul și, mai ales, ceea ce nu va conține. Dacã realizați site -ul
instituției la care lucrați, nu veți introduce aici pozele de familie din
albumul directorului. Dacã site -ul conțin e un CV, nu veți pune în
acesta pozele prietenilor și nici gifurile animate cu pești care plac atât
de mult angajatului. Un site web trebuie dedicat unui singur subiect.
Etapa a II -a: Identificarea audienței
Trebuie sã stabiliți de la început cui vã adres ați, ceea ce
presupune sã stabiliți:
1. Nivelul cultural al vizitatorilor
2. Motivațiile accesãrii site -ului (patronul unei firme cautã salariați,
un elev cautã referate etc.)
3. Rezoluția monitorului vizitatorilor
4. Viteza conexiunii folosite de vizitatori
5. Tipul de browser folosit
Informațiile de acest gen (3, 4, 5) pot fi furnizate de:
a) Serverul pe care ați pus site -ul.
UNIVERSITATEA DE VEST TIMISOARA 201 2
13
b) Firme specializate în contorizare și statistici, gratuit sau contra unui
cost nu prea mare.
Etapa a III -a: Structurarea informației
Trebuie stabilite urmãtoarele:
1. Cum va naviga vizitatorul. Astfel, veți putea folosi frames sau o
tablã de materii.
2. Setul de culori pentru background/fonturi/link -uri. E de dorit sã
folositi puține culori, iar acestea sã nu agreseze vizitatorul.
3. Un logo al si teâului, adică o imagine simplã, sugestivã și de
dimensiuni cât mai mici. Este de dorit sã fie originalã, dar aceastã
condiție este greu de îndeplinit de la început. Pe Internet, puteți întâlni
graficieni specializati în logo -uri. Prezența unui logo nu îng reuneazã
accesarea site -ului, deoarece acesta se încarcã în memoria cache a
browserului la accesarea primei pagini. E de dorit sã folosiți un singur
logo în toate paginile.
4. Numãrul de nivele al site -ului. Sã presupunem cã site -ul este
alcãtuit din fișieru l index.html și directorul texte, în care se aflã toate
celelalte fișiere. Aceasta înseamnã cã sie -tul are douã nivele: cel al
fișierului index.html și cel al celorlalte fișiere. Numãrul nivelelor unui
site nu trebuie sã fie prea mare, pentru a nu plictisi vizitatorul.
Statisticile spun cã:
Surfer -ului nu -i place scroll -ul, adicã nu -i place sã coboare în
josul paginii.
Surfer -ului nu -i place sã aștepte, iar așteptarea îl face adesea sã
pãrãseascã situl.
Surfer -ul citește de pe monitor cu o vitezã care est e cu 25% mai micã
decât cea cu care citește de pe hârtie.
Siturile bune nu apar spontan, precum ciupercile dupã ploaie, ci
sunt rezultatul unui efort de înțelegere a nevoilor vizitatorilor. În
webdesign, nu gusturile designer -ului sunt pe primul loc, ci n evoile
utilizatorilor. A le rãspunde este prima prioritate în webdesign.
Sfaturile date de designerii cu experiențã sunt urmãtoarele:
1. Dimensiunea unui fișier sã fie cât mai micã. Pentru o paginã
personalã, sã fie sub 20 KB, cu tot cu imagini.
UNIVERSITATEA DE VEST TIMISOARA 201 2
14
2. Încãrcarea unei pagini nu trebuie sã dureze mai mult de 15
secunde, indiferent de conexiune.
3. Grafica sã fie redusã la minimum, deoarece fișierele grafice au
dimensiuni mari.
4. Informația utilã sã nu fie la o distanțã mai mare de douã click –
uri.
5. Pagina sã fie vizibi lã în întregime, fãrã ca surfer -ul sã utilizeze
bara de scroll.
6. Numãrul nivelelor site -ului sã nu fie prea mare.
7. Textul sã nu fie dispus ca un bloc unitar de informație, ci sã fie
divizat prin linii orizontale sau imagini. Frazele rezumat pot fi
prezenta te pe un fundal diferit colorat, eventual încadrate.
8. Deși sunt la modã fonturile foarte mici, este de dorit sã nu
precizați mãrimea fontului, astfel încât surferul cu probleme de vedere
sã poatã folosi optiunea View, Text size, Larger sau Largest .
9. Fundal ul sã nu fie agresiv.
10. Informația trebuie prezentatã astfel încât efortul depus de surfer
pentru înțelegerea și folosirea informației sã fie minim.
Deși nu existã rețete, se poate afirma cã un site bun conține:
Instrumente de navigare, adicã legãturi cu:
a) pagina anterioarã, pagina urmãtoare, partea de sus a
paginii sau:
b) principalele secțiuni ale site -ului
Contor: afișeazã numãrul vizitatorilor sau, mai exact, numãrul
cererilor trimise serverului pentru a furniza pagina.
Carte de oaspeți, în care vizitato rii își pot scrie impresiile despre
site
Adresa de e -mail a administratorului site -ului
Data ultimei împrospãtãri a conținutului (ultimul update).
"News", adicã o secțiune cu noutãți despre firma/persoana cãreia
ii este dedicat site -ul.
Motoare de cãut are (search engines) în site sau pe web
Liste de discuții sau chat
În scrierea codului este bine să renunțați la:
Spațiile albe inutile
UNIVERSITATEA DE VEST TIMISOARA 201 2
15
Tag-urile inutile precum </br>, </li> sau </option>
Metatg -urile inutile, precum <meta name="generator"
content="nume generator">
Excesul de imagini
Fișierele DHTML care au, de obicei, dimensiuni mari
Inserarea în paginã a codului CSS sau Javascript – e bine ca
acesta sã se afle în fișiere externe. Astfel, dimensiunea paginii scade
și, în plus, este eliminat și riscul ca motoarele de cãutare sã citeascã
acest cod și sã vã indexeze pagina dupã termenii din cod.
Tabelele incluse în alte tabele
Alte mijloace de a micșora dimensiunea în octeti a paginii sunt:
scurtați descrierea inclusã în atributul ALT al tag -ului IMAG
alinierea textului din tabele se poate face o singurã datã pe
fiecare linie, scriind <tr align="left"> (sau right etc., dupã caz) în loc
de a o face pentru fiecare celulã, în cadrul tag -ului <td>
Browserul nu numai cã încarcã pagina, dar o și interpretea zã. În
multe cazuri, tot conținutul este dispus într -un singur tabel, de
dimensiuni mari – browserul nu îl va afisa pânã nu îl interpreteazã,
ceea ce va dura destul de mult. Introducerea unui tabel în alt tabel
poate crea dificultãti de interpretare browse rului, prelungind astfel
durata interpretãrii.
E mai bine deci sã folositi mai multe tabele independente, pe
care browserul le va interpreta si le va afisa pe rând. Astfel, surferul
va citi, sã zicem, menu -ul deja afisat atunci când continutul se încarcã.
Nu întotdeauna e posibilã folosirea tabelelor independente. De
exemplu, pagina în care vã aflati foloseste un tabel cu meniul, tabel
care e inclus într -un tabel mai mare, cel care contine si textul.
Timpul interpretãrii scade dacã precizati atributul width (si,
eventual, height ) pentru fiecare tabel. Dacã tabelul contine imagini,
dimensiunile acestora trebuie neapãrat precizate.
UNIVERSITATEA DE VEST TIMISOARA 201 2
16
1.4. CUM TESTĂM O PAGINĂ WEB ?
Înainte de upload, este cazul ca site -ul să fie testat:
la diverse rezoluții ale ecranului
cu diferite navigatoare,
deoarece aspectul paginilor trebuie sã fie (cam) același în toate
cazurile.
Se poate observa cã unele navigatoare nu suportã toate
scripturile CSS și toate programele scrise în JavaScript. În plus, tag -ul
<blink> este suportat doar d e Netscape Navigator, iar tag -ul
<marquee> doar de Internet Explorer. Diacriticele sunt suportate doar
de ultimele generații de navigatoare, celelalte afișând semne de
întrebare în locul diacriticelor.
Toate acestea fac ca unele pagini sã fie realizate în dublu
exemplar: un exemplar pentru Internet Explorer, celãlalt pentru
Netscape Navigator. Redirecționarea se poate face cu un program în
genul celor de mai jos.
<SCRIPT LANGUAGE="JavaScript">
<!–
if(navigator.appName.indexOf("Netscape") != -1)
{ locati on.href = "pagina2.htm";}
//–>
</SCRIPT>
Programul poate fi inserat în fișierul index.htm. Utilizatorii
browserului Netscape Navigator sunt direcționați cãtre pagina2.htm.
<SCRIPT LANGUAGE="JavaScript">
<!–
if((appName=="Netscape")&&parseInt(appVersio n)==4)
{location.href="absolut1.htm";}
//–>
</SCRIPT>
UNIVERSITATEA DE VEST TIMISOARA 201 2
17
Dupã upload, testele trebuie reluate, luând în studiu și viteza de
conectare a utilizatorilor prin dial -up sau prin cablu. Dacã site -ul nu
este un dot -com, ci o paginã personalã, serverul va insera re clame în
paginã, ceea ce va modifica aspectul și dimensiunea în octeți a
acestora. Sunt necesare de aceea și alte testãri suplimentare.
Upload -ul reprezintã încãrcarea fișierelor de pe calculator pe un
server de Internet. Pe server, fișierele vor deveni v izibile pentru orice
vizitator care le încarcã. Upload -ul mai poate fi vãzut și ca procesul
opus download -ului.
Upload -ul se poate face prin două metode:
1. Folosind clientul de FTP pus la dispoziție de server. Cele mai
multe servere dispun de File Manager, care încarcã fișierele pe server
într-un mod simplu și intuitiv. Dezavantaj: dureazã relativ mult.
2. Folosind alți clienti de FTP. De exemplu, FileZilla
încarcã site -ul pe server, cu directoare cu tot, în câteva zeci de
secunde . Pe situl geocities.yahoo.com , upload -ul poate fi realizat prin
ambele metode.
Instrumentul cel mai ușor de folosit în crearea paginilor web
este limbajul HTML. Acesta conține textul care trebuie afișat în
fereastră și caractere de formatare, numite controale sau tag-uri, care
descriu modul în care textul apare pe ecran.
Fișierul care conține descrierea unei pagini web se numește
document HTML și are în compunerea numelui său extensia .html sau
.htm.
Pentru a crea cel mai simplu exemplu de pagină web se poate
creea un document fo losind cel mai simplu editor de text – Notepad:
Salvați acest fișier apoi deschideți un program de navigare pe Internet
(el se mai numește browser de Internet ), cum ar fi Internet Explorer,
în care, în câmpul Address , selectați fișierul astfel salvat. Deoa rece
documentul HTML este cel care indică ce informații apar în pagină,
acesta se mai numește document sursă .
UNIVERSITATEA DE VEST TIMISOARA 201 2
18
Pentru a indica începutul și sfârșitul unui document HTML,
toate informațiile care trebuie să apară în pagină sunt cuprinse între
două caractere de formatare, unul care indică începutul informației
(<body>) și unul care indică sfârșitul informațiilor (</body>).
Observație: caracterele de formatare se găsesc, cu rare excepții, sub
formă de perechi, cele două caractere fiind unul care indică începutu l
zonei de aplicare (în exempluk de mai sus <body>) și unul care indică
încheierea acestei zone (în exemplu </body>), acesta din urma fiind
de obicei similar cu primul dar având în plus un caracter slash..
Vizualizând pagina web generată mai sus, se obser vă că textul
apare scris cu negru pe fond alb. În HTML, alegerea culorii fondului
se face prin controlul bgcolor , care arată astfel: <body bgcolor=red>
unde se observă că pentru fond a fost indicată culoarea roșie ( red). Pe
lângă indicarea culorii prin fol osirea denumirii (evident, în limba
engleză1), este posibil ca aceasta să fie descrisă folosind combinația
celor trei culori de bază din care se compune culoarea: proporția de
roșu, verde și albastru, indicate sub forma unui șir de numere în baza
16, în li mitele #000000 (negru, adică nici una din cele trei culori de
bază) până la #FFFFFF (alb, adică toate cele trei culori, în proporții
egale). Alte combinații de culori se obțin modificând corespunzător
cele trei grupe de câte două cifre hexazecimale din car e se compune
codificarea culorii.
În mod similar, și culoarea textului se poate modifica, folosind
controlul color.
Alinierea textului pe rândul curent se face, în lipsa unei alte
indicații, la marginea din stânga a paginii. Dacă doriți alt mod de
alinie re, puteți folosi centrarea sau în loc de center se poate folosi
atributul align=left sau align=right , pentru cele două variante de
aliniere.
Dimensiunea textului este indicată prin controlul size. În lipsa
acestui control, textul are o dimensiune implici tă (3) dar pot fi indicate
1 principalele culori sunt aqua =albastru marin, gray=gri, navy =bleumarin,
silver =argintiu, black =negru, green =verde, olive =oliv, teal=verde închis,
blue=albastru, lime=verde des chis, purple =violet, white =alb, fuchsia =violet
deschis, maroon =maro, red=roșu și yellow =galben.
UNIVERSITATEA DE VEST TIMISOARA 201 2
19
valori între 1 și 7. Odată indicată dimensiunea textului, aceasta poate
fi modificată oricând, fie prin indicarea unei noi valori, fie prin
incrementarea sau decrementarea mărimii curente.
Pentru a descrie mărimea caracterelor se poate folosi controlul
<h> care are variantele <h1>, <h2>, <h3>, <h4>, <h5>, <h6>,
mărimea caracterelor fiind invers proporțională cu valoarea indicată în
control.
Utilizatorul poate folosi tipul implicit de literă al sistemului sau
poate cere un anum it tip de literă, ca în exemplul următor unde textul
este afișat folosind fontul Arial :
<font color=blue face=arial>
Pentru a evita posibilitatea (neplăcută) că fontul indicat nu este
disponibil, se pot indica mai multe fonturi, ca în exemplul:
<font col or=blue face="courier new",arial>
Textului afișat în fereastră i se pot aplica elementele de atragere
a atenției uzuale în orice editor de texte și anume: întărirea (<strong>),
evidențierea (<em>), îngroșarea (<b>), scrierea aplecată (<i>),
sublinierea (< u>) sau tăierea (<strike>).
În mod uzual, textul este compus din litere alăturate, aflate pe
aceeași linie de bază. Uneori însă, este necesar ca informația care
trebuie afișată și conțină indici superiori sau indici inferiori, cum ar fi,
de exemplu, în sc rierea formulelor matematice sau chimice. Pentru
aceasta se folosesc controalele <sup> respectiv <sub>, ca în exemplul
următor, care permite afișarea substanței chimice: Na 2CO 3+:
Na<sub>2</sub>CO<sub>3</sub><sup>+</sup>
Alinierea textului în pagină se ind ică folosind atributele
controlului <div> cu op’iunile align=center, left, right sau justify.
În situația în care se dorește afișarea (trasarea) unei linii
orizontale, aceasta se descrie prin controlul <hr>.
Când în textul care se afișează în pagină se do rește prezentarea
unei liste nenumerotate, aceasta se face apelând la controlul <li> care
se pune înaintea fiecărei linii din listă. O variantă a aceluiași control
permite delimitarea listei de restul textului, prin încadrarea ei între
controalele <ul> și </ul>. Avantajul unei astfel de exprimări este acela
că permite modificarea modelului ales pentru indicarea fiecărui
UNIVERSITATEA DE VEST TIMISOARA 201 2
20
element al listei, introducând în controlul <ul> atributul type cu una
din variantele sale type=disc sau type=circle sau type=square , prin
care modelul este un disc, un pătrat sau un cerc.
Când în textul care se afișează în pagină se dorește prezentarea
unei liste numerotate, aceasta se face apelând la delimitarea listei prin
controalele <ol> și </ol>. Și controalele <li> au atribute, aceste a
indicând modul de numerotare a listei prin valorile type=1 , type=I sau
type=A , folosite pentru indicarea numerotării cu cifre arabe, cu cifre
romane respective cu litere. De asemenea, folosirea atributului start
permite indicarea valorii de la care încep e numerotarea, de exemplu
start=4 .
1.5. UTILIZAREA IMAGINILOR ÎN HTML
O pagină web este complet neatractivă dacă este compusă
numai din text, de asemenea cel mai ușor mod de a rupe monotonia
este inserarea de imagini. Într -o pagină web se pot insera ima gini
salvate sub forma unor fișiere cu extensiile .gif, .jpg și .jpeg, de
mărime oarecare, cu observația că, la mărime mare, timpul necesar
afișării pe ecran este și el mare.
Inserarea în pagină a unei imagini se face prin controlul <img>
ca în exemplul u rmător:
<img src=imagine.jpg>
în care se observă că este necesară indicarea numelui fișierului care
conține imaginea. Dacă numele fișierului este compus din mai multe
cuvinte,este necesară cuprinderea sa între paranteze. Dacă fișierul nu
este în directorul curent, atunci este necesară indicarea căii spre
fișierul respective.
În exemplul de mai sus, imaginea este alăturată textului de pe
rândul respective, în continuarea sa; dacă se dorește alinierea imaginii
în interiorul rândului se poate folosi atributul align cu variantele sale
align=left sau align=right.
UNIVERSITATEA DE VEST TIMISOARA 201 2
21
În exemplul de aliniere de mai sus s -a făcut referire la corelația
între text și imagine în cadrul rândului. Aceasta nu este singura
posibilitate de aliniere a textului; făcând referire la corelarea pe
verticală, un text poate fi scris la baza imaginii (în lipsa unei clause
align ), la mijlocul său ( align=middle ) sau la partea de sus ( align=top ).
În pagina web, dimensiunile imaginii sunt cele de la crearea ei;
dacă acestea nu corespund dorințelor, neces ităților sau posibilităților
utilizatorului, acesta poate modifica fie înălțimea (folosind atributul
height ), fie lățimea (folosind atributul width ), fie ambele dimensiuni
(folosind ambele atribute); dacă se modifică doar una din dimensiuni,
cealaltă se aj ustează automat pentru a păstra proporțiile inițiale ale
imaginii. Dacă însă se indică ambele attribute, atunci proporțiile
inițiale ale imaginii pot fi modificate oricum:
<img src=imagine.jpg align=right height=500 width=300>
Dimensiunile imaginii pot fi indicate atât în pixeli, așa cum s -a
arătat mai sus, cât și în procente (de exemplu width=50% ) caz în care
mărimea imaginii este procent din mărimea inițială.
Dacă pe aceeași linie se află atât text cât și imagini, în pagina
web nu vor exista spații de di stanțare, dacă utilizatorul nu indică în
mod explicit acest lucru. Pentru aceasta se pot folosi controalele
hspace , care indică numărul de spații (de pixeli) care se vor lăsa în
stânga și în dreapta imaginii, respectiv vspace , pentru numărul de
spații deas upra și dedesubtul imaginii. Dacă două imagini sunt
alăturate (fie pe aceeași linie, fie pe aceeași coloană), între ele nu
există un spațiu de delimitare și de aceea utilizarea atributelor hspace
respectiv vspace este extrem de utilă.
Într-o pagină web, o imagine poate fi prezentată, așa cum s -a
arătat mai sus, la orice mărime îi este potrivită utilizatorului. Uneori
însă, din considerente de aranjare a paginii, imaginea este foarte mică
dar se dorește ca să existe posibilitatea de a vedea aceeași imagine și
la dimensiune mai mare. În acest caz este necesar ca în pagina
respectivă să apară doar imaginea micșorată, așa cum s -a prezentat
mai sus, iar pentru mărirea imaginii utilizatorul trebuie să deplaseze
mouse -ul pe imagine și să facă click pe ea.
UNIVERSITATEA DE VEST TIMISOARA 201 2
22
Mecanis mul prin care din pagina curentă se trece în altă pagină,
unde va fi prezentată imaginea mărită, prin efectuarea unui singur
click pe o imagine (sau, cum se va arăta mai târziu, pe un text) se
numește hiperlegătură și se indică prin controlul <a>:
<a href= imagine.jpg><img src=imagine.jpg width=20%></a>
control care, așa cum se vede din exemplu, cere indicarea imaginii
care urmează a fi prezentată în noua pagină web.
În fine, o imagine poate deveni fundalul paginii web, înlocuind
culoarea simplă așa cum s -a prezentat în primul capitol. Pentru aceasta
este necesar ca să se folosească atributul background.
1.6. UTILIZAREA HIPERLEGĂTURILOR ÎN
HTML
În ultimul exemplu s -a prezentat pe scurt mecanismul de
hiperlegătură. Acesta constă în posibilitatea ca, dintr -o pagină web.
utilizatoul să se poată deplasa fie în aceeași pagină, fie în alta, folosind
un mecanism de legătură indicat pe ecran printr -o formă specifică a
cursorului, mecanism numit hiperlegătură .
Dacă deplasarea se face în interiorul aceleiași pagini web, altfel
spus în interiorul aceluiași document HTML, atunci este necesar ca în
document să existe indicate clar locurile de unde se face deplasarea
(numite puncte -ancoră ) respectv unde se va face deplasarea (numite
ancore ), prin utilizarea controlului <a> ca în exemplul următor:
Va puteti deplasa direct la categoria dorita:<br>
<a href=#ziare>Ziare</a><br>
<a href=#radio>Radio</a><br>
<a href=#tv>Televiziuni</a><br>
<br><br><br><br><br><br><br><br><br><br>
<a name=ziare>Principalele ziare:<br>
Adevarul <br>
Romania libera<br>
UNIVERSITATEA DE VEST TIMISOARA 201 2
23
Ziua<br>
<br><br><br><br><br><br><br><br><br><br>
<a name=radio>Principalele posturi de radio:<br>
Radio Romania<br>
Radio Cultural<br>
Radio Tineret<br>
<br><br><br><br><br><br><br><br><br><br>
<a name=tv>Principalele posturi TV:<b r>
TVR 1<br>
TV Cultural<br>
TV International<br>
Așa cum se observă, la începutul documentului există o listă care
permite selectarea locului unde se face saltul, prin indicarea punctelor –
ancoră folosind controlul <a href=#ziare>Ziare</a> în care #ziare este
locul unde se va face saltul iar Ziare este i nformația care apare pe ecran
pentru a indica locul unde se va fce saltul. Indicarea ancorei, adică a
locului unde se face saltul, se face atunci prin controlul: <a name=ziare>
în care este indicat același nume de ancoră ca la punctual de ancoră.
Mecanism ul de hiperlegătură devine și mai folositor când face
legarea mai multor pagini web. Pentru a exemplifica folosirea sa, se
crează a doua pagină web, cu denumirea pagina2.html. Revenind la prima
pagină, în conținutul ei se va regăsi controlul <a> care permi te legarea
paginilor prin indicarea documentului HTML care conține noua pagină și
a unui text (sau a unei imagini, așa cum s -a văzut la capitolul anterior) care
sugerează conținutul noii pagini, text/imagine care se numește referință.
Prin afișarea aceste i pagini în browser, textul cealalta pagina ,
utilizat ca referintă, apare subliniat iar la deplasarea cursorului pe
acest text forma cursorului se modifică pentru a indica existența
mecanismului de hiperlegătură. Prin executarea unui click pe referință,
pe ecran este afișată cea de -a doua pagină; revenirea la pagina
anterioară se poate face utilizând butonul Back de pe bara butoanelor.
O astfel de legare a paginilor se poate face nu doar între pagina
curentă, descrisă de utilizator, și altă )alte) pagini a le sale, există și
posibilitatea ca referința să se facă la o pagină de Internet, prin indicarea
UNIVERSITATEA DE VEST TIMISOARA 201 2
24
adresei corespunzătoare. <a href=http://www.realitatea.tv>cealalta
pagina</a>.
În fine, referința se poate face la o cutie poștală (la o adresă de
e-mail), caz în care se folosește același control <a> sub forma din
exemplul următor: <a href=mailto:carla@gmail.ro>adresa mea de e –
mail</a>.
1.7. UTILIZAREA TABELELOR ÎN HTML
Informația afișată într -o pagină web este formatată conform
dorințelor utilizatorului. În cele prezentate până acum, textul și imaginile
pot fi aranjate oricum, pe întreaga suprafață a paginii. La fel cum într -un
ziar, textul nu este scris pe întreaga linie, de la marginea din stânga la cea
din dreapta a ziarului, în mod similar pagina web poa te fi aranjată astfel
încât textul să fie formatat pe coloane.
Pentru aceasta, în paginile web se utilizează tabelele . Tabelele
sunt compuse din linii și coloane , la intersecția unei linii cu o coloană
aflându -se o celulă . Controlul care indică existența în documentul
HTML a unui tabel este format din perechea <table>, </table> între
care sunt indicate componentele tabelului. Pe rând, sunt descrise
fiecare linie, aflată între perechea <tr>, </tr> iar în cadrul fiecărei linii
sunt indicate coloanele, între controalele <td> și </td>.
De exemplu, un tabel simplu cu două linii și două coloane poate
fi reprezentat astfel:
<table>
<tr>
<td>Prima linie, prima coloana</td>
<td>Prima linie, a doua coloana</td>
</tr>
<tr>
<td>A doua linie, prima coloana</td>
<td>A doua linie, a doua coloana</td>
UNIVERSITATEA DE VEST TIMISOARA 201 2
25
</tr>
</table>
La vizualizarea acestui exemplu, în pagina web nu pare a fi
construit un tabel. Aceasta se datorează lipsei liniilor care delimitează
celulele între ele, ceea ce poate fi corectat prin indicarea în controlul
table a atributului border=număr atribut care controlează grosimea
liniei de delimitare. Linia de delimitare are o culoare implicită, dar
utilizatorul poate cere o anumită culoare prin atributul
bordercolor=culoare.
De asemenea, utilizatorul poate indica o anumită culoare pentru
zona neumbrită din bordura tabelului, folosind atributul
bordercolorlight=culoare sau, mai mult, utilizatorul poate cere o
anumită culoare pentru efectul de umbrire prin atributul
bordercolodark=culoare.
Prin folosirea acestei li nii de delimitare, celulele care conțin text
(sau imagini, hiperlegături etc.) sunt delimitate între ele dar apare
posibilitatea ca textul (sau imaginile) să fie prea apropiate de linia
delimitatoare, caz în care se poate cere un spațiu suplimentar folosin d
atributul cellpadding=număr. O altă posibilitate de a mări suprafața
tabelului este aceea de a distanța celulele între ele, prin utilizarea
atriburului cellspacing=număr.
Între primele controale prezentate au fost cele legate de alegerea
culorilor funda lului și textului, în întreg documentul. Tabelele permit o
modificare a acestora, valabilă numai în interiorul tabelului. Astfel, pentru
întreg tabelul, întreaga linie sau numai o celulă, culoarea fondului poate fi
modificată folosind atributul bgcolor , aplicat la nivelul controlului table , tr
sau td.
Textul, în interiorul celulelor, este aliniat automat la stânga.
Această particularitate se poate modifica prin atributul align (cu
valorile left, center sau right ), aplicat pentru întreaga linie sau numai o
celulă. Același atribut align se poate folosi și în controlul table , dar
atunci alinierea se face la nivelul întregului tabel, relativ la așezarea sa
în pagină.
UNIVERSITATEA DE VEST TIMISOARA 201 2
26
Controlul align face referire la alinierea textului pe orizontală;
dar, dacă două celule alăt urate conțin una puțin text iar cealaltă mult
text, înălțimea celulelor este construită astfel încât să conțină textul cel
mai lung, deci, pentru textul mai scurt, celula va avea spațiu liber pe
verticală. Pentru a controla modul cum textul este aliniat pe verticală
se folosește controlul valign , similar lui align, cu variantele top,
middle sau bottom.
Editoarele de text, referitor la utilizarea tabelelor, permit
operația de concatenare a celulelor, adică unirea mai multor celule
aflate pe aceeași linie sa u aceeași coloană. Această operație se reflectă
în paginile web prin utilizarea atributelor colspan (pentru unirea mai
multor coloane) respectiv rowspan (pentru unirea mai multor linii) în
controlul td.
Dimensionarea celulelor (și, implicit, a întregului tabel) se face
în mod automat funcție de dimensiunea textului înscris (sau a
celorlalte elemente incluse). Lățimea întregului tabel se poate stabili
prin controlul width aplicat în controlul table , exprimarea fiind în
pixeli sau în procente față de dimensi unea ferestrei.
Lățimea poate fi controlată de utilizator și la nivelul celulelor,
prin folosirea atributului width în controlul td în care lățimea este
exprimată în pixeli, sau cu dimensiunea exprimată în procent față de
lățimea tabelului.
În mod similar poate fi indicată explicit și înălțimea: pentru întreg
tabelul, ea poate fi exprimată în pixeli sau în procente din înălțimea
ferestrei, prin atributul height aplicat în controlul table.
Similar, dimensiunea unei celule poate fi exprimată în pixeli sau
procente din înălțimea tabelului, prin atributul height în controlul tr
sau td.
1.8. UTILIZAREA CADRELOR ÎN HTML
Dacă în aceeași pagină web se dorește afișarea simultană a unui
număr mare de informații, fereastra se poate împărți în mai multe zone
UNIVERSITATEA DE VEST TIMISOARA 201 2
27
indepe ndente (numite cadre ) și fiecare cadru prezintă conținutul unei
alt document HTML.
De exemplu, pentru a împărți fereastra în docuă coloane, fiecare
prezentând alte informații, se poate utiliza documentul HTML:
<html>
<frameset cols=25%,*>
<frame src=pagi na2.html>
<frame src=pagina3.html>
</frameset>
</html>
în care sunt utilizate două controale:
perechea <frameset> și </frameset> care include cadrele;
controlul </frame> repetat de atâtea ori câte cadre sunt prezentate
în fereastră.
După cum se poate obs erva din exemplu, controlul </frameset>
include atributul cols care este utilizat pentru a indica mărimea
cadrelor. Această mărime este o înșiruire de valori numerice (indicând
mărimea în pixeli), procente (indicând mărimea proporțională cu
mărimea ferestr ei) sau simbolul „*” utilizat ca ultimă valoare din
înșiruire pentru a indica „mărimea rămasă”.
Dacă în controlul </frameset> se utilizează atributul cols, atunci
ecranul este împărțit într -un număr de coloane iar dimensiunile
indicate sunt lățimea cadrel or. Dacă, în schimb, se utilizează controlul
rows , atunci ecranul este împărțit pe linii și mărimile indicate sunt
înălțimile cadrelor.
În aceeași fereastră se pot realiza, simultan, atât împărțiri pe
coloane cât și pe linii. De exemplu, pentru a afișa 4 cadre, într -o
fereastră împărțită în 3 linii iar linia din mijloc împărțită în 2 coloane,
se utilizează documentul HTML:
<html>
<frameset rows=33%,33%,*>
<frame src=pagina2.html>
UNIVERSITATEA DE VEST TIMISOARA 201 2
28
<frameset cols=50%,*>
<frame src=pagina3.html>
<frame src=pagina3.html>
</frameset>
<frame src=pagina2.html>
</frameset>
</html>
în care se observă o împărțire pe 3 linii, iar în loc de indicarea numelui
fișierului pentru cea de -a doua linie se utilizează un nou control
</frameset> care arată divizarea liniei 2 în două coloane.
Dacă într -un cadru afișat pe ecran nu poate fi prezentată
întreaga informație, sunt activate în mod automat barele de defilare
corespunzătoare care permit deplasarea în fereastra (cadrul) respectiva
si vizualizarea întregului conținut.
Pe pagina web poate fi prevăzută o modalitate de a trimite un e –
mail folosind controlul mailto care va deschide un program specializat
de transmitere a mesajelor (de genul Outlook):
Pentru a colecta informații de la vizitatorii site -ului se pot
utiliza formulare (chestionar e). Acestea definesc în fereastră zone de
dialog care sunt interfața prin care datele sunt preluate, transpuse într –
o formă ușor de transmis și apoi expediate către server.
1.9. FORMULARE ÎN HTML ȘI PHP
Înainte de a vorbi despre prelucrarea datelor printr -un formular
PHP, trebuie să cunoaștem sintaxa HTML pentru crearea unui
formular. Un formular este delimitat de elementul FORM care conține
alte câteva controale, care au o varietate de metode de a aduna
informații. Fiecare element din formular are un nume și o valoare,
astfel încât datele transferate pentru procesare să fie sub forma unor
perechi nume/valoare.
Elementul FORM
UNIVERSITATEA DE VEST TIMISOARA 201 2
29
<form [action=url] [method=get/post] [enctype=MIMEType]
[onsubmit=script] [onreset=script] [acceptcharset=set_caractere]
[core] [int ernational] [events]>
…Elementele formularului…
</form>
Elementul INPUT
<input
[type=text|password|checkbox|radio|submit|image|reset|button|hidden|f
ile] [name=nume]
[value=valoare] [checked] [disabled] [readonly] [size=latime]
[maxlength=cuvinte_maxim e] [src=url]
[alt=altText] [usemap=url] [align=left|center|right|justify]
[tabindex=numar] [accesskey=keyCombo]
[onfocus=script] [onblur=script] [onselect=script] [onchange=script]
[accept=set_caractere] [core] [international]
[events]>
Acest element inpu t este cel mai important in utilizarea formularelor.
Explicarea valorilor Type ale elementului INPUT
button -Butoane personale
-Exemplu: <input type=”submit” name=”Buton”
value=”Buton”>
checkbox -Casete de validare
-Exemplu: <input type=”checkbo x” name=”nume”
value=”valoare”>
file -Fisiere incluse
-Exemplu: <input type=”file” name=”nume”
value=”valoare”>
hidden -Elemente ascunse
UNIVERSITATEA DE VEST TIMISOARA 201 2
30
-Exemplu: <input type=”hidden” name=”nume”
value=”valoare”>
image -Imagini
-Exemplu: <input type=”image” nam e=”Buton”
src=”poza_buton.gif”>
password -Casete de introducere a parolei
-<input type=”password” name=”nume”
value=”valoare”>
radio -Butoane radio
-Exemplu: <input type=”radio” name=”nume”
value=”valoare”>
reset -Buton reset
-Exemplu: <input type=”reset” name=”Reseteaza”
value=”Reseteaza”>
submit -Buton trimite
-Exemplu: <input type=”button” name=”Trimite”
value=”Trimite”>
text -Caseta text
-Exemplu: <input type=”text” name=”nume”
value=”valoare”>
Elementul SELECT
Acest element est e folosit pentru crearea unei liste de opțiuni, fie ca
un meniu care se desfășoară, fie ca o casetă cu listă. Fiecare din
opțiunile din listă reprezintă un element OPTION.
<select [name=nume] [size=latime] [multiple] [disabled]
[tabindex=numar] [onfocus=s cript] [onblur=script][onchange=script]
[core] [international] [events]>
UNIVERSITATEA DE VEST TIMISOARA 201 2
31
…Elementele din select…
</select>
<option [selected] [disabled] [value=valoare] [core] [international]
[events]>Nume</option>
Elementul TEXTAREA
Acest element este asemănător cu cel text numai că aici se poate tasta
într-o secțiune mult mai mare decât în cazul text.
<textarea [name=nume] [rows=nr_randuri] [cols=nr_coloane]
[disabled] [readonly] [tabindex=numar][onfocus=script]
[onblur=script] [onselect=script] [onchange=script] [c ore]
[international] [events]</textarea>
BAZE DE DATE ȘI SISTEME DE
GESTIUNE A BAZELOR DE DATE.
MySQL
1.10. CONSIDERAȚII GENERALE
Un sistem de gestiune a bazelor de date (SGBD ) este un
sistem informatic (un pachet de programe) specializat în stocarea ș i
prelucrarea unui volum mare de date, cărora li se aplică puține
operații. SGBD manipulează date critice pentru utilizatori, date cu
durată de viață mare (mai mare decât durata de viață a limbajului în
care sunt scrise procedurile de lucru), deci date per sistente, și trebuie
să rezolve în principal definirea unei baze de date ( BD), încărcarea,
actualizarea ei prin adăugare, modificare sau ștergere, și consultarea
BD ([5, 6, 7, 8, 9, 10, 11, 12]).
De la SGBD monoutilizator , la care utilizatorul avea acces la
datele de pe calculatorul său, de unul singur, progresul tehnic a adus
SGBD multiutilizator , în care la aceleași informații au acces simultan
mai mulți utilizatori, fără ca operațiile efectuate de către aceștia,
uneori opuse (cum este cazul în care un u tilizator scrie într -o
UNIVERSITATEA DE VEST TIMISOARA 201 2
32
înregistrare care tocmai este citită de alt utilizator), să conducă la
situații nedorite. Iar când s -a folosit și alt avantaj oferit de SGBD
multiutilizator, anume exploatarea sa pe o rețea de calculatoare,
utilizatorii s -au putut af la la distanță mare față de localizarea fizică a
BD, de unde cu un calculator modest au acces la resursele serverului
puternic, cu performanțe de memorare și procesare deosebite.
Tot progresul tehnic a adus SGBD distribuite (SGBDD ),
acelea în care BD (num ite acum BD distribuite , BDD ) nu mai este
păstrată fizic pe un singur calculator din rețea, ci părți ale BD sunt
memorate pe diferite calculatoare, de unde utilizatorul poate avea
acces fie la informațiile locale – cu un timp de acces redus -, fie la
întreaga BD, așa cum de fapt utilizatorul și vede din punct de vedere
logic că aceasta ar exista.
Dacă inițial BD erau simple tabele, apariția BD relaționale
(BDR ) a oferit posibilitatea ca tabelele să fie legate între ele: o BDR
este formată din mai multe fiș iere între care se stabilesc anumite
relații. Pachetul de programe ce exploatează BDR a fost numit în mod
evident SGBD relațional (SGBDR ). Acest model de BD a dus la
crearea unui limbaj de interogare a BD specializat, numit
Structured Query Language (SQL ). Acest limbaj permite accesul la
BD (adică vizualizarea ei, adăugarea, modificarea, ștergerea de
înregistrări) prin declarații sau interogări, utilizând programe
componente ale SGBD. Care este cel mai adecvat program pentru
rezolvarea unei anumite cereri, aceasta este întrebarea la care
răspunsul se dă funcție de modul de memorare a datelor, de existența
fișierelor index, de tabelele interne pe care SGBD le construiește
pentru a releva distribuția datelor în BD, tabele actualizate dinamic.
Astfel, SQL va f i mult mai performant decât orice compilator al
unui limbaj clasic de programare: compilatorul poate mări
performanțele sistemului cu câteva procente, în timp ce SQL le
mărește de 10, 100, 1000 ori. În schimb, nu orice problemă
rezolvabilă de limbajele cla sice de programare își găsește rezolvarea
în SQL.
La sfârșitul anilor '70 au apărut BD funcționale (BDF ), în care
BD nu conțin date ci funcții memorate, utilizate pentru descrierea
UNIVERSITATEA DE VEST TIMISOARA 201 2
33
informațiilor și pentru exprimarea diferitelor relații între acestea. Ele
se deosebesc de BDR prin aceea că permit exprimarea informațiilor
dintr -un câmp atât prin valori explicite cât și prin pointeri către alte
informații, ceea ce înseamnă de fapt o altă funcție, deci apare
conceptul de compunere a funcțiilor, care este simila rul conceptului de
relație de la BDR.
În anii '80 a fost elaborat un alt concept privind gestionarea
informațiilor, și anume acela al BD inteligente (BDI), dintre care cele
mai reprezentative sunt BD deductive (BDDe ). BDI manipulează
cantități mari de dat e din surse diferite (text, imagine, sunet), aduse la
formă digitală. Acestea necesită dispozitive speciale pentru
introducerea sau extragerea datelor: scanner, plotter, sintetizator de
voce, imprimantă cu jet de cerneală sau laser. Specifice acestor SGBD
sunt facilitățile de raționament automat, plus cele de interacțiune cu
utilizatorul, în special asistarea acestuia în timpul definirii și modelării
datelor.
SQL, prezentat anterior, a fost creat pentru a interoga BD care
au în structura lor numai informaț ii simple: coduri, denumiri, cantități,
prețuri, tarife, etc. Pentru a putea lucra cu informații complexe, s -a
impus un model de lucru care utilizează programarea orientată spre
obiecte (POO ). Aceasta a fost creată în anii '80 pentru a modela date
complexe iar la începutul anilor '90 s -a implementat și în lucrul cu
BD, astfel fiind create SGBD orientate spre obiecte (SGBDOO ),
care nu modifică partea de gestiune, memorare a datelor, în schimb
acestea nu mai sunt simple informații ci includ atât informațiile cât și
operațiile ce se pot aplica acestora. Implementarea accesului la date
pentru operațiile uzuale de adăugare, moificare, ștergere, se face prin
proceduri în limbaje de programare clasice, cum ar fi C++ sau Java .
Aceste SGBDOO trebuie să permită prelu area avantajelor SGBD
tradiționale, plus facilități legate de construirea de noi tipuri de date;
utilizarea constructorilor de tip șir, secvență, înregistrare, set,
reuniune; funcții generale și funcții recursive.
La SGBDR clasice, informațiile sunt memor ate separat de
relațiile dintre ele. La SGBDOO, obiectele și referințele între ele se
memorează împreună, de aceea tehnicile de plasare a informațiilor pe
UNIVERSITATEA DE VEST TIMISOARA 201 2
34
suportul de informație, de căutare a lor, de indexare, etc., au trebuit
regândite pentru a putea obți ne parametrii doriți de utilizator.
Nu toate SGBDOO și -au creat și proceduri de interogare a BD
ce conțin obiecte. Astfel au apărut ori s -au dezvoltat limbaje de
programare care au implementate funcții de bază ale unei SGBD,
numite limbaje persistente , cum ar fi cele din Pascal , C++ , Java ,
etc. Aceste BD au de obicei un număr redus de date însă cărora li se
aplică un algoritm de prelucrare deosebit de complex.
În același timp, interogarea BD s -a complicat prin lărgirea
clasei de informații ce se păstreaz ă în BD; când acestea au început să
memoreze, pe lângă informațiile alfabetice, numerice sau logice, și
altele ca imagini sau sunete, tehnicile de interogare s -au dovedit
ineficiente deoarece nu puteau pătrunde în interiorul mesajului
memorat. Dacă primele informații au o structură regulată, cu fișiere ce
conțin înregistrări în format fix, noile informații au structură
neregulată, în format nestandard, și deci nu mai pot fi prelucrate cu
aceiași algoritmi.
A apărut astfel modelul de date semistructurat , în care
structura inițială a datelor, indicată la creare, nu este respectată de
toate înregistrările: unele au câmpuri în plus, altele nu au toate
câmpurile, altele nu respectă tipul inițial al câmpului. Aceste date
semi -structurate conțin în diversele câmpu ri nu numai valorile
respectivei informații, ci și descrierea câmpului respectiv. Principalele
aplicații ale datelor semistructurate sunt constituite de navigarea prin
web-uri, culegerea de date din diverse site -uri având fiecare alt format
al informației ce ne este pusă la dispoziție.
Dar aceste interogări ale unor BD cu structuri diverse presupun
de obicei și existența informației pe calculatoare diferite, legate între
ele pentru a alcătui noutatea informatică cea mai mare a acestui sfârșit
de secol, Internet -ul. Și aici regăsim un alt concept al SGBD, despre
care am menționat mai înainte, acela al SGBDD, utilizând BD ce
există fizic pe o rețea de calculatoare și sunt logic interconectate între
ele. Pentru utilizator, această scindare trebuie să fie trans parentă și
oferă avantaje suplimentare cum ar fi ușurința în manipularea datelor
locale, accesul la mai multe informații decât ar putea memora
UNIVERSITATEA DE VEST TIMISOARA 201 2
35
calculatorul local, prevenirea pierderii tuturor informațiilor în cazul
unor căderi ale echipamentului.
Probleme le ce se pun în crearea și utilizarea BDD sunt legate de
plasarea datelor și programelor în rețea. Datele se pot păstra:
în colecții disjuncte astfel încât pe fiecare calculator să existe alte
informații;
prin multiplicarea întregii BD pe fiecare calculato r;
o variantă intermediară, în care întreaga BD sau doar o parte a ei se
păstrează pe unele calculatoare din rețea.
Atunci programele, ce sunt păstrate pe fiecare calculator în
parte, vor trebui să rezolve probleme diferite:
modificarea numai a datelor de pe calculatorul propriu, dacă ele
există numai aici;
modificarea datelor de pe calculatorul propriu, urmată de
modificarea corespunzătoare și pe celelalte calculatoare ce conțin
copii ale acestor date.
În plus, pentru accesul la informații, SGBDD trebui e să rezolve
întâi problema localizării datelor (a calculatorului care le conține, iar
dacă sunt mai multe calculatoare, atunci a celui mai apropiat) și apoi
să treacă la procesarea lor. Iar utilizarea datelor se poată face fie în
mod local, dacă operațiil e ce se execută nu presupun accesul la date de
pe alte calculatoare, fie în mod rețea, când intervin date de pe două
sau mai multe calculatoare din rețea. Iar aceste operații și modul cum
SGBDD le execută trebuie să fie transparente pentru utilizator.
Este de așteptat ca în viitorul apropiat aceste BDD să treacă și
ele de la manipularea datelor simple la BD de cunoștințe și la BDO.
Așadar, SGBD sunt programe specializate în prelucrarea unui
volum mare de date, asupra cărora se efectuează un număr relativ
redus de prelucrări. În această definiție, noțiunea de BD însumează
datele de prelucrat și modul în care acestea sunt organizate pe suportul
tehnic de informație; noțiunea de gestiune se referă la acțiunile de
memorare și prelucrare a datelor.
Principalel e funcții pe care un SGBD trebuie să le asigure sunt
([8, 9, 10, 11]):
definirea BD (alegerea structurii);
UNIVERSITATEA DE VEST TIMISOARA 201 2
36
introducerea datelor (adăugarea de noi informații);
modificarea datelor (modificarea unor informații);
ștergerea datelor (eliminarea unor informații) ;
interogarea BD (obținerea anumitor informații);
generarea de rapoarte (situații, liste cu informații);
organizări speciale ale BD (indexarea bazei după anumite
informații, filtrarea bazei după anumite informații).
BD (și deci SGBD) se pot clasifica :
după numărul utilizatorilor :
-BD monoutilizator , în care fiecare utilizator exploatează
propria sa BD;
-BD multiutilizator , în care mai mulți utilizatori folosesc
simultan aceeași BD;
după răspândirea geografică :
-BD locale , create pe un singur calculator;
-BD distribuite , create pe mai multe calculatoare legate între
ele și care formează un singur ansamblu d.p.d.v. logic.
Din punct de vedere al utilizatorului, multe dintre facilități sunt
transparente și, în plus, pentru a veni în sprijinul utilizatorilor
nespecialiști, s -au creat utilitare încorporate în SGBD care înlocuiesc
programarea propriu -zisă cu apelarea acestor utilitare.
1.11. BAZE DE DATE RELAȚIONALE
Îmbunătățirile cele mai apropiate de dorințele utilizatorilor în
domeniul SGBD sunt crearea BDR și metodele de interogare a BD.
Așa cum s -a prezentat în paragraful anterior, SGBDR sunt
SGBD clasice care oferă în plus posibilitatea de a realiza legături între
două sau mai multe BD, care să permită accesarea simultană a unor
informații care se află î n BD diferite, dar care se află într -o anumită
relație.
Prin aceasta, utilizatorul este eliberat de sarcina de a căuta în
toate BD pentru a găsi datele necesare, operația fiind executată
UNIVERSITATEA DE VEST TIMISOARA 201 2
37
automat de către SGBD. Sarcina programatorului rămâne aceea de a
stabili și programa relațiile dintre BD.
Tehnicile de interogare a BD, nou apărute, cum ar fi de
exemplu SQL, permit extragerea de informații din BD fără descrierea
algoritmului de selectare a datelor, ci doar prin descrierea completă a
datelor problemei, ur mând ca SGBD să rezolve problema selectării
doar a informațiilor necesare.
O BDR simplă este organizată sub forma unui tabel, în care
coloanele se numesc câmpuri (ale BD) iar liniile se numesc
înregistrări (ale BD); capul de tabel reprezintă structura BD.
Un câmp al BD este caracterizat de:
nume , un șir de max.10 caractere reprezentând numele sub care
respectivul câmp va fi identificat în timpul operațiunilor asupra
BD;
tip, reprezentând modul în care informația se memorează în BD;
poate lua una din urmă toarele valori:
-character , prescurtat C, pentru șiruri de caractere;
-numeric , prescurtat N, pentru valori numerice;
-date, prescurtat D, pentru valori de tip dată calendaristică;
-logical , prescurtat L, pentru valori booleene;
-float , prescurtat F, pentru valori numerice reale reprezentate în
virgulă mobilă;
-picture , prescurtat P, pentru imagini;
-memo , prescurtat M, pentru texte de lungime variabilă;
-general , prescu rtată G, pentru informații de alt tip, cel mai
adesea des ene, imagini, audio sau
video etc.
lungime , reprezentând numărul maxim de caractere (litere sau
cifre) care pot alcătui valoarea câmpului respectiv;
număr de zecimale , acolo unde este cazul, reprezentând numărul
maxim de cifre după virgulă care pot apărea la valoarea câmpului
respectiv.
După specificarea informațiilor despre structura BD se poate
trece la încărcarea BD , operație ce constă în introducerea de
informații; actualizarea BD , care poate urma, constă în modificarea
UNIVERSITATEA DE VEST TIMISOARA 201 2
38
unor informații deja introduse sau adăugarea unora noi sau ștergerea
de înregistrări; exploatarea BD constă în obținerea de informații
necesare.
Modul de lucru cu o BD este următorul: BD dorită este
deschisă, se efectuează operațiile necesare, apoi la încheierea lucrului
aceasta se închide.
Operația de desch idere a BD constă în atribuirea de către SGBD
a unei zone de memorie numită zonă de lucru , în care se memorează
informațiile necesare manipulării BD, adică locul unde se află BD,
volumul BD, etc.
SGBD moderne permit lucrul simultan cu mai multe BD, ceea
ce revine la a utiliza mai multe zone de lucru, controlul acestora
revenind utilizatorului prin funcții specifice.
Când se utilizează mai multe BD simultan, se poate aplica
tehnica de lucru relațională, care constă în stabilirea de relații între
înregistră rile bazelor utilizate, și astfel orice modificare asupra
indicatorului de înregistrări al unei dintre baze va determina automat
mutarea indicatorului celeilalte baze pe câmpul care se află în relație
cu cel al primei baze.
Informațiile din baza de date po t fi însă și ordonate după
anumite criterii, prin sortare (BD se înlocuiește fizic cu alta având
același conținut dar în altă ordine) sau indexare (se mai creează un
fișier numit fișier index care conține doar informații despre ordinea
informațiilor din BD .
Închiderea BD presupune desfacerea legăturii între BD și zona
de lucru, salvarea pe disc a modificărilor operate și eliberarea zonei de
lucru.
1.12. BAZE DE DATE MySQL
Acesta este modul în care o bază de date lucrează cu un server:
UNIVERSITATEA DE VEST TIMISOARA 201 2
39
Fig. 2.1. Acces area serverului de baye de date MySQL
Accesul ușor la o bază de date se poate face utilizând
phpMyAdmin, un pachet de scripturi php care ajută la gestionarea
bazei de date folosind o interfață web. Acesta are o interfață cu
utilizatorul ca în figura 2.2.
Fig. 2.2. Utilitarul phpMyAd min
După instalarea utilitarului (el se găsește gratuit pe Internet), se
poate trece la construirea bazei de date, coloana vertebrala a unui site
dinamic. Ea este alcătuită din tabele care, la rândul lor, sunt formate
din înregistrări dispuse în câmpuri. Cele mai folosite tipuri sunt:
Tipuri numerice:
UNIVERSITATEA DE VEST TIMISOARA 201 2
40
INT – Stocare 4 octeți
BIGINT – Stocare 64 biți
Tipuri șir:
CHAR – Interval 1 -255 caractere
VARCHAR – Interval 1 -255 caractere
Tipuri text:
TEXT – Lungime maximă de caractere 6 5.535
LONGTEXT – Lungime maximă de caractere 4.294.967.295
CAPITOLUL II
2.1. NOȚIUNI GENERALE
Pentru buna funcționare a aplicației, trebuie ca soft -urile PHP,
MySQL și Apache să fie instalate, iar server -ul MySQL și Apache să
fie pornite. După aceea a vem nevoie de un editor de texte.
Pentru a putea concepe o astfel de aplicație, am studiat sistemul de
gestiune al unui hotel in special partea de rezervari si administrare
camere si clienți.
2.2. DATE DE INTRARE
Următorul pas în realizarea unei astfel de aplicații este crearea
bazei de date necesară stocării datelor, după care cu ajutor limbajului
PHP vom prelucra datele pentru a obține ceea ce dorim. Baza de date
a fost creată cu ajutorul utilitarului PHPMyAdmin .
În construirea unei baze de date treb uie urmărit un proces de
identificare și organizare a coloanelor, gruparea coloanelor în tabele
(entități) și stabilirea relațiilor dintre acestea. Tipul de bază de date
folosit la creearea aplicației este unul relațional ; este cel mai potrivit
tip de baz ă de date pentru o aplicație de acest fel (fig. 4).
În această etapă am stabilit că tabelele aferente bazei de date
UNIVERSITATEA DE VEST TIMISOARA 201 2
41
sunt:
Fig 2.1 . Baza de date
Tabela pentru evidența clienților: CLIENTI
1 IDCL INT conține identificatorul clientului , cheie pr imară,
autoincrement
2 NUME VARCHAR conține numele clientului
3 EMAIL VARCHAR conține emailul
4 TELEFON VARCHAR conține numarul de telefon
5 NOTE TEXT conține notițe despre client
Tabela pentru evidența rezervarilor: REZERVARI
1 ID INT conține identificatorul unic , cheie primară,
autoincrement
2 ID_CLIENT INT conține identificatorul clientului
3 STARTDATE DATE data de inceput a rezervarii
4 ENDDATE DATE data cand se termina rezervarea
5 REZDATE DATE momentul adaugarii
6 PRET INT pretul total al rezervarii
7 PERSOANE INT numarul de persoane pentru rezervare
Tabela pentru evidența camerelor: CAMERE
1 IDC INT conține identificatorul camerei , cheie primară,
autoincrement
2 TIP VARCHAR conține numele camerei
3 NR_CAM INT conține numarul de camere existente in hotel
4 PERSOANE INT conține numarul de persoane pe camera
5 PRET INT conține pretul camerei
Tabela de legatura dintre camere si rezervari : REZ_CAM
UNIVERSITATEA DE VEST TIMISOARA 201 2
42
1 IDR INT conține identificatorul camerei , cheie pr imară,
autoincrement
2 ID_CAM INT conține identificatorul camerei
3 ID_RES INT conține identificatorul rezervarii
4 LUAT INT conține numarul de persoane rezervate pe
camera
2.3. Configurarea aplicatiei
Vom avea mai multe fișiere sursă și deoarece vom avea nevoie ȋn
permanența de conexiune la baza de date iar aceasta trebuie făcută în
fiecare fișier, vom construi un script config. inc prin care vom realiza
cele mentionate mai sus .
Fisierul config. inc asigură conectatea la baza de date și este de
forma:
<?php
error_reporting(E_ALL ^ E_NOTICE);
$localhost = "localhost";
$dbtable = "hotel";
$dbuser = "root";
$dbpass = "";
$con = mysql_connect("$localhost","$dbuser","$dbpass")
or error_message();
$db = mysql_select_db("$dbtable", $con)
or error_message();
?>
unde:
$localhost este calea sper baza de date;
$dbtable este numele bazei de date ce urmeazǎ a fi folositǎ;
$dbuser reprezinta numele utilizatorului;
$dbpass reprezinta parola bazei de date;
Includerea în fiecare fișier, acolo unde este nevoie de
conectarea la baza de date, se va face cu una din comenzile:
include(‘nume_fișier’) ;
require(‘nume_fișier’);
UNIVERSITATEA DE VEST TIMISOARA 201 2
43
Funcții de manipulare a bazei de date
Extragerea datelor din baza de d ate se face cu secvențe SQL, iar
aceste date, pentru a putea fi manipulate, trebuie mai întâi prelucrate.
Cele mai folosite funcții de prelucrare a datelor din baza de date sunt:
mysql_query() – face legătura între interogarea pe care o
primește ca paramet ru și baza de date, respectiv server -ul
MySql.
mysql _num_rows() – returnează numărul de înregistrări
rezultate în urma interogării.
mysql_fetch_array() – preia datele returnate de interogare,
linie cu linie (această comandă trebuie apelată pentru fiecare
linie a interogării, într -un ciclu)
mysql_num_fields() – returnează numărul de coloane ale unei
interogări.
mysql_field_name() – returnează numele coloanei de pe
poziția specificată dintr -o interogare.
Alte elemente des utilizate:
isset() – returnează fals dacă parametrul are valoarea 0 sau nul
și adevărat altfel.
empty() – este inversa funcției isset() ;
foreach($tablou as $cheie => $valoare) – este folosită pentru
parcurgerea iterativă a unui tablou non -secvențial. În cazul dat
parcurge tabloul $tablou stab ilind valorile adecvate pentru
$cheie și $valoare aferente fiecărui element al tabloului
(parcurge toate elementele unui tablou, fără a -i specifica
dimensiunea).
Aranjarea in sistem framework a fisierelor face navigarea mai usoara
si modul de functionare a scriptului dupa cum urmeaza :
UNIVERSITATEA DE VEST TIMISOARA 201 2
44
Fig 2.2 Sructura fisierelor
ACTION : in acest folder sunt tinute toate fisierele ce fac
introduceri in baza de date .Toate aceste fisiere include fisierul de
conectare la baza de date din directorul include/config.inc
FRONTEND : partea de rezervare ce se poate lega unui
eventual web -site .
PAGES : aici se gasesc fisierele de afisare . Toate aceste fisiere
sunt afisate in partea din dreapta a fisierului admin.php prin valoare
„ac” luata prin $_GET . De exemplu afisarea pa ginii de start este
defapt …/admin.php?ac=start .
UNIVERSITATEA DE VEST TIMISOARA 201 2
45
STYLE : aici se gasesc fisierele ce au „grija” de aspectul
paginilor.
2.4 Prezentarea aplicatiei
Aplicația informatică rulează pe un calculator personal sub
orice sistem de operare din familia Windo ws. Pornirea aplicației se
face lansând aplicația Internet Explorer (sau alt browser, recomandat
Mozilla) și scriind în linia de adresă “localhost/ hotel /”. Ca urmare a
acestei acțiuni, pe monitor va apare primul ecran al aplicației care este
pagina de log are (fișierul index.php ). Aici utilizatorul este invitat să
introducă numele său de utilizator și parola aferentă . Logarea
utilizatorului la aplicațe este asigurată de funcția
$_SERVER[HTTP_AUTH_USER] aceasta ȋnsemnȃnd ca
autentificarea se face pe header . Dacă nu sunt introduse un nume și o
parolă validă, utilizatorul nu va putea să se logeze in aplicați e.
O data ce utilizatorul este autentificatii ca aparea prima pagina
in care va avea meniul pe partea stanga si un calendar cu luna in curs.
Fig.2.3 Pr ima pagina
Din aceasta pagina utilizatorul poate naviga pe paginile de
rezervare, de adaugare camera si de optiuni :
UNIVERSITATEA DE VEST TIMISOARA 201 2
46
Rezervari:
Vizualizeaza – vedere generala aspura tuturor
rezervarilor efectuate.
Adauga – adauga o rezervare in functie de datele stabili te
si numarul de persoane.
Gaseste – afiseaza rezervarile in functie de anumite date
Camere:
Vizualizeaza – afiseaza camerele hotelului
Adauga – adauga camere in hotel
Optiuni:
Preview – script ce se poate folosi in interiorul unui viitor
website
Iesire – iesirea din aplicatie.
2.4.1Adauga rezervari:
Fig.2.4 Pagina de adaugare rezervari
1. Faceti clic pe butonul Adauga din sectiunea rezervari:
2. In casuța incepand din alegeti data de cand doriti sa faceti
rezervarea
UNIVERSITATEA DE VEST TIMISOARA 201 2
47
3. In casuța Terminat in alegeți data in care doriti sa parasiti
hotelul
4. La Persoane alegeti in lista verticala numarul de locuri pe
care ati vrea sa le rezervați.
5. Faceti click pe butonul gasește.
Se cauta in baza de date datele si numarul de locuri disponibile si se
afiseaza fereastra de reze rvari:
Fig.2.5 Continuare inregistrare rezervare
Dupa cum se vede datele si numarul de persoane se pastreaza si
se continua cu afisarea celorlalte date necesare:
1. Alegeti tipul de camera selectand din lista verticala
numarul de camere pe care vreiti sa l e luati in functie de
numarul lor disponibile . Daca nu mai exista camere
disponibile se va afisa 0 .
2. Introduceti numele in cȃmpul Nume;
3. Introduceti adresa de email;
4. Introduceti numarul de telefon;
UNIVERSITATEA DE VEST TIMISOARA 201 2
48
5. Introduceti notite referitoare la client;
6. Apasati butonul adauga . Acum datele s -au adaugat in
baza de date .
2.4.2 Vizua lizare rezervari
Fig.2.6 Vizualizare rezervari
In aceasta pagina se pot vizualiza toate rezervarile efectuate
organizate ȋntr -un tablel de forma :
1. Din-Pana – afiseaza datele de cand pana cand s -a facut
rezervarea
2. Client – numele si adresa de email a clientului
3. Camere – numarulsi tulu camerelor rezervate
4. Pret – pretul final al rezervari.
UNIVERSITATEA DE VEST TIMISOARA 201 2
49
2.4.3 Pagina de cautare :
Fig.2.7 Cautare
In pagina de cautare puteti vedea rezervarile ef ectuare intre
anumite date sau inregistrate intr -o anumita zi .Aceasta optiune este
foarte eficienta in situatiile in care exita cateva sute de inregistrari in
baza de date si nu doresti sa le vezi pe toate sau de exemplu in situatii
in care doresti sa vez i comparativ cu anul trecut pe anumite perioade
numarul de rezervari .
2.4.4 Adaugare camera
In aceasta sectiune puteti introduce si modifica tipurile de camer
existente in hotel
1. Tipul camerei – introduceti numele camerei pe care vrei sa il
afisati
UNIVERSITATEA DE VEST TIMISOARA 201 2
50
2. Num arul de camere – se refera la numarul de camere existente
in hotel de acest tip
3. Cate persoane – se refera la numarul de persoane care pot fi
cazate intr -o camera de tipul ales
4. Pret – este pretul unei camere .
Faceti clic pe Adauga camera si veti gasi ca mera la sectiunea
camere optiunea vizualizeaza.
Fig.2.8 Adaugare camera
Fig.2.9 Vizualizare camere
UNIVERSITATEA DE VEST TIMISOARA 201 2
51
CONCLUZII ȘI PROPUNERI
Aplicația pe care lucrarea o prezintă este realizată pentru a
exemplifica modul de i ntegrare între informatica si gestiun ea unui
hotel , între utilizarea calculatoru lui și urmărirea activității unu i hotel .
Camerele reprezinta numarul real al camerelor organizate pe tipuri.
Aplicația permite gestionarea unui număr oricât de mare de
date. Acestea sunt păstrate pe întreaga perio adă cât aplicația este
utilizată, constituind la nevoie o istorie a hotelului .
Aplicația este accesibilă de pe orice calculator conectat la
Internet. Modificările pe care le va suferi în ciclul său de viață privesc
actualizările periodice ale software -ului; ele ar putea impune la rândul
lor modificări în script sau în bazele de date
Se poate concluziona că utilizarea acestei aplicații ușurează
modul de actualizare, evidență, calcul și urmărire a gestiunii unui
hotel de orice tip . Prin utilizarea ei, aplic ația dă un plus de siguranță,
de calitate și aspect unei laturi a activității unității care este deosebit
de importantă atât pentru hotel cât și pentru relațiile sale cu meniul
economic în care își desfășoară activitatea.
UNIVERSITATEA DE VEST TIMISOARA 201 2
52
BIBLIOGRAFIE
1. Despi i., Petrov G., Reisz R., Stepan A.; Teoria generală
a bazelor de date, Editura Mirton, Timișoara, 1999/2000
2. Connolly T., Begg C.; Databases Systems, A practical
approach to Design Implementation and Management,
Adison Wesley, 2001
3. Stepan A., Petrov G., Iordan V. – Fundamentele
proiectarii si realizarii sistemelor informatice, Ed. Mirton,
Timisoara, 1995 Anghel T. – Dezvoltarea
aplicațiilor WEB folosind XHTML, PHP și MySQL ,
Editura Polirom, Iași, 2005
4. Bârsan C. – Societățile comerciale , București, editura
Șansa , 1993
3. Traian Anghel – Dezvoltarea aplicațiilor WEB folosind
HTML, PHP și MySQL, Editura
Polirom, Iași, 2005;
4. Buraga S. – Aplica ții Web la cheie , Editura Polirom,
Iași, 2003
5. Fotache, M. -SQL. Dialecte DB2, Oracle, Vis ual FoxPro ,
Iași, Editura Polirom, 2001
6. Lacrămă, D.L., -Baze de date. MySQL în aplicații
comerciale ,
Karnyanszky, T.M., Timișoara, Editura Mrton, 2004
Deac, Maria
7. Welling L., – Dezvoltarea aplicațiilor Web cu PHP și
MySQL , Editura Teora,
Thomson Laura București, 2005
UNIVERSITATEA DE VEST TIMISOARA 201 2
53
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: INTRODUCERE ………………………………………………………………………. 4 CAPITOLUL I …………………………. [627117] (ID: 627117)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
