Analiza Comparativa a Unor Website Uri de Turism Cazare

Cuprins

Cuprins

Introducere

Capitolul 1. Descrierea domeniului și produsele software existente pe piață

1.1. Descrierea activității în turism

1.1.2. Importanța dezvoltării regionale și de ansamblu a turismului României

1.2. Produsele existente în domeniu

1.2.1. Exemple website-uri existente în domeniu

1.2.2. Analiză comparativă a unor website-uri de turism-cazare

Capitolul 2. Metode și instrumente utilizate în realizarea aplicației

2.1. Descrierea platformei software utilizate

2.2. Despre Internet

2.3. Noțiuni de HTML

2.4. CSS (Cascade Style Sheet)

2.5. Limbajul PHP

2.6. Sistemul de baze de date MySQL

2.7. Serverul Apache

2.8. Limbajul de programare JavaScript

2.9. Aplicația Macromedia Fireworks

2.10. Aplicația Macromedia Dreamveawer

2.11. Google Maps API

Capitolul 3. Analiza, proiectarea și dezvoltarea aplicației

3.1. Descrierea cerințelor aplicației

3.1.1. Funcții generale ale aplicației

3.1.2. Arhitectura soluției

3.2. Proiectarea bazei de date

3.2.2. Tabelele

3.2.2. Relațiile dintre tabele

3.2.3. Crearea bazei de date folosind utilitarul PhpMyAdmin

3.2.4. Instalarea bazei de date

3.2.5. Introducerea datelor în bază cu utilitarul PhpMyAdmin

3.2.6. Introducerea datelor în bază cu ajutorul comenzilor SQL

Capitolul 4. Prezentarea aplicației

4.2. Împarțirea pe fișiere

4.3. Conectarea la server și la baza de date

4.4. Comenzi de conectare și lucru cu baza de date

4.5. Selectarea datelor din bază

4.6. Descrierea funcționalității fișierelor

4.5. Modulele aplicației

4.5.1. Modulul Vizualizare

4.5.2. Modulul Administrare

Concluzii

Utilitatea aplicației

Bibliografie

Anexe

Structura detaliată a tabelelor

Introducere

Datorită dezvoltării Internetului și a importanței deosebite pe care acesta o are în prezent, aplicațiile virtuale au ajuns o necesitate pentru orice companie. În acest proiect este prezentat un portal pentru prezentarea unităților de turism din România.

Sistemul de structurare ierarhizată a informațiilor va permite obținerea situațiilor centralizatoare prin rapoarte configurate în funcție de necesitățile utilizatorilor.

Sistemul obținut trebuie să fie ușor de utilizat, extensibil și să ofere perspectiva integrării WEB a informațiilor

Avantajele implementării reușite a acestui sistem sunt:

obținerea unei baze de date ce cuprinde date complete despre unități;

scurtarea timpului de lucru necesar regăsirii informațiilor dorite;

scurtarea timpului de lucru necesar pentru efectuarea operațiilor de actualizare;

accesul rapid la informații statistice;

îmbunătățirea modului de interacțiune între vizitatori și unități.

Firma de turism primește oferte de la unități de cazare din România, pe care apoi ar trebui sa le promoveze. Întrucât costurile sunt mult mai mari pentru promovarea clasică, prin ziare, televiziune sau radio, o aplicație web poate fi mult mai utilă. O facilitate importantă este ca unitățile de cazare să își expună în mod direct facilitățile pe o piață, adică un portal turistic, unde să poată fi găsite și accesate ușor de către doritori.

Pentru realizarea unui sistem informatic web sunt implicate persoane, materiale, timp etc., ceea ce implică totuși niște costuri, dar nu atât de ridicate ca în cazul cheltuielor de promovare media clasice.

Pentru realizarea unui sistem informatic eficient, trebuie avute în vedere următoarele reguli de bază, reguli care au fost deduse din practică:

abordarea modulară

eficiența economică

orientarea spre clienți (unități turistice)

orientarea spre utilizatori (prin informații cât mai complete)

asigurarea unicității introducerii datelor

cointeresarea beneficiarului la realizarea, îmbunătățirea și promovarea sistemului

posibilitatea de dezvoltare ulterioară

strategia ascendentă

Capitolul 1. Descrierea domeniului și produsele software existente pe piață

1.1. Descrierea activității în turism

1.1.1. Importanța activității turistice

Turismul este unul din cele mai dinamice ramuri economice din lume pentru că a devenit un fenomen economico-social propriu civilizației moderne, puternic ancorat în viața societății. Pe lângă rolul pe care îl are în economie, turismul are și o importanță socio umană, acțiunea sa exercitându-se asupra turiștilor, populației din zonele respective cu efecte asupra consumului, utilizării timpului liber, mediului înconjurător.

Obiectivele dezvoltării turismului sunt următoarele: mărirea atractivității și a competitivității zonelor turistice cu potențial natural și cultural prin îmbunătățirea infrastructurii; crearea de noi atracții, produse și întreprinderi în diferite zone turistice; creșterea veniturilor generate de către capacitățile turistice prin îmbunătățirea serviciilor. Măsurile ce trebuie luate pentru îndeplinirea acestor obiective sunt: dezvoltarea infrastructurii în turism, conservarea patrimoniului natural, istoric și cultural; dezvoltarea, diversificarea și promovarea ofertei turistice; îmbunătățirea serviciilor în turism. Dezvoltarea, diversificarea și promovarea ofertei turistice presupune: creșterea performanțelor firmelor care acționează în domeniul turismului prin îmbunătățirea serviciilor de informare, dezvoltarea principalelor tipuri de turism și identificare nișelor de piață; promovarea eficientă a produsului turistic prin participarea la târguri de turism, seminarii și congrese, precum și reabilitarea și promovarea turismului feroviar și turismului pentru tineret.

Dezvoltarea turismului reprezintă pentru România un obiectiv al politicii economice, avându-se în vedere efectele pozitive asupra producției, consumului, forței de muncă. Existența resurselor specifice, calitatea și cantitatea acestora, utilizarea lor în mod eficient, practicarea pe scară mai largă a dezvoltării durabile sunt elemente de care trebuie să se țină seama în elaborarea strategiilor de dezvoltare a turismului.

Dezvoltarea turismului este de o importanță crucială pentru dezvoltarea economiei pe baza potențialului ei intern. O condiție de bază pentru dezvoltarea turismului se bazează pe promovarea atracțiilor turistice care generează cerere în destinațiile turistice și pe creșterea serviciilor turistice care au un rol crucial în realizarea câștigurilor din activități turistice. Dezvoltarea turismului are un mare rol în creșterea angajării forței de muncă și constituie un suport pentru dezvoltarea mediului de afaceri pentru IMM-uri. Trebuie să ținut seama însă că această dezvoltare necesită într-o măsură susținută conservarea patrimoniului natural și cultural. Există pe piața internațională a turismului, o creștere a interesului pentru produsele turistice culturale și eco-turism și servicii bazate pe unicitate și calitate.

1.1.2. Importanța dezvoltării regionale și de ansamblu a turismului României

Regionalizarea este un concept nou pentru România, inspirat din modelele Uniunii Europene. Cadrul legislativ pentru constituirea regiunilor de dezvoltare a fost creat prin Legea 151/1998, acestea fiind considerate structuri necesare implementării politicii de dezvoltare regională. Conceptul de regionalizare consideră regiunea drept una din cele mai bune forme de organizare spațială a informației, iar regiunile funcționale sunt socotite de importanță majoră pentru procesul și obiectivele planificării dezvoltării. Regiunea de dezvoltare este un teritoriu care formează, din punct de vedere geografic, o unitate netă sau un ansamblu similar de teritorii în care există continuitate, în care populația posedă anumite elemente comune și dorește sa-și pastreze specificitatea astfel rezultată și să o dezvolte cu scopul de a stimula progresul cultural, social și economic. Inițiativelor singulare ale județelor li se va asocia promovarea unitară a regiunii. Și în această lucrare ofertele turistice ale județelor sunt integrate pentru a crea acea ofertă unitară, distinctă. Pe baza inventarului potențialului natural și antropic al Regiunii devine posibilă punerea în valoare a tuturor resurselor turistice regionale.

Turismul este considerat o pârghie de atenuare a dezechilibrelor interregionale și are ca efecte și contribuția la asigurarea circulației banești echilibrate, potențial generator de valută prin încasările provenite din turismul internațional, generator de resurse financiare prin sisteme de taxe și impozite, factor dinamizator al procesului de creștere a calitătii vieții, factor de influență și determinant în protecția mediului. Dezvoltarea turismului generează noi locuri de muncă, de atragere a forței de muncă din alte sectoare de activitate. Astfel, tot mai multe guverne au ajuns la abordarea turismului ca un subiect cheie al politicii macroeconomice, tocmai datorită efectelor sale benefice deosebite în plan economic, social și cultural. Turismul în sine nu poate fi apreciat ca o acțiune bună sau rea, pozitivă sau negativă, efectele sale depind de comportamentul celor implicați dar și de respectarea unor norme de etică.

În țara noastră turismul a avut o contribuție la formarea PIB, în anul 2005 de 1,85% iar ponderea forței de muncă angajată în turism a fost de 1,62% cu 5,81% mai mare decât în 2003. Problemele majore ale turismului românesc sunt legate de dezvoltarea și modernizarea bazei tehnico-materiale, dezvoltarea sistemului informatic, formarea managerială, îmbunătățirea calității serviciilor.Turismul stimulează și antrenează producția în alte domenii de activitate determinând dezvoltarea, modernizarea economiei și acționează ca mijloc de ”diversificare a structurii acesteia”.

Contribuția turismului la formarea PIB diferă între statele lumii depinzând în mod direct de dezvoltarea economiei țărilor respective. În țări cu tradiție în turism, cu o activitate turistică și cu o economie dezvoltată, ponderea turismului la realizarea PIB se situează în apropierea mediei mondiale (peste 12%). Adoptarea unei politici de dezvoltare turistică la nivel național implică formarea unor obiective și utilizarea eficientă a pârghiilor macroeconomice pentru acest sector. Obiectivele politicii turistice pot fi: extraeconomice (libertatea de circulație și comunicare, valorificarea potențialului natural și antropic), economice (creșterea veniturilor și a producției,ocuparea forței de muncă).

Pentru adaptarea la noile condiții impuse de turismul modern, Romania și-a construit cadrul adecvat implementării mecanismelor economice de piața și aplică metode și tehnici din managementul modern, și-a propus sporirea ariei de referința, creșterea volumului activității, diversificarea formelor de petrecere a vacanței.

Printre prioritățile dezvoltării turistice se numără: finalizarea trecerii în proprietate privată a echipamentelor turistice, recunoașterea turismului ca motor al creșterii economice, dezvoltarea și diversificarea ofertei de vacanță, utilizarea metodei durabile, formarea forței de muncă cu un nivel ridicat de pregătire profesională.

Îmbunătățirea serviciilor în turism are ca obiective specifice creșterea competitivității firmelor din domeniul turismului pe o piața europeană deschisă cu standarde de performanță ridicate; formarea unei piețe a serviciilor turistice unitare prin sistem de marketing și rezervare județean; sprijinirea parteneriatului public – privat (organizații, asociații, consultanta și activități de informare). Industria turistica româneasca este în plin proces de modernizare, dispune de o baza materiala parțial învechită și de o calitate necorespunzătoare a serviciilor. Dat fiind faptul că exigentele turiștilor sunt în continua creștere, prețurile de pe piața turistică românească sunt de asemenea în ascensiune, drept consecință ele trebuie dublate de servicii de înalta calitate. Serviciile de informare turistică sunt foarte importante pentru activitatea turistică.

1.2. Produsele existente în domeniu

1.2.1. Exemple website-uri existente în domeniu

Ca și aplicații de același gen, există numeroase website-uri, atât care cuprind numai piața română, cât și pagini internaționale, care oferă informații din întreaga lume, inclusiv din România.

D piața și aplică metode și tehnici din managementul modern, și-a propus sporirea ariei de referința, creșterea volumului activității, diversificarea formelor de petrecere a vacanței.

Printre prioritățile dezvoltării turistice se numără: finalizarea trecerii în proprietate privată a echipamentelor turistice, recunoașterea turismului ca motor al creșterii economice, dezvoltarea și diversificarea ofertei de vacanță, utilizarea metodei durabile, formarea forței de muncă cu un nivel ridicat de pregătire profesională.

Îmbunătățirea serviciilor în turism are ca obiective specifice creșterea competitivității firmelor din domeniul turismului pe o piața europeană deschisă cu standarde de performanță ridicate; formarea unei piețe a serviciilor turistice unitare prin sistem de marketing și rezervare județean; sprijinirea parteneriatului public – privat (organizații, asociații, consultanta și activități de informare). Industria turistica româneasca este în plin proces de modernizare, dispune de o baza materiala parțial învechită și de o calitate necorespunzătoare a serviciilor. Dat fiind faptul că exigentele turiștilor sunt în continua creștere, prețurile de pe piața turistică românească sunt de asemenea în ascensiune, drept consecință ele trebuie dublate de servicii de înalta calitate. Serviciile de informare turistică sunt foarte importante pentru activitatea turistică.

1.2. Produsele existente în domeniu

1.2.1. Exemple website-uri existente în domeniu

Ca și aplicații de același gen, există numeroase website-uri, atât care cuprind numai piața română, cât și pagini internaționale, care oferă informații din întreaga lume, inclusiv din România.

Dintre cele din prima categorie fac parte:

http://www.turistinfo.ro/

http://www.infoturism.ro/

http://www.ro-cazare.ro/

Pagini din străinătate care oferă informații și din România:

http://www.agoda.ro/

http://www.booking.com/?lang=ro

1.2.2. Analiză comparativă a unor website-uri de turism-cazare

În continuare vor fi prezentate comparativ câteva pagini web din domeniul turism-cazare.

http://www.turistinfo.ro/

http://www.infoturism.ro/

http://www.ro-cazare.ro/

Website-ul http://www.turistinfo.ro/

Realizator

Necunoscut

Configurație software minimă necesară

Server Apache

Limbaj de programare PHP

Baza de date MySQL

Design (prima pagină)

Website-ul http://www.infoturism.ro/

Realizator

Infoturism Media S.R.L

Adresa: Bd. Pierre de Coubertin nr.3-5, Office Building, etaj P, camera G, sector 2,

Bucuresti, Romania

Telefon: 021 / 316 94 27

Configurație software minimă necesară

Server Apache

Limbaj de programare PHP

Baza de date MySQL

Design (prima pagină)

Website-ul http://www.ro-cazare.ro/

Realizator

Necunoscut

Configurație software minimă necesară

Server Apache

Limbaj de programare PHP

Baza de date MySQL

Design (prima pagină)

Tabel comparativ

Capitolul 2. Metode și instrumente utilizate în realizarea aplicației

2.1. Descrierea platformei software utilizate

Website-ul este realizat folosind limbajele HTML și PHP și o bază de date MySQL, care este instalată pe un server Apache. Pentru aspect este folosită tehnologia CSS (Cascade Style Sheet). Harta României și prezentarea tehnologiilor utilizate pentru realizarea website-ului au fost realizate cu ajutorul produsului Macromedia Flash, iar pentru validarea unor forme a fost folosit limbajul JavaScript.

Aceste tehnologii au avantajul că sunt ușor de utilizat și gestionat, respectiv sunt majoritatea gratuite și, astfel, nu necesită un cost suplimentar pentru achiziționarea de licențe din partea companiei producătoare.

2.2. Despre Internet

Internet-ul este o grupare de diverse rețele; ARPANET (Advanced Research Projects Agency Network) a fost prima rețea experimentală WAN (Wide Area Network). ARPANET a fost înființată în 1969; acest Packet Switched Network experimental folosea Network Control Protocol (NCP). NCP a fost protocolul oficial al Internet-ului din 1970 pană în 1982 (e cunoscut și sub numele de DARPA (Defense Advanced Research Projects Agency) Internet sau ARPA Internet). La începutul anilor 80 DARPA a creat Transmission Control Protocol/Internet Protocol (TCP/IP) care a devenit protocolul oficial de azi.

Din această cauză, în 1983 ARPANet s-a separat în doua rețele, MILNET (MILitary NETwork) și ARPANET. Amândouă încă fac parte din DDN (Defense Data Network).

Expansiunea rețelelor Local Area Networks (LAN) și Wide Area Networks (WAN) a ajutat Internet-ul să conecteze peste 20.000 de rețele. Acestea includ NSFNET, MILNET, NSN, ESnet și CSnet.

Rețelele leagă împreună două până la mii de PC-uri, permițându-le să folosească în comun fișiere și alte resurse. În plus, o rețea poate centraliza gestionarea unei baze mari de date, astfel că toate operațiile cerute de coordonarea securității, salvarea de siguranță, modernizări și control se pot desfășura într-un singur loc. Lucrul în rețea a devenit atât de important pentru operațiile uzuale efectuate de calculatoarele personale, încât este inclus în noile sisteme de operare și este folosit atât acasă cât și la birou.

Structura Internet-ului a făcut posibilă nu numai distribuirea de informații “statice”, ci și existența serviciilor. De exemplu, pe baza unei cărți de credit, se pot face toate rezervările pentru petrecerea concediului de odihnă în orice țară din lume și se poate plăti utilizând calculatorul de la domiciliu.

2.3. Noțiuni de HTML

Paginile pe Internet sunt, de regulă, realizate într-un limbaj numit HTML. Editarea acestora se poate face în orice program de editare texte, inclusiv NotePad din Windows.

HTML (HyperText Markup Language) este cel mai popular limbaj al web-ului. Pagini și site-uri web sunt scrise în HTML. Cu HTML și WWW pot fi aduse în același loc texte, sunete, imagini și link-uri. Documentele HTML pot fi compuse și editate pe orice tip de calculator.

HTML-ul este “limbaj de marcare a textului”, un set de coduri speciale care se inserează într-un text, pentru a adăuga informații despre formatare și despre legături.

Scrierea documentelor HTML

După achiziționarea unui pachet de găzduire pentru site, trebuie create paginile. Este recomandată păstrarea a două copii pentru fiecare document, una pe spațiul alocat de host, iar a doua pe hard disk, astfel problemele care pot apărea (întreruperi de curent electric, pierderea conexiunii la internet) să nu afecteze website-ul în niciun fel. Se recomandă crearea unui director pe hard disk pentru a păstra documentele HTML, imaginile, fișierele audio și video ale site-ului.

Primul fișierul care se va edita este index.html. Acesta reprezintă, în general, fișierul principal al unui site internet (cel care se încarcă atunci când se introduce în browser o adresă de genul www.abc.ro): index.html, index.php, index.asp. Serverul poate fi configurat astfel încât prima pagină să se numească default. Exemple: default.html, default.php etc.

Marcarea textului se face cu ajutorul unor tag-uri (marcaje, etichete). Un tag este introdus întotdeauna între paranteze unghiulare, sub forma:

<nume_tag atribut1=”valoare1” atribut2=”valoare2” … >

Marcajele html pot avea sau nu și o formă de închidere:

</nume_tag>

Tag-urile indică browser-ului (Netscape, Internet Explorer etc) modul de prezentare a informației din pagină. Regulile de folosire ale tag-urilor nu sunt foarte stricte (nu e obligatorie scrierea unui tag pe un rând sau folosirea numai a literelor mari etc).

Structura documentelor HTML

Documentele HTML sunt fișiere ce conțin texte și care au extensia .htm, .html, .shtml. Structura lor constă în două părți, "head"-ul și "body"-ul. "Head"-ul unui document conține titlul acelui document și o scurtă descriere. În "body" se regăsește conținutul paginii.

Structura unui document HTML (exemplu):

<html>
<head>

<title>Titlul paginii</title>

</head>

<body>

conținutul paginii

text

imagini

linkuri

tabele

formulare

etc

</body>

</html>

Pentru o mai bună vizualizare, se pot lăsa spații între liniile documentului. Spațiile libere vor fi ignorate de către browser în momentul interpretării.

Tot ceea ce se află între tagurile title va reprezenta titlul documentului. Acesta va apărea în momentul vizionării documentului în partea de sus a paginii, în bara pentru titlu (în stânga butoanelor de minimalizare/maximalizare/închidere ale paginii).

World Wide Web (WWW) este o rețea de resurse informaționale. Web-ul se bazează pe trei mecanisme pentru a face aceste resurse disponibile unei audiențe cât mai mari:

Un indicator de nume fix pentru găsirea informațiilor pe Web (ex: URI).

Protocoale, pentru accesarea resurselor care se găsesc pe Web (ex: HTTP).

Hypertext, pentru navigarea facilă în multitudinea de informații (ex: HTML).

HTTP – definiție, mod de funcționare

Toate calculatoarele folosesc un standard de comunicare între ele numit HTTP (Hyper Text Transfer Protocol).

În traducere Hyper Text Transfer Protocol înseamnă un text care este direcționat către alt text sau un text care are legătură la alt text, ceea ce se și întîmplă în timpul navigării pe Internet.

Vizualizarea unei pagini web

Într-o pagină web sunt stocate informații care pot fi vizualizate pe ecranul calculatorului la o anumită adresă web.

O pagină web poate fi vizualizată cu ajutorul unui software numit Web browser, cele mai cunoscute fiind Internet Explorer, Opera, FireFox Mozilla, Safari etc.

Găzduirea paginilor web

Paginile web sunt stocate pe un calculator numit Web server. Calculatoarele care vizualizează o pagină web se numesc Web clients.

Deschiderea unei pagini de pe un Web Server cu ajutorul browser-ului

Browser-ul primește de la vizitator o cerere, care este un standard http. Cererea conține adresa paginii respective (de exemplu: http://www.nume.com/opagina.html).

Standardul web

Standardul web este stabilit de consorțiul W3C sau mai bine zis World Wide Web Consortium care dictează specificațiile pentru web.

Standarde web sunt HTML, CSS, XML, ultimul apărut este XHTML 1.0

2.4. CSS (Cascade Style Sheet)

CSS, adică prescurtarea de la Cascade Style Sheet, sunt etichete folosite pentru formatarea paginilor web (de exemplu formatare text, background sau aranjare în pagină etc.).

Beneficiile sintaxei CSS sunt:

– formatarea este introdusă într-un singur loc pentru tot documentul

– editarea rapidă a etichetelor

– datorită introducerii într-un singur loc a etichetelor se obtine o micsorare a codului paginii, implicit incarcarea mai rapidă a acesteia

Sintaxa CSS este structurată pe trei nivele:

nivelul 1 fiind proprietatile etichetelor din documentul HTML, tip inline

nivelul 2 este informatia introdusă în blocul HEAD, tip embedded

nivelul 3 este reprezentat de comenzile aflate în pagini separate, tip externe

Cea mai mare importanță (suprascrie orice alt parametru) o are sintaxă de nivelul 1 iar cea mai mică importantă o are cea de nivelul 3.

Folosirea unui fișier extern sau nivel 3 care să conțină comenzi CSS este foarte practic deoarece poate fi utilizat în mai multe situatii (mai multe fișiere HTML pot folosi acelasi fișier extern CSS) eliminand timpul necesar introducerii codului corespunzator în fiecare pagina și totodată editarea lor într-un singur loc pentru mai multe fișiere.

Extensia acestor fișiere este .css.

Legatura paginilor HTML cu fișierele extene CSS se face prin introducerea urmatoarei linii:

<link rel="stylesheet" type="text/css" href="fișier_css.css">

Atributele indică urmatoarele:

rel – fișierul este tip styleshhet

type – tip text ce conține comenzi CSS

href – fișierul sau adresa fișierului CSS.

Exemplu de fișier css:

A:ACTIVE, A:LINK, A:VISITED {

color: #960000;

}

A:HOVER{

background-color: #960000;

color: #FFFFCC;

}

BODY {

background-image: url('img/background1.jpg');

background-attachment: fixed;

background-color: #FDFAF2;

font-family: Arial, Helvetica, sans-serif;

font-size: 10pt;

color: #960000;

}

2.5. Limbajul PHP

PHP este abrevierea de la PHP Hypertext Preprocessor (similar cu GNU ce reprezintă abrevierea de la GNU’s Not Unix). PHP este un limbaj de programare pentru crearea website-urilor dinamice și interactive și a fost creat și introdus de Rasmus Lerdorf în 1994. De atunci PHP a suferit numeroase schimbări. În termeni tehnici PHP4 este un limbaj tip script, cross platform, HTML embedded și server side.

Cross platform – puteti rula PHP pe sisteme de operare diferite, în majoritatea cazurilor fară modificari.

HTML embedded – codul PHP este o mixtură de instructiuni PHP și cod HTML.

Server side – programele scrise în PHP rulează pe un server (în general un Web Server cum ar fi Apache, IIS etc..).

PHP4 este ultima implementare stabilă de PHP și ea rulează pe serverele unui număr mare de ISP, ceea ce înseamnă că odată ce scrieti o aplicație în PHP4, o puteti cu usurintă gazdui pe Web.

Scrierea programelor PHP

Programele PHP sunt o mixtură de trei elemente: text, cod HTML și script PHP. Pentru că paginile ce conțin script PHP să poată fi procesate de modulul PHP implementat în Apache sau alt server de pagini Web este necesar ca paginile să aibă acea extensie pe care ati specificat-o la încarcarea modulului în serverul de web (standard, extensia implicită este .php).

Cum funcționează codul

Fișierul program1.php este trimis modulului de php încarcat în serverul de web. Modulul prelucrează NUMAI ce se află între tagurile <?php și ?> restul fiind trimis catre serverul web fară a fi prelucrat sau interpretat.

Rezultatul prelucrarii este și el trimis serverului de web care rimite mai departe catre client (browser).

Comanda echo este folosită pentru trimiterea catre serverul de web a textului înscris între cele două ghilimele.

Fiecare linie de cod PHP (după terminare) trebuie închisă de semnul punct-si-virgulă (;).

Instrumente PHP

Variabila reprezintă un identificator la o locatie de memorie și se foloseste pentru stocarea, prelucrarea și ștergerea datelor.

Variabilele în PHP sunt apelate folosind prefixul ‘$’.

Ex: $nume=“Teodor”;

După ce am inițializat o variabilă atribuindu-i o valoare putem folosi acea variabila.

Ex: print $nume;

Limitari și reguli ale variabilelor

În multe limbaje de programare există o limitare a numarului de caractere din numele variabilei (între 255-1000 caractere). În PHP nu există astfel de limitari.

O regulă a variabilelor este că ele trebuie să înceapă cu o literă sau cu un underscore (după prefixul ‘$’).

O altă regulă este că în corpul numelui variabilei sunt acceptate litere, numere și underscore, simboluri precum +,-,* și & nefiind admise.

Variabilele în PHP sunt case-sensitive, adică $student este diferit de $Student .

Tipuri de date în PHP

PHP cuprinde mai multe tipuri de variabile, dintre care cele mai importante sunt cele ce conțin valori de tip text și numeric.

– string (text)

– integer (numeric)

– double (numeric)

– array

– object

Tipurile de date nu sunt stabilite de programator. PHP decide automat tipul lor atunci când interpretează codul.

Tipul de dată string – tot ce este cuprins între ghilimele la inițializare se consideră string (chiar și numerele).

Ex:

$nume=”Ionescu”;

$nr=”5”;

Date de tip numeric – În PHP există 2 tipuri de date numerice: integer și double.

Integer sunt numere fară virgulă, în timp ce double reprezintă numere cu zecimale.

Constante

O variabilă isi poate schimba conținutul de mai multe ori pe parcursul unui program. dacă dorim ca o locatie de memorie să nu poată fi schimbată pe parcursul unui program putem folosi instructiunea define.

Ex: define(“PI”,”3.1416”);

Constantele sunt scrise prin conventie cu MAJUSCULE.

Sisteme de operare pe care poate rula PHP

PHP poate fi folosit pe aproape toate marile sisteme de operare, incluzând Linux, multe variante de Unix (incluzând HP-UX, Solaris și OpenBSD), Microsoft Windows, Mac OS X, RISC OS, probabil și altele.

PHP are deasemenea suport pentru majoritatea serverelor de web din prezent. Acestea includ serverele Apache, Microsoft Internet Information Server, Personal Web Server, Netscape și iPlanet, serverul Oreillz Website Pro, Caudium, Xitami, OmniHTTPd, și multe atele. Pentru majoritatea serverelor PHP are un modul, iar pentru celelalte suportă standardul CGI, PHP putând să lucreze ca un procesor CGI.

Deci, cu PHP ai libertatea de a alege un sistem de operare și un server de web. Chiar mai mult, ai posibilitatea de a alege programarea procedurală sau programarea orientată obiect, sau chiar să le amesteci. Cu toate acestea, nu orice facilitate a standardului POO este prezentă în versiunea curent a PHP-ului, multe librarii de cod și aplicații mari (incluzând și libraria PEAR) sunt scrise folosind doar cos POO. Cu PHP nu ești limitat și scoți rezultat HTML. Posibilitatile PHP-ului includ afișarea de imagine, fișiere PDF și chiar filmulețe Flash (folosind librariile libswf și Ming) toate generate instant. Poți deasemeanea ca rezultatul tău să fie orice fișier text, cum ar fi XHTML sau 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 afiseze, formând un cache de partea serverului pentru conținutul tău dinamic.

2.6. Sistemul de baze de date MySQL

Dacă este necesar un sistem gratuit sau necostisitor de gestiune a bazelor de date, puteți alege din mai multe opțiuni: MySQL, mSQL, Postgres, unul din motoarele gratuite (dar fără suport) furnizate de producătorii comerciali și așa mai departe. La compararea MySQL cu alte sisteme de baze de date, trebuie luat în calcul ce este cel mai important pentru aplicație. Performanță, suport, caracteristici (conformantă cu SQL, extensii etc.), condiții și restricții de licențiere, preț; toate acestea constituie factori care trebuie luați în considerare. Date fiind aceste considerații, MySQL are de oferit numeroase caracteristici atractive:

Viteză. MySQL este rapid

Programatorii pretind că MySQL este cel mai rapid sistem de baze de date pe care îl puteți găsi. Puteți verifica această afirmație vizitând http://www.mysql.com/benchmark.html, o pagină de comparație a performanțelor.

Ușurință în utilizare

MySQL este un sistem de baze de date cu performanțe ridicate, dar relativ simplu, a cărui configurare și administrare sunt mult mai simple decât în cazul sistemelor mai mari.

Cost zero. MySQL este gratuit pentru majoritatea utilizărilor interne

MySQL nu este un produs Open Source, dar, în general, poate fi folosit gratuit. Trebuie să consultați manualul de referință MySQL pentru detalii privind licența, dar principiile de bază sunt următoarele:

– Programele client și biblioteca de programare a clienților sunt gratuite, pe toate platformele.

– Pentru UNIX și alte platforme non-Windows, serverul MySQL poate fi folosit gratuit, cu excepția situațiilor când doriți să vindeți serverul sau alte programe sau servicii care impun utilizarea acestuia, în această situație, trebuie să obțineți licență pentru server. Ideea este că, dacă obțineți un profit din MySQL, este normal ca dezvoltatorii sistemului să primească o parte din acesta. (200 de dolari este o nimica toată pentru un specialist SGBDR care vă ajută să obțineți un profit și există o mulțime de programe gratuite pe care vi le puteți procura pentru a folosi eficient sistemul.)

– Versiunea Windows a serverului MySQL impune obținerea unei licențe.

– Versiunile mai vechi de MySQL sunt disponibile în condițiile licenței publice GNU (GPL) și pot fi folosite în orice scopuri, fără nici o plată. MySQL 3.20.32a este disponibil în condițiile GPL.

Suport pentru limbaje de interogare

MySQL înțelege SQL (Structured Query Language – limbaj de interogare structurat), limbajul preferat al tuturor sistemelor moderne de baze de date. De asemenea, puteți avea acces la MySQL folosind aplicații care acceptă ODBC (Open Database Connectivity), un protocol de comunicație cu bazele de date creat de Microsoft.

La server se pot conecta mai mulți clienți simultan

Clienții pot folosi mai multe baze de date simultan. Puteți obține acces la MySQL în mod interactiv, folosind numeroase interfețe care vă permit să introduceți interogări și să vizualizați rezultate: clienți în linie de comandă, browsere Web sau clienți X Window System. De asemenea, este disponibilă o varietate de interfețe de programare pentru limbaje precum C, Perl, Java, PHP și Python. Astfel, aveți opțiunea de a folosi programe client preambalate sau de a vă scrie propriile programe client pentru aplicații personalizate.

Conectivitate și securitate

MySQL poate fi folosit integral în rețele, iar bazele de date sunt accesibile de oriunde din Internet, deci vă puteți partaja datele cu oricine, oriunde. Dar MySQL are controlul accesului, astfel încât persoanele care nu au dreptul să vă citească datele nu vor avea această posibilitate.

Distribuție liberă

MySQL este ușor de obținut; pentru aceasta, folosiți-vă browserul de Web. Dacă nu înțelegeți funcționarea unei componente sau sunteți curios cu privire la un algoritm, vă puteți procura codul sursă și îl puteți examina. Dacă nu vă place modul de funcționare a unei componente, îl puteți modifica.

2.7. Serverul Apache

Apache este un server HTTP cu structură publică (open-source) utilizat pentru a administra un site web, care permite rularea fișierelor html, php, asp dacă este configurat corect.

Apache – numele provine de la “a patchy server”, fiind un server modular.

Apache este un puternic open source web server dezvoltat de catre Apache Group. Acesta ruleză pe sitemele de operare Unix, Linux, sau Windows; este o aplicație ca o derivare a originalului server de web NCSA dezvoltat de Universitate Illinois din Urbana-Champaigne. Apache este cel mai polpular server web de pe internet, și mult mai puternic decat Internet Information Server al firmei Microsoft, cel mai apropiat competitor.

Apache este cel mai popular server web din 1996, proiectul Apache doreste să dezvolte și să mentină un server HTTP open source pentru diferite sisteme de operare (linux,windows). Scopul acestui acestui proiect este să furnizeze un server sigur, eficient și extensibil.

Din punctul de vedere al serviciilor Web – și ne referim aici în principal la partea de servere Web – vom vedea în cele ce urmează ca balantă înclină puternic în favoarea soluțiilor open source. Conform studiilor efectuate de catre Netcraft, 68% dintre serverele Web din întreaga lume rulează Apache, urmând IIS cu 21%.

Pentru Romania, conform statisticilor efectuate de catre RoWD, există peste 36.000 de situri Web corespunzătoare domeniilor .ro (într-un total de peste 62.000).

Ca server Web, Apache conduce clasamentul cu 90%, urmat de IIS cu 8%. Versiunea 2x de Apache este utilizată de circa 18% din situri. Ca funcționalitati oferite, PHP este folosit de 63% din servere, Perl de 12% iar Java în proporție de 4%.

Este interesant de observat ponderea serverului Apache în totalul host-urilor Web, precum și utilizarea pe scară largă a tehnologiilor open source. Analizând graficul de mai jos, putem remarca creșterea în timp a gradului de utilizare a serverului Apache, în detrimentul serverelor comerciale.

Soluțiile open source sunt preponderente în lumea Web-ului, și ca această tendința se va accentua în viitor. Performanțele net superioare ale serverului Web Apache, coroborâte cu nivelul crescut de securitate ale acestora, determină specialiștii din acest domeniu să aleagă aceste soluții în detrimentul celor proprietare.

De asemenea, limbajele cele mai des folosite de catre programatorii Web sunt de asemenea open source, putând exemplifica cu PHP și Perl.

2.8. Limbajul de programare JavaScript

JavaScript a fost dezvoltat prima data de catre firma Netscape, cu numele de Live Script, un limbaj de script care extindea capacitatile HTML, ofera o alternativă parțială la utilizarea unui numar mare de scripturi CGI pentru prelucrarea informațiilor din formulare și care adaugă dinamism în paginile web.

Dupa lansarea limbajului Java, Netscape a inceput sa lucreze cu firma Sun, cu scopul de a crea un limbaj de script cu o sintaxa și semantica asemanatoare cu a limbajului Java, și din motive de marketing numele noului limbaj de script a fost schimbat în "JavaScript".

Java Script a aparut din nevoia ca logica și inteligența să fie și pe partea de client, nu doar pe partea de server. Daca toata logica este pe partea de server, intreaga prelucrare este facuta la server, chiar și pentru lucruri simple, asa cum este validarea datelor. Astfel, Java Script il inzestreaza pe client și face ca relatia sa fie un adevarat sistem client-server.

Limbajul HTML ofera autorilor de pagini Web o anumita flexibilitate, dar statica. Documentele HTML nu pot interactiona cu utilizatorul în alt mod mai dinamic, decât pune la dispozitia acestuia legaturi la alte resurse (URL-uri). Crearea de CGI-uri (Common Graphics Interface) – [programe care ruleaza pe serverul Web și care accepta informatii primite din pagina de web și returneaza cod HTML] – a dus la imbogatirea posibilitatilor de lucru. Astfel, un pas important spre interactivizare a fost realizat de JavaScript, care permite inserarea în paginile web a script-urilor care se executa în cadrul paginii web, mai exact în cadrul browser-ului utilizatorului, usurand astfel și traficul dintre server și client. De exemplu, într-o pagina pentru colectarea de date de la utilizator se pot adauga scripturi JavaScript pentru a valida corectitudinea introducerii și apoi pentru a trimite serverului doar date corecte spre procesare.

JavaScript conține o listă destul de ampla de functii și comenzi menite sa ajute la operatii matematice, manipulari de siruri, sunete, imagini, obiecte și ferestre ale browser-ului, link-urile URL și verificari de introduceri ale datelor în formulare. Codul necesar acestor actiuni poate fi inserat în pagina web și executat pe calculatorul vizitatorului.

Dupa lansarea sa, în decembrie 1995, JavaScript si-a atras sprijinul principalilor distribuitori din domeniu, cum sunt Apple, Borland, Informix, Oracle, Sybase, HP sau IBM. S-a dezvoltat în continuare, obtinand recunoastere majoritatii browserelor. Intelegand importanta scripting-ului web, Microsoft s-a dorit sa ofere suport și pentru JavaScript. Netscape a preferat sa acorde licenta de tehnologie companiei Microsoft în loc sa o vanda, astfel Microsoft a analizat JavaScript, și bazandu-se pe documentatia publica a creat propria sa implementare, "Jscript", care este recunoscuta de Microsoft Internet Explorer.

Jscript 1.0 este aproximativ compatibil cu JavaScript 1.1, care este recunoscut de Netscape Navigator. Totusi, versiunile ulterioare de JavaScript și diversele diferente specifice platformelor de operare au inceput sa dea destule probleme programatorilor web și astfel Netscape, Microsoft și alti distribuitori au fost de acord sa predea limbajul unei organizatii internationale de standardizare – ECMA ; aceasta a finalizat o specificatie de limbaj, cunoscuta ca ECMAScript, recunoscuta de toti distribuitorii. Desi standardul ECMA este util, atat Netscape cat și Microsoft au propriile lor implementari ale limbajului și continua sa extinda limbajul dincolo de standardul de baza.

Pe langa Jscript, Microsoft a introdus și un concurent pentru JavaScript, numit VBScript, realizat pentru a usura patrunderea pe web a programatorilor VB. VBScript este un subset al limbajului Visual Basic. Cu toate acestea JavaScript a devenit cunoscut ca limbajul de scripting standard pentru web.

2.9. Aplicația Macromedia Fireworks

Pentru realizarea site-ului s-a folosit și aplicația Macromedia Fireworks pentru prelucrarea de imagini. Acesta este un software folosit pentru editarea imaginilor digitale pe calculator, program produs și distribuit de compania americană Adobe Systems (care a cumpărat compania Macromedia) și care se se adreseaza în special profesioniștilor domeniului.

Macromedia Fireworks, așa cum este cunoscut astăzi, este un vârf de lance al gamei de produse software pentru editare de imagini digitale, fotografii, grafică pentru tipar, video și web de pe piață. este Macromedia Fireworks un program cu o interfața intuitivă și care permite o multitudine extraordinară de modificări necesare în mod curent profesioniștilor și nu numai: editări de luminozitate și contrast, culoare, focalizare, aplicare de efecte pe imagine sau pe zone (selecții), retușare de imagini degradate, număr arbitrar de canale de culoare etc. Există situații specifice pentru un profesionist în domeniu când alte pachete duc la rezultate mai rapide, însă pentru prelucrări generale de imagine, întrucât furnizează instrumente solide, la standard industrial, Macromedia Fireworks este aproape indispensabil.

2.10. Aplicația Macromedia Dreamveawer

Pentru cei care lucrează de cațiva ani în domeniul construirii paginilor de Web, Macromedia Dreamweaver este deja un nume cunoscut și, mai mult decât atât, este fără doar și poate cel mai performant editor în domeniu, reunind caracteristicile unei unelte vizuale de alcătuire a paginilor Web, un editor performant de cod HTML și suportul pentru DHTML într-un produs complet.

Macromedia Dreamweaver are deja mai multe forme de abordare a conținutului paginii de web. Permite, de exemplu, vizualizarea codului datorită editorului de texte integrat și, simultan, a designului paginii create. De altfel, includerea unui editor adevarat, în loc de folosirea celui atașat, face o importantă economie de resurse. Există și posibilitatea de a inspecta doar codul scris.

Meniul s-a schimbat și el, adăugându-se cele trei forme de apariție -normal, cod și mixt. Se pot edita direct în Dreamweaver Java Script și fișiere XML.

Debugger-ul de JavaScript, care face parte din acest produs, permite vizualizarea execuției codului în Netscape Navigator sau Internet Explorer, ajutând la ințelegerea implementării JavaScript de către fiecare browser. În acest fel este facilitată scrierea directă a codului prin consultarea în direct a explicațiilor despre diferitele comenzi sau atribute.

2.11. Google Maps API

Hărți Google (în engleză. Google Maps) este un serviciu online dezvoltat de către compania americană Google. Acesta este specializat în cartografierea online a globului pământesc și permite vizualizarea de hărți, fotografii făcute din satelit cu suprafața Pământului și chiar returnarea de obiecte pierdute.

Hărți Google a fost lansat pe 8 februarie 2005 de către Google, după 6 luni de testare beta, și are în continuare un statut actual activ. Serviciul este gratuit pentru utilizatorii non-comerciali. Numele original al serviciului a fost Google Local.

Hărțile disponibile sunt similare cu proiecțile cilindrice de pe hărțile standard. În cazul determinării numelor țărilor dar și a marginilor teritoriale, Google apelează primar la standardul ISO 3166.

Geocoder-ul special Hărți Google interprează adresele dintr-o țară în limba corespunzătoare țării respective. Acest serviciu este disponibil pentru Statele Unite ale Americii, Canada și majoritatea țărilor europene (inclusiv și România). Serviciul permite de asemenea și marcarea unui drum personalizat pentru o anumită călătorie. Ruta poată fi trasat liber între două locații, sau concepută automat. Este adăugat și un timp aproximativ de parcurgere. Traseul poate fi împărțit în câteva etape (de asemenea personalizabile). Puteți căuta diverse destinații folosind latitudinea și longitudinea acestor (spre exemplu, dacă veți căuta 44 25 39 N 26 5 15 E veți fi conduși către Palatul Parlamentului din București).

Google Maps Javascript API este un serviciu care permite dezvoltatorilor să integrezei hărți Google în propriile pagini web. Versiunea 3 a acestui API este special creată pentru a fi mai rapidă și mai ușor implementabilă pe dispozitive mobile.

API furnizează un număr de funcții pentru manipularea hărților și adăugarea de conținut pe hartă. Serviciul este gratuit și disponibil oricărui site.

Capitolul 3. Analiza, proiectarea și dezvoltarea aplicației

3.1. Descrierea cerințelor aplicației

3.1.1. Funcții generale ale aplicației

Aplicația va avea rolul de a prelua date despre unități de cazare și obiective turistice din România, și va fi împățită în două module, Vizualizare și Administrare.

Aplicația va folosi Google Maps API pentru a plasa pe o harta interactiva unitatile introduse și diverse puncte de interes turistic. Plasarea pe harta se va face folosind fie adresa, fie coordonatele unei locatii (latitudine și longitudine).

Funcții pentru vizitatori:

– Vizualizarea unităților

– Căutarea unităților după unul sau mai multe criterii: orașe, județe, zone, obiective în zona

– Formular de contact

Un vizitator își va putea crea un cont de utilizare, după înregistrare devenind utilizator înregistrat.

Funcții ale utilizatorilor înregistrați, în plus față de un vizitator:

– Operații unități: introducere, afișare

– Operatii obiective turistice: introducere, afișare

Funcții ale administratorilor:

– Operații unități: introducere, modificare, ștergere, afișare

– Operații categorii: introducere, modificare, ștergere, afișare

– Operații zone: introducere, modificare, ștergere, afișare

– Operatii obiective turistice: introducere, modificare, ștergere, afișare

La acestea se adaugă funcții necesare de gestionare a conturilor de utilizatori.

Utilizatorii înregistrați nu vor avea acces la facilitățile administratorilor. Aceștia nu vor putea introduce orașe, categorii, zone turistice, ci doar propune unități de cazare sau obiective turistice. Administratorii vor verifica dacă datele introduse sunt corecte și, dacă da, validează aceste date pentru a fi afișate în modulul vizualizare și a fi disponibile în căutări.

3.1.2. Arhitectura soluției

Produsul software realizat a fost creat în limbajul de programare PHP, folosind o bază da date MySQL. Modulul PHP este instalat pe un server Apache, cel mai răspândit server web din întreaga lume în acest moment.

Aplicația rulează pe serverul Apache și, cu ajutorul limbajului de programare PHP, extrage informațiile necesare din baza de date MySQL cu ajutorul comenzilor limbajului specifice (mysql_connect, mysql_select_db, mysql_query, mysql_num_rows, mysql_fetch_array).

3.2. Proiectarea bazei de date

3.2.2. Tabelele

Baza de date este alcatuită din tabelele:

tbhotel_categ – conține categoriile unităților din website, hoteluri, pensiuni etc

tbhotel_judete – conține lista județelor din România

tbhotel_orase – orașele din România, județele din care fac parte și populația în 2002

tbhotel_unitati – unitățile turistice din site

tbhotel_useri – lista utilizatorilor care și-au creat cont, inclusiv administratorii

tbhotel_zone – zone din România pentru încadrarea mai bună din punct de vedere geografic

3.2.2. Relațiile dintre tabele

1. Relații one-to-one sunt cele mai simple relații între tabele. Între rândurile tabelelor există o corespondență unu la unu; într-o tabelă nu există rânduri cărora să le corespundă mai mult de un rând în altă tabelă. Tabelele aflate în această relație se pot combina întruna singură în care să apară toate coloanele acelor tabele. În acest caz, câmpul cheie din noua tabelă trebuie să fie unic. Nu sunt permise valori duplicat.

2. Relații one-to-many leagă un singur rând dintr-o tabelă cu două sau mai multe rânduri din altă tabelă. Legătura se realizează printr-o relație între cheia principală a tabelei de bază și cheile externe corespunzătoare din tabelele corelate. Constituie tipul cel mai răspândit de relații. Ele cer unicitatea câmpului cheie din noua tabelă.

3. Relații many-to-many (mulți la mulți) sunt asocieri libere, în care nu există nicio relație unică între câmpurile cheie ale tabelelor, iar câmpurile cheie din ambele tabele conțin valori duplicat.

Structura detaliată a tabelelor este anexată acestei lucrări.

3.2.3. Crearea bazei de date folosind utilitarul PhpMyAdmin

Prima oară este recomandat ca baza de date să fie creată cu ajutorul utilitarului PhpMyAdmin, care oferă opțiuni multiple pentru această operație. Pașii necesari sunt:

1. Deschiderea utilitarului

2. Apelul opțiunii “Baze de date”, care afișează ce baze de date sunt deja create și oferă posibilitatea creării uneia noi.

3. După introducerea numelui bazei noi, se dă click în stânga pe numele ei și se ajunge într-o fereastră în care sunt afișate tabelele (dacă exista) și se oferă posibilitatea creării unei tabele noi.

4. Se crează manual fiecare tabelă, introducându-se numele acesteia și câmpurile care o compun.

3.2.4. Instalarea bazei de date

Instalarea bazei de date pe un alt sistem se poate face cu ajutorul fișierelor de comenzi SQL care conțin intrucțiunile necesare pentru crearea rapidă a tabelelor. Acestea se rulează cu ajutorul utilitarului PhpMyAdmin, opțiunea de import.

Obținerea fișierelor de comenzi SQL se face prin apelul opțiunii de export din utilitarul PhpMyAdmin. Iată câteva exemple de comenzi de creare de date.

CREATE TABLE IF NOT EXISTS `tbhotel_categ` (

`id_categ` int(10) NOT NULL auto_increment,

`nume_categ` varchar(50) NOT NULL default '',

`ordine` int(3) NOT NULL default '50',

`nume_categ_singular` varchar(50) NOT NULL default '',

PRIMARY KEY (`id_categ`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5;

CREATE TABLE IF NOT EXISTS `tbhotel_judete` (

`id_judet` int(30) unsigned NOT NULL auto_increment,

`nume_judet` varchar(255) NOT NULL default '',

PRIMARY KEY (`id_judet`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=46;

3.2.5. Introducerea datelor în bază cu utilitarul PhpMyAdmin

După crearea unei tabele, utilitarul PhpMyAdmin pune la dispoziție opțiunea de inserare, cu ajutorul căreia se pot introduce date în tabele. Aceasta se afla în partea de sus-mijloc a ecranului și se apelează după ce o tabelă a fost deja deschisă pentru a se știi rapid unde se introduc datele.

3.2.6. Introducerea datelor în bază cu ajutorul comenzilor SQL

Dacă se dorește instalarea bazei de date pe un alt sistem inclusiv cu datele conținute, cea mai bună metodă este folosirea fișierul comenzilor SQL. Acestea sunt obținute în același mod cu cele de creare a tabelelor, folosind opțiunea de export din utilitarul PhpMyAdmin. Exemple de fișiere de introducere de date:

INSERT INTO `tbhotel_categ` (`id_categ`, `nume_categ`, `ordine`, `nume_categ_singular`) VALUES

(1, 'Hoteluri', 10, 'Hotel'),

(2, 'Pensiuni', 20, 'Pensiune'),

(3, 'Moteluri', 50, 'Motel'),

(4, 'Hosteluri', 50, 'Hostel');

INSERT INTO `tbhotel_judete` (`id_judet`, `nume_judet`) VALUES

(1, 'Alba'),

(2, 'Arad'),

(3, 'Arges'),

(4, 'Bacau'),

(5, 'Bihor'),

(6, 'Bistrita-Nasaud'),

(7, 'Botosani'),

(8, 'Braila'),

(9, 'Brasov'),

Capitolul 4. Prezentarea aplicației

Site-ul este împărțit astfel:

1. Partea de sus (header-ul), este alcatuită din:

– imaginea-antet care este prezentă în toate paginile website-ului

– sumarul general

2. În stânga, categoriile si zonele

3. În partea din dreapta, căsuța de autentificare, opțiunile utilizatorului dacă acesta este logat, opțiuni pentru adăugarea paginii în lista de Favorites, respectiv de setare a paginii ca pagină de pornire (Home Page), zonele unităților turistice.

4. În partea de jos, “inchiderea” site-ului din punct de vedere cromatic.

5. În interior, conținutul specific al fiecărei pagini.

Dacă se dă click pe un județ, se afișează unitățile turistice din județul respectiv.

4.2. Împarțirea pe fișiere

Organizarea generală

Aplicația software este realizată folosind posibilitățile de includere a instrucțiunilor PHP dintr-un fișier în altul. Astfel, aplicația este împărțită în 3, având ca bază pentru design fișierele index1.php și index2.php. Acestea sunt incluse în toate fișierele din website care necesită design. Astfel, de exemplu, fișierul contact.php, la fel ca și celelalte, include în partea de sus fișierul index1.php, iar în partea de jos fișierul index2.php, în interior aflându-se conținutul specific.

Website-ul este structurat modular. Elementele grafice sunt asezate în site într-un tabel cu un rând și trei coloane. Deasupra tabelului se află imaginea antet, iar în tabel:

– în coloana din stânga, categoriile de unități

– în coloana din mijloc, conținutul specific al paginii

– în coloana din dreapta, căsuța de autentificare, opțiunile utilizatorului dacă acesta este logat, căsuța de căutare și opțiuni pentru adăugarea paginii în lista de Favorites, respectiv de setare a paginii ca Home Page.

Fișierele

index1.php

– conține partea de sus a fiecarei pagini (imaginea-antet), codul de deschidere a tabelului folosit pentru design, deschiderea și închiderea primei coloane (în care se află sumarul) și deschiderea celei de a doua coloane

index2.php

– conține închiderea celei de a doua coloane, deschiderea și închiderea coloanei a treia, închiderea tabelului.

Paginile sunt structurate astfel:

În partea de sus, includerea fișierului index1.php.

În mijloc, conținutul.

În partea de jos, includerea fișierului index2.php.

De exemplu, pagina contact.php:

<?

$titlu_pagina = "Contact";

include ("index1.php");

?>

<?

include ("index2.php");

?>

Înainte de a fi inclus fișierul index1.php, este inițializată variabila $titlu_pagina care conține titlul paginii și care va fi afișată de index1.php. Aceasta organizare foloseste la afișarea titlului fiecărei pagini în acelasi fel.

4.3. Conectarea la server și la baza de date

Inițial este inclus fișierul conectare_la_bd.php, care conține datele și comenzile de conectare la baza de date, precum și mesajele de eroare în cazul în care aceasta nu este efectuată cu succes.

conectare_la_bd.php

<?

$nume_host = "localhost";

$nume_bd = "nume_bd";

$user_nume = "nume_user";

$user_parola = "qwert";

$conectare_la_server = mysql_connect ($nume_host, $user_nume, $user_parola);

if (!$conectare_la_server)

{

die('Eroare la conectarea la server: ' . mysql_error());

}

$conectare_la_bd = mysql_select_db ($nume_bd);

if (!$conectare_la_bd)

{

die ('Eroare la conectarea la baza de date: ' . mysql_error());

}

?>

În variabila $sql este construit șirul SQL care va extrage din bază datele dorite. Exemplu

$sql = "SELECT * FROM tbhotel_zone ORDER BY ordine LIMIT 0,7";

Rularea șirului SQL construit se realizează cu comanda mysql_query, care “trimite” rezultatul în variabila $rezultat.

$rezultat = mysql_query ($sql);

Este testat dacă șirul SQL a fost rulat cu succes si, dacă nu, este afișat un mesaj de eroare. Altfel, cu ajutorul comenzii while ($row = mysql_fetch_array ($rezultat)), sunt parcurse rândurile și afișate valorile din celule.

4.4. Comenzi de conectare și lucru cu baza de date

mysql_connect – se conectează la server, folosind datele de conectare furnizate prin parametri

my_sql_select_db – se conectează la baza de date specificată

mysql_query – trimite șirul SQL la baza și preia rezultatul operației. În cazul în care operația este o extragere de date (“SELECT”), rezultatul este sub forma unui tabel. Pentru a îl parcurge, se folosesc comenzile următoare:

mysql_num_rows – păstrează într-o variabilă numărul de rânduri ale tabelului rezultat

mysql_fetch_array – ajută la poziționarea în tabelul rezultat pe linia și coloana dorită.

4.5. Selectarea datelor din bază

Această operație se realizează folosind comanda SQL cu numele “SELECT”. Se construiește un șir SQL (o interogare) cu ajutorul căreia se extrag datele dorite. De exemplu, pentru extragerea bolilor din bază, se folosește comanda:

$sql = "SELECT * FROM tbhotel_unitati";

unde $sql reprezintă variabila șir. Aceasta este trimisă la baza de date cu ajutorul comenzii mysql_query, iar rezultatul furnizat de aceasta este salvat într-o variabilă cu numele $rezultat:

$rezultat = mysql_query($sql);

Această variabilă este de fapt un tabel care are un număr de rânduri. Numărul de rânduri este determinat cu comanda mysql_num_rows al cărei rezultat îl primește variabila $nr:

$nr = mysql_num_rows($rezultat);

Dacă tabelul rezultat nu are niciun rând, variabila $nr va avea valoarea zero. Altfel, $nr are o valoare pozitivă și rândurile tabelului rezultat pot fi parcurse pentru a fi prelucrate. Comanda este mysql_fetch_array, cu care se poate face poziționare pe orice coloană din $rezultat:

while ($row = mysql_fetch_array($rezultat))

Rândurile sunt parcurse unul câte unul atâta timp cât se poate face atribuirea $row = mysql_fetch_array($rezultat). Datele de pe rânduri sunt preluate, prelucrate și folosite.

Exemple:

$id_boala = intval($row['id_boala']);

$nume_boala = ucfirst(trim($row['nume_boala']));

4.6. Descrierea funcționalității fișierelor

Sumarul general

Start – fișierul index.php

Pagina de start. Conține harta României dinamică realizată cu Macromedia Flash 5. Hărțile județelor sunt linkuri către unități hoteliere din județul ales.

Contact – contact.php

Date referitoare la site, realizator, adresa, telefon, e-mail.

Fișierele incluse în index1.php (în partea stânga a site-ului)

index1sumar.php

Afișează categoriile din baza de date.

Fișierele incluse în index2.php (în partea dreapta a site-ului)

index2login.php

Afișează forma de conectare și opțiunile unui utilizator neconectat (creare cont nou și trimitere parola în cazul în care acesta a uitat-o).

Dacă utilizatorul este conectat, sunt afișate opțiunile de modificare date și vizualizare tbhotel_unitati comandate.

index2zone.php

Afișează zonele unităților.

index2fav.php

Conține și cod javascript pentru adăugarea paginii în lista de Favorites, respectiv de setare a paginii ca Home Page.

Fișiere auxiliare

conectare_la_bd.php

Conține comenzile de conectare la server și baza de date.

data_curenta.php

Preia data curentă a sistemului în variabila $data_curenta.

favicon.ico

Imagine care apare în dreptul numelui site-ului cand acesta este adaugat în lista de Favorites.

index1datesite.php

Conține constante și funcții valabile universal în site, titlul site-ului, mesaje de eroare etc.

stil.css

Fișier tip css în care sunt setate opțiunile de culoare ale textelor, linkurilor și controalelor din site.

Fișiere de lucru cu tbhotel_unitati

unitate_detalii.php

Realizează afișarea unei anumite unități în baza de date.

Fișiere de lucru cu conturi de utilizator

user_creare1.php

Formularul inițial pentru crearea contului.

user_creare2.php

Preia datele din fișierul anterior, le verifică și, dacă sunt corecte, le salvează în baza de date în tabela tbhotel_useri.

user_modificare1.php

Incarcă datele contului pentru a fi vizualizate înainte de modificare.

user_modificare2.php

Preia datele din user_modificare1.php, le verifică și, dacă sunt corecte, le salvează în baza de date.

user_trimitere_parola1.php

Utilizatorul introduce numele de utilizator.

user_trimitere_parola2.php

Preia datele introduse în user_trimitere_parola1.php, verifică dacă există date în bază cu solicitarea dorită și, dacă există, trimite parola la adresa din baza de date.

4.5. Modulele aplicației

4.5.1. Modulul Vizualizare

Va fi modulul public, vizibil oricărui vizitator. În partea de sus se va afla sumarul general, în stânga categoriile de unități și zone, iar în dreapta opțiunile ca utilizator (căsuțe de logare, creare cont, trimitere parola) etc.

4.5.2. Modulul Administrare

În acest modul vor fi gestionate informațiile din site. Administratorul va introduce date (categorii, firme, unități), va gestiona conturi de utilizatori și comenzi.

După autentificare, este afișat meniul.

Introducere categorie, zona și unitate

Concluzii

Utilitatea aplicației

Aplicația și-a atins toate obiectivele propuse la proiectare. Modul de utilizare este intuitiv, ușor de învățat, iar utilizatorii au posibilitate de a vedea toate ofertele din site, inclusiv cele neactuale, și de a aplica la o ofertă care li se pare interesantă.

La rândul lui, administratorul poate gestiona toate informațiile din site site – poate introduce unități, zone, le poate interconecta.

Aplicația ajută la prezentarea unităților unei mase mult mai mari de potențiali vizitatori.

De asemenea, prezentarea este vizibilă 24 de ore pe zi; în orice moment datele pot fi consultate.

Ca o concluzie finală, aplicația oferă facilități de care orice organizație modernă nu poate să nu beneficieze.

Desigur, exista multiple posibilități pentru dezvoltarea ulterioară. Prin intermediul Google API se poate realiza calcularea distantelor intre două sau mai multe puncte de pe hartă.

Se poate realiza o secțiune care să cuprindă și unități de petrecere în mod plăcut a timpului liber, cum ar fi restaurante, cluburi sau discoteci.

O altă posibilă facilitate este aceea de a prezenta evenimentele dintr-un oraș, județ sau zonă.

Se poate implementa un sistem de comentarii si recenzii din partea utilizatorilor.

Se poate realiza o versiune mobilă pentru dispozitivele mobile, tablete, iPad-uri și altele.

Și nu în ultimul rând, se pot face și versiuni în limbi de circulație internațională (engleză, franceză, germană etc.)

Bibliografie

Rodica Mihalca (coord.), Csaba Fabian, Adina Uță, Iulian Întorsureanu, Anca Andreescu, Dan Jisa – Modelare orientată obiect – București, 2009

Adrian Trașcă, Georgeta Manafu – Bazele programării – Craiova, 2006

Livia Sângeorzan, Aurel Luca, Constantin Lucian Aldea, C. Luca – Tehnologia informației, Editura Universitatea Transilvania, Brașov, 2003

Livia Sângeorzan, Constantin Lucian Aldea – Tehnologii internet, Editura Universitatea Transilvania, Brașov, 2003

Florin Rădulescu – Note de curs: Baze de date, Editura Universitatea Politehnica, București, 2007

Larry Ullman – PHP și MySQL pentru site-uri WEB dinamice, Editura Teora București, 2005

L.Welling, L. Thomson – Dezvoltarea aplicațiilor WEB cu PHP și MySQL, Editia a II-a, Editura Teora București, 2004

Steven Holzner – Inițiere în PHP 5, Editura Teora, București 2006

Larry Ullman – PHP și MySQL pentru site-uri WEB dinamice, Editura Teora, București 2004

Julie C. Meloni – PHP, MySQL și Apache, Editura Teora, București, 2006

Cristian Darie, Mihai Bucica – PHP5 și MySQL pentru comert electronic, Editura Teora, București, 2005

Charles Aulds – Administrarea serverului Apache – seria Linux, Editura Teora, București 2005

John V. Petersen – Baze de date pentru începatori, Editura Teora, București, 2006

Microsoft Press – Microsoft FrontPage 2000, curs rapid, Editura Teora, București, 2001

Traian Anghel – Programarea în PHP. Ghid practic, Editura Polirom Iași, 2005

Traian Anghel – Dezvoltarea aplicațiilor WEB folosind XHTML, PHP și MySQL,

Editura Polirom, Iași, 2005

Julie C. Meloni – Învată singur Php, MySql și Apache, Editura Corint, București, 2005

Dorin Iordache – PHP, programare dinamică, Editura Cartea Universitară, București, 2002

Preston Gralla – Cum funcționează … Internetul, Editura All, București, 2004

Karlins David – Macromedia Dreamweaver MX, Editura All, București, 2004

Răzvan Daniel Zota – Rețele de calculatoare în era Internet, Editura Economică, București, 2005

Gabriela Grosseck – Marketing și comunicare pe Internet, Editura Lumen, Iași, 2006

Vasile Glăvan – Turismul în România, Editura Economică, București, 2001

Gabriela Stănciulescu – Evaluarea întreprinderilor hoteliere, Oferta hotelieră Mondială, Editura Uranus, București, 2003

Rodica Minciu – Economia Turismului, Editura Uranus, București, 2001

https://developers.google.com/maps/documentation/geocoding/index

https://developers.google.com/maps/documentation/distancematrix/

http://www.marplo.net/javascript/introducere.html

http://www.w3schools.com/googleAPI/

www.w3schools.com

www.php.net

www.mysql.com

www.compendium.ro

www.marplo.net

www.buysoftware.ro

www.html-tutor.net

www.e-learn.ro

www.romaniatourism.com

Anexe

Structura detaliată a tabelelor

Structura tabelei tbhotel_categ

Exemplu de date din tabela tbhotel_categ

Structura tabelei tbhotel_judete

Exemplu de date din tabela tbhotel_judete

Structura tabelei tbhotel_orase

Exemplu de date din tabela tbhotel_orase

Structura tabelei tbhotel_unitati

Exemplu de date din tabela tbhotel_unitati

Structura tabelei tbhotel_useri

Exemplu de date din tabela tbhotel_useri

Structura tabelei tbhotel_zone

Exemplu de date din tabela tbhotel_zone

Bibliografie

Rodica Mihalca (coord.), Csaba Fabian, Adina Uță, Iulian Întorsureanu, Anca Andreescu, Dan Jisa – Modelare orientată obiect – București, 2009

Adrian Trașcă, Georgeta Manafu – Bazele programării – Craiova, 2006

Livia Sângeorzan, Aurel Luca, Constantin Lucian Aldea, C. Luca – Tehnologia informației, Editura Universitatea Transilvania, Brașov, 2003

Livia Sângeorzan, Constantin Lucian Aldea – Tehnologii internet, Editura Universitatea Transilvania, Brașov, 2003

Florin Rădulescu – Note de curs: Baze de date, Editura Universitatea Politehnica, București, 2007

Larry Ullman – PHP și MySQL pentru site-uri WEB dinamice, Editura Teora București, 2005

L.Welling, L. Thomson – Dezvoltarea aplicațiilor WEB cu PHP și MySQL, Editia a II-a, Editura Teora București, 2004

Steven Holzner – Inițiere în PHP 5, Editura Teora, București 2006

Larry Ullman – PHP și MySQL pentru site-uri WEB dinamice, Editura Teora, București 2004

Julie C. Meloni – PHP, MySQL și Apache, Editura Teora, București, 2006

Cristian Darie, Mihai Bucica – PHP5 și MySQL pentru comert electronic, Editura Teora, București, 2005

Charles Aulds – Administrarea serverului Apache – seria Linux, Editura Teora, București 2005

John V. Petersen – Baze de date pentru începatori, Editura Teora, București, 2006

Microsoft Press – Microsoft FrontPage 2000, curs rapid, Editura Teora, București, 2001

Traian Anghel – Programarea în PHP. Ghid practic, Editura Polirom Iași, 2005

Traian Anghel – Dezvoltarea aplicațiilor WEB folosind XHTML, PHP și MySQL,

Editura Polirom, Iași, 2005

Julie C. Meloni – Învată singur Php, MySql și Apache, Editura Corint, București, 2005

Dorin Iordache – PHP, programare dinamică, Editura Cartea Universitară, București, 2002

Preston Gralla – Cum funcționează … Internetul, Editura All, București, 2004

Karlins David – Macromedia Dreamweaver MX, Editura All, București, 2004

Răzvan Daniel Zota – Rețele de calculatoare în era Internet, Editura Economică, București, 2005

Gabriela Grosseck – Marketing și comunicare pe Internet, Editura Lumen, Iași, 2006

Vasile Glăvan – Turismul în România, Editura Economică, București, 2001

Gabriela Stănciulescu – Evaluarea întreprinderilor hoteliere, Oferta hotelieră Mondială, Editura Uranus, București, 2003

Rodica Minciu – Economia Turismului, Editura Uranus, București, 2001

https://developers.google.com/maps/documentation/geocoding/index

https://developers.google.com/maps/documentation/distancematrix/

http://www.marplo.net/javascript/introducere.html

http://www.w3schools.com/googleAPI/

www.w3schools.com

www.php.net

www.mysql.com

www.compendium.ro

www.marplo.net

www.buysoftware.ro

www.html-tutor.net

www.e-learn.ro

www.romaniatourism.com

Anexe

Structura detaliată a tabelelor

Structura tabelei tbhotel_categ

Exemplu de date din tabela tbhotel_categ

Structura tabelei tbhotel_judete

Exemplu de date din tabela tbhotel_judete

Structura tabelei tbhotel_orase

Exemplu de date din tabela tbhotel_orase

Structura tabelei tbhotel_unitati

Exemplu de date din tabela tbhotel_unitati

Structura tabelei tbhotel_useri

Exemplu de date din tabela tbhotel_useri

Structura tabelei tbhotel_zone

Exemplu de date din tabela tbhotel_zone

Similar Posts