Construirea Unui Site Web

=== 4d37fd4d9e0968ad97e2c5821dbb22b833ee461d_37722_1 ===

UNIVERSITATEA “TITU MAIORESCU” DIN BUCUREȘTI FACULTATEA DE INFORMATICĂ

LUCRARE DE LICENȚĂ

/DISERTAȚIE

COORDONATOR ȘTIINȚIFIC:

(Grad didactic, prenume, nume)

ABSOLVENT:

(prenumele, numele)

SESIUNEA IUNIE – IULIE

2016

UNIVERSITATEA “TITU MAIORESCU” DIN BUCUREȘTI FACULTATEA DE INFORMATICĂ

LUCRARE DE LICENȚĂ /

DISERTAȚIE

Platformă online pentru rezervare de bilete

COORDONATOR ȘTIINȚIFIC:

(Grad didactic, prenume, nume)

ABSOLVENT:

(prenume, nume)

SESIUNEA IUNIE – IULIE

2016

CUPRINS

INTRODUCERE ÎN TEMATICA LUCRĂRII

NOȚIUNI INTRODUCTIVE

Este un fapt cunoscut, cu toții lucrăm în mediul online, comunicăm și socializăm online, căutăm informații de orice natură online și deseori ne facem mare parte din cumpărături, tot online. Modul și stilul de viață, de lucru, de comunicare precum și cel de vânzare din 2016 este mult diferit de cel din secolul trecut.

În majoritatea instituțiilor comunicarea scrisă rămâne importantă, faxul fiind încă des utilizat, dar în particular și din ce în ce mai mult și în înstituții, comunicarea este de cele mai multe ori electronică. Nu mai sunt necesare imprimante speciale, foarte scumpe pentru a tipări biletele de spectacole și nici dosarele fizice pentru a organiza marketingul companiei.

Printre tehnicile utilizate în vederea fluidizarii fluxului comunicării sunt regăsite e-mailul care înlocuiește cu succes pixul pe hartie, căutările informațiilor de tolate naturile (tehnice și nontehnice) online, comunicarea cu partenerii și clientii pe diverse aplicații care au fost special concepute în scopul comunicării (video și audio) printre care se regăsesc skype, messenger, facebook, etc.

În lucrarea de față au fost prezentate o parte dintre tehnologiile puse la dispoziție de evoluția tehnicii în această eră a internetului cu ajutorul cărora a fost realizată o platformă online de rezervare de bilete pentru spectacole de teatru.

Sistemele informatice, în toate domeniile, au înregistrat o evoluție importantă în ultimii ani. În cazul instituțiilor mici, sau cele aflate în perioada de dezvoltare, cu un număr mic de salariați, se preferă realizarea unei baze de date comune care să ofere cât mai multe posibilități și avantaje. În cazul de față, printre posibilitățile și avantajele oferite de SGBD – sistem de gestiune a bazelor de date, enumerăm:

calculul automat al numărului de locuri din sală;

calculul automat al numărului de locuri libere din sală;

calculul automat al numărului de bilete diferențiat pe categorii;

calculul sumelor încasate, etc.

SCOPUL ȘI OBIECTIVELE LUCRĂRII

Scopul proiectului este de a aduce un plus de ajutor atât a furnizorilor de servicii cât și a consumatorilor în vederea gestionării mai eficiente – pentru furnizori și achiziționării mai facile – pentru consumatori, domeniul fiind spectacolele de teatru.

Obiectivul proiectului este realizarea unei aplicații software pentru gestionarea biletelor și evidența tuturor variabilelor necesare unei bune funcționări a colaborării dintre furnizor de servicii – consumator în scopul reducerii timpului și costurilor asociate achiziționării online a biletelor asociate pieselor de teatru.

Răspândirea tehnicii de calcul în aproape toate activitățile umane generează o continuă creștere în computerizarea sistemelor informaționale [3].

În sistemele bazate pe tehnică de calcul, informația este înregistrată sub formă de date, care necesită o interpretare pentru a furniza informații. Nu se poate da o definiție exactă a conceptului de dată, precum și a diferenței dintre dată și informație. Ce putem spune este ca data nu are nicio semnificație, dar odată interpretată și corelată convenabil, ea furnizează informații ce îmbogățesc cunoașterea asupra lumii înconjurătoare.

CONȚINUTUL LUCRĂRII

Lucrarea este structurată în 5 capitole:

În Capitolul 1 intitulat “Introducere în tematica lucrării”, este prezentată pe scurt, importanța și actualitatea temei propuse, scopul, obiectivul principal precum și obiectivele secundare ale lucrării realizate iar la final, un rezumat al conținutului lucrării.

În Capitolul 2 intitulat “Concepte în teoria bazelor de date”, sunt prezentate câteva dintre noțiunile de bază ale bazelor de date, tipuri BD.

Capitolul 3 intitulat “Sistem de gestiune a bazelor de date (SGBD)”, conține caracteristica generală a SGBD MySQL.

Capitolul 4 intitulat “Limbajul de programare PHP”

Capitolul 5 intitulat “Limbajul de marcare HTML”

Capitolul 6 intitulat “Prezentarea aplicației Rezervare de bilete online”, descrie aplicația Rezervare de bilete online;

Lucrarea se încheie cu „Bibliografie”.

Subcapitol în lucru

STUDIUL ȘI ANALIZA SISTEMULUI

Definirea formularelor/formatelor

Dacă la început au fost identificate și structurate cerințele sistemului ce urmeaza a fi proiectat, în faza de proiectare logică se efectuează ceea ce se intenționează a se realiza. Prezentarea noului sistem constă în prezentarea tuturor intrărilor sistemului, a ieșirilor, precum și a interfețelor și dialogurilor.

În cadrul etapei de analiză a sistemului informatic au fost identificate și prezentate toate intrările și ieșirile, avqnd în vedere cerințele informaționale la nivelul fiecărei aplicație informatică.

Fiecare formular de intrare va fi asociat unui flux al datelor de intrare iar rapoartele se pot regăsi într-un flux al datelor generate de proces. Un formular poate fi un document primar sau o machetă de ecran care conține unele date predefinite că și cărora li se adaugă altele ce urmează a fi completate în rubrici speciale. Un raport este un document în care sunt incluse date predefinite, folosit pentru a citi și vizualiza informația.

În faza de proiectatre logică se reprezintă doar o ciornă a formularelor/formatelor, rapoartelor, ele fiind privite doar ca structură și machetă putqnd fi realizate cu ajutorul unui editor de texte. [22]

Definirea rapoartelor

Obiectivul prezentării detaliate a ieșirilor este și acela de a rezulta formatul și conținutul tuturor rapoartelor imprimate ale documentelor. Proiectarea ieșirilor se va face astfel încât să servească pentru transmiterea rezultatelor prelucrării pe calculator utilizatorului, într-o formă pe care acesta să o înțeleagă și în care să-și regăsească cerințele sale precum și pentru transmiterea proiectului situațiilor finale programatorului, fără ambiguități, pentru a-i permite acestuia trecerea la întocmirea programelor necesare editării sau vizualizării. [22]

Un instrument util pentru formatul rapoartelor sau ecranelor realizate pe calculator îl constituie macheta care este reprezentarea de detaliu a situației de ieșire, cuprinzând antet, titlu, date de identificare, cap de tabel, date elementare ce se imprima rând de rând, etc. Pe lȃngă acestea discutăm și despre criterii de control, validare și interpretare a datelor de ieșire.

Specificațiile de ieșire vor cuprinde:

pentru utilizator, macheta situației,

pentru programator macheta situației și o serie de indicații tehnice de realizare.

Pe baza specificațiilor de ieșire:

se realizează proiectarea fizică prin care se alege suportul informațiilor de ieșire,

se realizează definitivarea formei și formatului de editare a situațiilor (așezarea în pagina / ecran, spațierea între coloane și rânduri, etc.),

se definitivează procedurile de utilizare și interpretare a ieșirilor.

Alegerea tipului de suport fizic de ieșire (imprimanta, display, disc fix, floppy disc, banda magnetică etc.) se face în funcție de: timpul de răspuns solicitat, amplasarea utilizatorului față de calculator, hard-ul și soft-ul existent, costul suportului, măsura în care răspunde necesitaților de redare a conținutului informațional al situației finale.

La definitivarea formei și formatului de prezentare a situațiilor finale trebuie să se țină seama de o serie de considerente practice cum ar fi [2]:

Respectarea unor cerințe ale factorilor de decizie privind macheta situației finale;

Restricții tehnice;

Lizibilitate;

Utilizarea formularelor pretipărite;

Utilizarea generatoarelor de rapoarte.

Proiectarea codurilor

În proiectarea sistemului de coduri trebuie să avem în vedere două aspecte importante și anume [2]:

influența tipului și structurii codului asupra performanțelor sistemului informatic;

implicațiile utilizării codurilor în operațiile de culegere a datelor și interpretarea rezultatelor finale de către utilizatorii neinformaticieni.

Primul aspect ridică probleme de ordin tehnic în realizarea nomenclatorului de coduri și are în vedere facilitarea operațiilor de prelucrare, ocuparea unui spațiu de memorie internă și externă cât mai mic etc. [22]

Celui de-al doilea aspect trebuie să i se acorde o atenție mai mare în vederea ușurării activităților de culegere, verificare a datelor și interpretarea rezultatelor din situațiile finale. Având în vedere aceste considerente, se impune ca la proiectarea unui sistem de coduri să se respecte o serie de cerințe.

Activitățile parcurse în realizarea unui sistem de coduri sunt:

analiza elementelor ce urmează a fi codificate;

precizarea și uniformizarea tehnologiei, a denumirilor;

stabilirea caracteristicilor și a relațiilor dintre elementele de codificat;

alegerea tipurilor de coduri; estimarea capacității, lungimii și formatului codurilor;

atribuirea codurilor elementelor de codificat (crearea nomenclatoarelor de coduri);

întreținerea nomenclatoarelor de coduri.

Este indicat a se utiliza, acolo unde este cazul, sistemele de codificare existente la nivelul economiei naționale (CAEN, SIRUES, SIRUTA, CNP, etc).

Proiectarea intrărilor

Datele de intrare parcurg o succesiune de etape până la utilizarea efectivă în cadrul sistemului informatic. [22] Aceste etape intermediare sunt:

înregistrarea datelor pe documentul de intrare;

conversia datelor într-o formă acceptata de sistemul de calcul / transpunere pe suportul tehnic;

verificarea sintactică și semantică a datelor de intrare;

corecția datelor eronate etc.

La proiectarea intrărilor este necesar să se realizeze, în principal următoarele activități:

alegerea suportului tehnic pentru culegerea datelor – se face în funcție de cerințele aplicației;

proiectarea machetelor documentelor de intrare – trebuie să conțină antetul, denumirea documentului, coduri de identificare, data documentului, etc,

stabilirea instrucțiunilor de culegere;

stabilirea regulilor de control și validare a datelor – sunt necesare pentru scrierea programelor de verificare logică a datelor de intrar;

proiectarea formularelor de intrare – se face în funcție de modul concret de desfășurare a dialogului operator- calculator.

Proiectarea dialogurilor

Proiectarea dialogurilor este procesul prin care sunt proiectate toate secvențele folosite de utilizator pentru a comunica cu un sistem informatic. Rolul proiectantului este de a selecta cele mai potrivite metode și echipamente, precum și de a prezenta condițiile în care se pot afișa informațiile sau se pot obține de la utilizator.

Fig. 2.1. Exemplu de diagramă de apelare a meniurilor

Pentru a obține rezultate bune trebuie să se țină seama de regulile de bază la conceperea dialogurilor cum ar fi: uniformitate, comenzi scurte, ușurința în lucru, controlul, operațiunea inversă (refacerea unui element șters), rezolvarea erorilor, etc.

O modalitate de prezentare a secvenței dialogurilor este cea care apelează la tehnica diagramelor prin care se reprezintă meniurile componente ale aplicației. [22]

Proiectarea logică a bazelor de date

Proiectarea logică a bazelor de date este în strânsă legătură cu modelarea conceptuală a datelor, aceasta însemnând reprezentarea modului de organizare a datelor, independent de tehnologiile specifice de prelucrare a bazelor de date. Procesul de modelare logică a datelor se derulează în paralel cu celelalte activități ale proiectării logice: [22]

proiectarea formularelor și a rapoartelor

proiectarea dialogurilor și interfețelor.

Modelarea logică a datelor se realizează nu numai pe baza diagramei entitate-relație, ci și pe baza machetelor formularelor și a rapoartelor. Se efectuează analiza datelor elementare din intrările și ieșirile sistemului pentru a se desprinde legăturile dintre ele.

Prin modelarea logică a datelor se urmărește:

structurarea performantă a datelor prin procesul de normalizare;

obținerea unui model logic al datelor din care să se poată realiza proiectul bazei de date fizice funcție de tipul de SGBD utilizat: relațional – cel mai utilizat în prezent, rețea, ierarhic, sau orientate-obiect;

realizarea unui model al datelor care să răspundă cerințelor actuale de date regăsite în formulare și rapoarte.

Modelarea logică este un proces ascendent de obținere a relațiilor din formulare și rapoarte prin transformarea modelului entitate-relație într-o formă relațională. Procesul de modelare a datelor este complex. În fiecare etapă a ciclului de viață se regăsește câte o activitate specifică datelor.

Fig. 2.2. Diagrama entitate-relație pentru gestiunea clienților [2]

Prezentarea succintă a site-ului

Lucrearea constă în crearea unei platforme online (site web) a unui teatru cu ajutorul căruia clienții își pot procura și rezerva bilete pentru spectacole fără a se mai deplasa la un centru specializat de furnizare bilete.

Siteul se adresează în special celor care sunt interesați de spectacole, atât pentru a-și achiziționa în mod online biletele cât și pentru a se informa cu privire la programul de desfășurare al tuturor stagiunilor în desfășurare.

Prin crearea acestui website teatrul își poate prezenta stagiunile, spectacolele, orarul, datele de contact etc., cu alte cuvinte se poate promova și poate beneficia de multiple solicitări.

Astfel, utilitatea siteului este de a prezenta detalii specifice ale unei companii cu profil teatral.

Caracteristici

Cele mai importante caracteristici ale aplicației sunt:

1. Responsive

2. Tehnologii moderne

3. Rapid

4. Totul dinamic

Structura fișierelor

app/ – Folderul principal, conține sursa aplicației

bower_components/ – Diferite componente utilizate

views/ – Un view este o pagină. Fiecare pagină are HTML și PHP

css/- stylesheets

js/-diferite component ale aplicatiei (controllers,services,directives)

app.js – Fișierul .js care unește aplicația

index.html – Indexul aplicației

assets/ – Imagini sau stiluri

images/

styles/

bower_components/ – Librarii

node_modules/ – Librarii utilizate pentru uneltele folosite (precum gulp)

public/ – Locul unde ajung fișierele, pentru mediul ‘producție’

Tehnologii folosite

Frontend

HTML5

HyperText Markup Language (HTML) este un limbaj de marcare utilizat pentru crearea paginilor web ce pot fi afișate într-un browser (sau navigator). Scopul HTML este degrabă prezentarea informațiilor – paragrafe, fonturi, tabele ș.a.m.d.

CSS3

CSS (Cascading Style Sheets) este un standard pentru formatarea elementelor unui document HTML. Stilurile se pot atașa elementelor HTML prin intermediul unor fișiere externe sau în cadrul documentului, prin elementul <style> și/sau atributul style.

Framework-ul de CSS facilitează construcția de pagini web responsive. Un site web responsive este un site în care elementele lui (paragrafe, poze, tabele) se redimensionează în funcțioe de device-ul pe care este vizualizat (telefon, tabletă, desktop pc).

Pachetul onține 2 fișiere:

boostrap.min.css (.min=varianta minimizata a fisierului .css);

bootstrap.min.js css (.min=varianta minimizata a fisierului .js).Fisierul css conține cod CSS pentru elementele principale ale framework-ului: containere, butoane, paragrafe etc precum și media queries pentru fiecare tip de ecran:

De exemplu avem un site unde este nevoie de pagina home, contact, produse etc. De obicei se fac pagini diferite: home.html, contact.html, produse.html, dar dacă ne gândim, aceste pagini au elemente comune, de ex meniul de navigare footer.

Design

Responsive

Designul este responsive, acesta adaptându-se diferitelor dimensiuni ale ecranului. A fost testat pe telefoane mobile, tablete și pe sisteme desktop. Elementele grafice ale siteului își păstrează relevanța și armonia.

Atractiv

Un design care este în pas cu trendul, care atrage prin culori și prin modul în care este așezată informația.

Echilibru vizual

Am încercat să balansăm cât mai mult raportul spațiu liber / conținut astfel, informația este afișată clar, elementele nu se suprapun și totul este în echilibru, indiferent de dispozitivul pe care-l folosește utilizatorul.

Portabilitate

Siteul a fost testat pe toate browserele moderne (Chrome, Firefox, Safari, Opera) și funcționează consistent pe toate.

Datorită designului responsive, paginile se adaptează la rezoluția ecranului, oferind o experiență plăcută indiferent de dispozitivul de pe care este văzut.

Avantaje

Securitate

Folosind o metodă de autentificare integrată cu Firebase, aplicația este securizată din punct de vedere al atacurilor informatice (orice atac împotriva sistemului de logare ar eșua).

De asemenea, datorită modului în care informațiile sunt afișate, siteul este imun la XSS.

Management al informației

Aplicația folosește baza de date ce este servită de Firebase. Informația este structurată JSON, accesul la ea fiind unul foarte rapid și eficient. Înăuntrul bazei de date, informația este structurată logic, fiecare pagină având o structură proprie de date (ex. produse, servicii).

NOȚIUNI DESPRE BAZE DE DATE

SCURT ISTORIC

Evoluția tehnologiei, a metodelor și tehnicilor de organizare și de stocare a informațiilor precum și necesitatea de a prelucra rapid și sigur un volum mare de date, au determinat dezvoltarea și implementarea conceptului de bază de date în tehnologia informației.

Primele baze de date au fost dezvoltate pe sisteme mainframe și au fost manipulate de specialiști în vederea gestionării acestor sisteme. Aceste baze de date (BD) au fost simple sisteme de gestionare a bazelor de date (SGBD-uri).

Primul SGBD a fost lansat de compania Oracle. Acesta folosea sistemul de interogare SQL. Deși versiunea originală a fost dezvoltată pentru alt tip de sisteme, Oracle a fost unul dintre primii furnizori care a lansat o versiune pentru sistemele Personal Computer (PC) pe sistem de operare MS-DOS.

În perioada anilor 80, firma Sybase a lansat propriul său SGBD numit SQL-Server. [10].

În anul 1992 firma Microsoft lansează aplicația Access. Aceasta se bazează în mare parte pe logica FoxPro.

În anul 1989 Microsoft obține licența FoxPro. În scurt timp Access devine cea mai utilizată aplicație de baze de date de tip „flat file” de pe sistemele PC.

În anul 2003 compania Microsoft a anunțat lansarea Visual Studio for Applications, care este prima tehnologie ce livrează capabilități de personalizare a aplicațiilor integrate în pagini Web.

În ultimul deceniu, mediul economic a suferit o serie de schimbări. Consecința acestor transformări petrecute de-a lungul ultimelor decenii, asupra civilizației umane, în general și a mediului economic, în particular, impune tot mai pregnant necesitatea stocării informației economice într-o manieră care să permită accesul rapid, precum și posibilitatea de a extrage și a evidenția în mod inteligent doar informația solicitată.

NOȚIUNI ȘI TIPURI DE BAZE DE DATE.

Analizând definițiile date în diferitele surse ale literaturii de specialitate putem sintetiza și defini baza de date ca un sistem informatizat de gestiune a datelor ale cărui componente sunt reprezentate de datele conținute și structurate, componenta hardware a bazei de date, componenta software a bazei de date, utilizatorii atât intermediari cât și cei finali precum și procedurile de utilizare specifice [9], [11].

Descrierea conținutului conceptual al bazelor de date are în vedere, uzual, două caracteristici ale acestora:

Dimensiunea bazei de date;

Natura bazei de date –BD sunt clasificate în:baze de date interne și baze de date externe.

DATE ȘI INFORMAȚII

Datele și informațiile reprezintă componentele primare ale sistemului informațional.

Data – concept definit în TI (tehnologia informației) ca un model de reprezentare a informației într-un format accesibil unui calculator.

Informația – data care îmbogățește nivelul de cunoștințe ale celui care primește informația și îl ajută în luarea deciziilor. Orice informație este o dată în conceptul TI (tehnologiei informației) dar nu orice dată este informație.

ENTITATE, ATRIBUT, VALOARE

Entitatea este reprezentarea unică a unui obiect individual (concret sau abstract) din lumea reală, prin proprietățile sale.

Atributele entităților reprezintă proprietățile entităților.

Un atribut ia anumite valori. De exemplu, o persoană este recunoscută după nume: persoana reprezintă entitatea, numele reprezintă proprietatea entității persoana; valoarea pe care o ia această proprietate pentru un element al entității.

Orice proprietate a unui obiect poate fi exprimată printr-o pereche (atribut, valoare); o entitate poate fi exprimată prin mai multe proprietăți, deci prin mai multe perechi de tipul (atribut, valoare).

De exemplu, o persoană poate fi reprezentată prin mulțimea de perechi: (Nume, Popescu); (Data nașterii, 3 aprilie 1963); (Sex, masculin); (Profesie, inginert); (CNP, 153050590000). În acest caz, se poate afirma: entitatea persoana este definită prin atributele: nume, data nașterii, sex, profesie, CNP (codul numeric personal) [4], [6].

Atributele unei entități se stabilesc în funcție de contextul în care descrierea este necesară. De exemplu, în descrierea entității “împrumutat”, atributele pot fi: nume, prenume, CNP, funcția, studii, unde lucrează, etc.

În contextul conceptelor date – informații, definim entitatea, atributul, valoarea astfel:

Entitatea reprezintă obiectul informației

Atributul este proprietatea entității

Valoarea este măsura proprietății.

Pentru a asigura unicitatea, valorile unuia sau mai multor atribute ale entității trebuie să fie diferite de valorile corespondente ale celorlalte entități. În exemplul de mai sus, utilizarea codului numeric personal (CNP) asigură identificarea unică a unei persoane.

Entitățile mai sunt numite și entități date, obiecte date, apariții de date sau apariții.

Aceste reprezentări ale entităților devin tabele. Tabela este definită ca un produs cartezian dintre mai multe domenii, caracterizată prin un nume având date despre un anumit subiect.

De exemplu, un tabel în care este descrisă entitatea împrumutat, cu atributele: nume, studii, funcția, etc, conține rânduri sau înregistrări pentru fiecare împrumutat în parte.

O înregistrare este compusă din câmpuri care sunt constituite din atributele necesare pentru entitatea descrisă.

Noțiunea de atribut, caracteristică a unei entități, este denumită în terminologia bazelor de date câmp. Atributul definește o latură a entității (relației) și ia valori într-un domeniu asociat.

Fiecare atribut este caracterizat prin valorile pe care le ia și contribuie la identificarea entității al cărei parte este și la deosebirea ei de celelalte entități din aceeași clasă.

Valoarea atributului este cea mai mică unitate de date dintr-o entitate. Valorile atributelor nu pot fi decât cele cuprinse în domeniul atributului. Alte denumiri ale valorii atributului sunt valoarea celulei și valoarea datelor.

Figure 3.1 Exemplificare atribut, entitate și valoare.

***, Microsoft Access 2010 – Help

NOȚIUNEA „BAZĂ DE DATE”

Bazele de date au apărut din necesitatea de a avea un acces rapid și ușor la un volum din ce în ce mai mare de date.

Conceptul bază de date poate fi definit ca fiind una sau mai multe colecții de date aflate în interdependență, împreună cu descrierea datelor și a relațiilor dintre ele.

O bază de date reprezintă un ansamblu de date integrat, anume structurat și dotat cu o descriere a acestei structuri. Descrierea poartă numele de dicționar de date și realizează o relație între datele propriu-zise și programe.

Baza de date reprezintă mai mult decât o colecție de fișiere: ea include și dicționarul de date și o descriere a relațiilor dintre înregistrări (fișiere intercorelate). Descrierea este utilizată pe întreaga durată a prelucrării informațiilor.

Un fișier al unei baze de date este alcătuit dintr-un ansamblu de înregistrări fizice omogene sub aspectul conținutului și prelucrării.

Înregistrarea fizică este unitatea de transfer dintre memoria internă și cea externă a calculatorului și este formată din mai multe înregistrări logice.

Înregistrare logică este unitatea de prelucrare privită din punctul de vedere al programului utilizator și este alcătuită din mai multe câmpuri.

O bază de date reprezintă o colecție de date care sunt achiziționate cu un anumit scop și într-o structură specifică și trebuie să îndeplinească următoarele condiții:

să asigure o independență sporită a datelor față de programe;

să asigure informațiile necesare și suficiente scopului propus;

să se asigure o redundanță minimă (informații care nu se repetă);

să permită accesul rapid la informațiile stocate în baza de date.

Arhitectura bazelor de date se referă la componentele acestora și cuprinde:

baza de date propriu-zisă în care se memorează datele;

sistemul de gestiune al bazei de date care realizează gestiunea și prelucrarea complexă a datelor.

RELAȚIILE ÎNTRE TABELELE UNEI BAZE DE DATE

O bază de date este formată din mai multe tabele cu legături între ele.

Stabilirea relațiilor între tabele are în vedere îndeplinirea condițiilor pe care o bază de date trebuie să le îndeplinească în vederea prelucrării datelor din mai multe tabele.

În proiectarea unei baze de date este importantă stabilirea obiectelor reprezentate în baza de date și proprietățile care vor fi incluse; această operație este denumită modelarea datelor.

Scopul unui model de date este de a crea o reprezentare logică a structurii de date utilizată la crearea bazei de date. Realizarea unui model de date presupune:

determinarea structurii modelului;

definirea obiectelor (entităților) și a proprietăților asociate – atribute

stabilirea relațiilor între obiecte; se materializează printr-o legătură între o realizare a înregistrării dintr-un tabel numit părinte și una sau mai multe realizări ale înregistrării unui alt tabel numit fiu. Legătura între obiecte (entități) poartă numele de relație sau asociere. Între tabelele unei baze de date sunt trei tipuri de relații [12]:

unu la unu (one to one) – unei întregistrări dintr-un tabel îi corespunde prin relația stabilită o singură înregistrare în tabelul asociat. De multe ori acest tip de relație este privit și ca o împărțire a unui tabel în două tabele asociate din rațiuni de securitate (drepturi de acces) diferit pe anumite câmpuri.

unu la mai mulți (one to many) – unei înregistrări dintr-un tabel (părinte) i se pot asocia mai multe înregistrări din tabelul asociat (fiu); înregistrarea din tabelul fiu se asociază cu o singură înregistrare din tabelul părinte. De exemplu, într-o organizație, un departament are mai mulți angajați, un angajat este repartizat unui singur departament, este relație de tip 1:n, structură de tip arborescent sau unei înregistrări din tabelul clienților i se pot asocia multe înregistrări din tabelul conturilor, iar un cont aparține doar unui client.

mulți la mulți (many to many) – unei înregistrări dintr-un tabel părinte i se pot asocia mai multe înregistrări din tabelul cu care se află în relație, tabelul fiu.

stabilirea operatorilor care acționează asupra structurii de date; pot fi operatori de citire, memorare, modificare, joncțiune etc.

BAZE DE DATE RELAȚIONALE

O bază de date relațională are la bază modelul relațional, adică este alcătuită din unul sau mai multe tabele organizate ierarhic, între care s-au stabilit anumite relații. Relațiile între două tabele sunt unidirecționale, astfel că o tabelă devine principală, iar cealaltă devine subordonată.

Pentru desemnarea unei structuri relaționale de tabele se va utiliza noțiunea de bază de date relațională. Noțiuni de bază în baze de date relaționale [12]:

Cheia primară este constituită dintr-un atribut (coloană din tabel) ale cărui valori identifică în mod unic un rând (o înregistrare) dintr-o tabelă de bază. Pentru orice valoare a cheii primare corespunde un rând și numai unul în tabel. Cheia compusă (concatenată) se creează atunci când cheia primară este compusă din mai multe câmpuri care asigură unicitatea; de exemplu, numărul și data unei facturi.

Cheia candidată este o coloană (un atribut) care îndeplinește condițiile cerute pentru a deveni cheie primară (CNP din tabelul cititorilor cu cheia primară numărul din registrul cititorilor).

Cheia externă este o coloană ale cărei valori corespund celor conținute de cheia principală sau de porțiunea cea mai din stânga a unei chei compuse dintr-o tabelă asociată. O cheie externă poate fi constituită dintr-o coloană sau un grup de coloane.

Tabele specifice bazelor de date relaționale:

Tabela de bază (principală) este o tabelă care conține una sau mai multe coloane ce conțin proprietățile unui obiect și o coloană sau grup de coloane, numită cheie primară, care identifică în mod unic obiectul entitate date. O bază de date relațională poate avea una sau mai multe tabele principale.

Tabela de relații (relationships) este o tabelă utilizată pentru a stabili relațiile între tabela (sau tabelele) de bază și tabele secundare. Fiecare câmp cheie din tabela de relații trebuie să fie o cheie externă asociată unei chei principale din tabela de bază.

SISTEM DE GESTIUNE A BAZELOR DE DATE. MySQL

Sistemele de gestiune a bazelor de date (DBMS – DataBase Management System) sunt sisteme informatice specializate în stocarea și prelucrarea unui volum mare de date, numărul prelucrărilor fiind relativ mic.

În arhitectura unui sistem de baze de date SGBD ocupă locul central [12], [11].

Un SGBD este ansamblul software interpus între utilizatori și baza de date și este un interpretor de cereri de acces sau regăsire de date în baza de date, execută cererea și returnează rezultatul. SGBD este un sistem de programe care facilitează procesul definirii, construcței, organizării și manipulării datelor pentru diverse aplicații. Utilizatorul are acces la SGBD prin intermediul unei interfețe (aplicație) cu ajutorul căreia stabilesc parametrii interogării și se primește răspuns; întreg ansamblul este descris în figura 3.1.

Figure 4.2 Ansamblul SGBD [4]

Datorită cerințelor aplicațiilor multiple care utilizează baze de date, în ultimul deceniu folosirea/accesarea bazelor de date pe Internet a luat o mare amploare astfel dezvoltându-se aplicații și tehnologii noi, în acest domeniu.

Au fost create limbaje standard pe baza cărora să poată fi construite și interconectate, mai multe module tratate separat (SQL, MySQL).

FAMILIARIZARE CU BAZELE DE DATE MySQL

Bazele de date sunt de fapt, colecții de date toate aranjate în forme, asupra cărora se pot face diferite operații precum creare de bază de date (BD), conectare la baza de date, înserare de date în baza de date, ștergere de date din baza de date, adaugare și/sau modificare de date, căutare după anumite criterii în baza de date, generare și listare de rapoarte, etc.

O bază de date este formată din una sau mai multe tabele, între care se pot stabili relații, acest lucru oferind bazei de date proprietatea relațională.

Sistemul de gestiune a bazelor de date (SGBD) MySQL este un sistem des folosit împreună cu limbajul de programare PHP care va fi prezentat în capitolul următor, cu ajutorul cărora se pot construi aplicații în orice alt limbaj major.

Există multe scheme API disponibile pentru MySQL ce permit scrierea aplicațiilor în numeroase limbaje de programare pentru accesarea bazelor de date MySQL, precum: C, C++, C#, Java, Perl, PHP, Python, etc., fiecare dintre acestea folosind un tip specific API.

O interfață de tip ODBC denumită MyODBC permite și altor limbaje de programare ce folosesc această interfață, să interacționeze cu bazele de date MySQL (ex. ASP sau Visual Basic). [12]

Una dintre aplicațiile prin care se poate administra sistemul MySQL este aplicația PHPMyAdmin, cel mai important mod de administrare fiind însă cel dat de PHP prin utilizarea formularelor.

COMENZI UZUALE ȘI TIPURI DE DATE UTILIZATE ÎN MySQL

Printre comenzile uzuale utilizate în SGBD MySQL cele mai importante sunt:

CREATE – crează o bază de date și/sau un tabel

DROP – șterge o bază de date și/sau un tabel

INSERT – adaugă înregistrări(linii) într-un tabel

DELETE – șterge înregistrări(linii) într-un tabel

UPDATE – modifică înregistrările dintr-un tabel

SELECT – selectează înregistrările dintr-un tabel

ALTER – modifică proiectul unui tabel după ce acesta a fost creat cu instrucțiunea CREATE TABLE

Printre tipurile de date uzuale utilizate în SGBD MySQL cele mai importante sunt:

șiruri de caractere

Char – char[(n)] – secțiune cu lungime fixă de max. 255 caracter

Varchar – varchar[(n)] – secțiune variabilă de max 255 caractere

Text – text[(n)] – maxim 65535 caractere

numerice

Int – int[(n)] – număr întreg

float – număr real mic

double – număr real mare

decimal(n,d) – numărul este stocat sub formă de șir de caractere. Parametrul n reprezintă numărul de cifre nenule aflate înaintea virgulei (cu tot cu semnul ’–’ pentru numerele negative, dacă este cazul) iar d reprezintă numărul de zecimale

dată și oră

year – anul calendaristic

date – ’yyyy-mm-dd’ – data calendaristică

time – ’hh:mm:ss’ – ora

datetime – ’yyyy-mm-dd hh:mm:ss’ – data calendaristică și ora

OPERATORI UTILIZAȚI ÎN MySQL

Operatori aritmetici:

acționează asupra tipurilor numerice și furnizează o valoare de tip numeric:

+ – adunare;

– – scădere;

* – înmulțire;

/ – împărțire cu zecimale;

div – împărțire cu zecimale;

mod și % – împărțire cu zecimale;

– și + – operatorii unari plus și minus;

Operatori de comparare (sau relaționali):

permit compararea a două valori numerice sau a două șiruri de caractere rezultatul fiind 1 pentru adevărat și 0 pentru fals.

< – mai mic (2<3 are ca rezultat valoarea 1);

<= – mai mic sau egal (3<=3 are ca rezultat valoarea 1);

– mai mare (2>3 are ca rezultat valoarea 0);

>= – mai mare sau egal (2>=3 are ca rezultat valoarea 0);

= – egalitate (2=3 are ca rezultat valoarea 0);

!= – diferit (2<>3 sau 2!=3 are ca rezultat valoarea 1);

c) Operatori logici:

în MySQL se consideră că valoarea logică 0 joacă rolul lui false și orice valoare diferită de 0 joacă rolul lui true.

|| sau or – sau-ul logic (este 0 doar când ambii operanzi sunt 0, în rest este 1);

&& sau and – și-ul logic (este 1 doar când ambii operanzi sunt nenuli, în rest este 0);

not – negație (negația lui 0 este 1, iar negația lui 1 este 0);

xor – sau-ul exclusiv (este 0 când ambii operanzi sunt fie nuli, fie nenuli, și este 1 în rest);

d) Operatori logici pe biți:

se aplică tuturor tipurilor întregi și acționează asupra tuturor biților aflați pe poziții corespondente.

| – sau-ul pe biți;

& – și-ul pe biți;

^ – sau-ul exclusiv pe biți;

~ – negația pe biți;

e) Operatori de deplasare pe biți:

se aplică tuturor tipurilor întregi, deplasând biții reprezentării binare:

<< – deplasare stânga a<<b deplasează cu b poziții la stânga biții lui a;

>> – deplasare dreapta a>>b deplasează cu b poziții la dreapta biții lui a;

f) Operatori specifici pentru MySQL:

is null, is not null – testează dacă o valoare este sau nu null;

in, not in – testează dacă o valoare aparține sau nu unei mulțimi (1 in (1,2,3,4) are valaorea 1 și 5 in (1,2,3,4) are valoarea 0;

like, not like – testează dacă un șir de caractere are o anumită formă:

dacă este prefixat respectiv postfixat sau nu de un anumit subșir,

dacă acesta conține un anumit subșir.

between min and max – testează dacă o valoare se găsește în intervalul închis cu capetele min și max. (1 between 0 and 4 – are valoarea 1);

case .. when .. then .. else .. – are două forme sub care se poate aplica:

forma 1: case v

when v1 then val1

. . .

when vn then valn

else valn+1

end

forma 2: case

when cond1 then val1

. . .

when condn then valn

else valn+1

end.

CREAREA ȘI CONECTAREA LA O BAZĂ DE DATE ÎN MySQL

Această operație poate fi executată doar de utilizatori cu drepturi speciale.

Comanda pentru crearea unei baze de date este:

create database nume_bază_date;

Pentru a lucra cu o anumită bază de date, se va da comanda:

use nume_bază_date;

Ștergerea unei baze de date:

drop database nume_bază_date;

Vizualizarea bazelor de date existente:

show databases;

Orice comandă scrisă în linia de comandă trebuie să fie terminată cu „;”

Pentru conectarea la o baza de date vom folosi scriptul de mai jos:

<?php

$host="localhost"; //host-ul

$user="root"; //userul

$password="pass"; //parola

$database="t1"; //baza de date

$conexiune=mysql_connect($host,$user,$password)

or die ("Nu ma pot conecta la baza de date");

$bazadate=mysql_select_db($database,$conexiune)

or die ("Nu gasesc baza de date");

?>

mysql_connect() – funcția prin care se realizează conectarea la serverul MySQL

mysql_connect($conexiune) – în funcție de rezultatul conectării, va avea valoarea TRUE sau FALSE

mysql_select_db – funcția care stabilește la ce bază de date se va realiza conectarea

mysql_close($conexiune) – funcția care închide baza de date

TABELE

Într-o tabelă coloanele sunt identificabile prin nume, iar rândurile, prin valorile pe care le memorează. O tabelă are un număr specificat de coloane, însă are un număr nespecificat de rânduri. Uneori, când ne referim la un rând, folosim și termenul de înregistrare, iar atunci când ne referim la data din rând, situată într-o anumită coloană, folosim și termenul de câmp. (noțiunile au fost prezentate în capitolele anterioare).

Instrucțiunea prin care se poate crea o tabelă:

create table nume_tabelă

( nume_coloană1 tip_date [specificatori],

nume_coloană2 tip_date [specificatori],

nume_coloanăn tip_date [specificatori]

);

ce este trecut între paranteze drepte reprezintă clauze, atribute sau bucăți de instrucțiune care, din punct de vedere sintactic pot să nu apară.

specificatorii se referă la cheia primară, valori distincte, valori implicite, autoincrementare.

Instrucțiunea prin care se adaugă un rând într-o tabelă

insert into nume_tabelă values(valoare1,valoare2,…,valoaren);

sau

insert into nume_tabelă(nume_coloană1,nume_coloană2,…,nume_coloanăk)

values(valoare1,valoare2,…,valoarek);

Instrucțiunea prin care se afișează întreaga tabelă:

select * from nume_tabelă;

Instrucțiunea prin care se afișează doar anumite coloane ale tabelei:

select nume_coloana1,…,nume_coloanak from tabelă;

Instrucțiunea prin care se listează numelor tuturor tabelelor din baza de date:

show tables [from nume_bază_date];

Instrucțiunea prin care se afișează o descriere detaliată a unei tabele:

describe nume_tabelă;

show columns from nume_tabelă;

LIMBAJ DE PROGRAMARE PHP

Deseori în realizarea site-urilor web dinamice, pe lângă limbajul de marcare HTML cu ajutorul căruia sunt create paginile statice, se utilizează și limbajul de programare PHP prin care pot fi create și paginile dinamice, pagini în care apare elementul de interactivitate, de exemplu posibilitatea preluării datelor din formulare realizate în PHP, citirea, prelucrarea și afișarea. Totodată se poate face interacțiunea cu o bază de date creată pe un server.

Numele PHP provine din limba engleză și este un acronim recursiv: Php: Hypertext Preprocessor. Folosit inițial pentru a produce pagini web dinamice, este folosit pe scară largă în dezvoltarea paginilor și aplicațiilor web. Se folosește în principal înglobat în codul HTML.

Este unul din cele mai importante limbaje de programare web open-source și server-side, existând versiuni disponibile pentru majoritatea web serverelor și pentru toate sistemele de operare. Conform statisticilor este instalat pe 20 de milioane de situri web și pe 1 milion de servere web.

Astfel folosind PHP putem genera și manipula coduri HTML dar putem trimite headere HTTP pentru autentificare, putem seta cookie-uri sau redirecționa utilizatorii după diverse criterii dorite.

Pentru a putea lucra cu PHP trebuie în primul rând să avem acces la un server pe care rulează PHP (acesta poate fi server separat sau server virtual creat pe calculatorul personal).

Datorită necesității testărilor aplicațiilor făcute, înaintea publicării în mediul online, au fost necesare soluții de rularea fișierelor PHP și local (pe calculatorul personal). Pentru aceasta trebuiesc îndeplinite două condiții esențiale:

instalalarea pe PC, pe lângă limbajul PHP și a unui server de web;

realizarea legăturii dintre cele două.

Unul dintre pachetele oferite gratuit (open-source), disponibile pe Internet, este XAMPP. Numele acestui pachet, foarte simplu de instalat, este un acronim pentru:

XAMPP:

X de la "cross", care înseamnă cross-platform

A de la Apache HTTP Server

M de la MySQL

P de la PHP

P de la Perl

Se vede că acest pachet de programe conține mai multe aplicații printre care, ce ne interesează sunt:

serverul Apache pentru http;

serverul de MySQL;

suport pentru limbajul PHP.

Pentru instalarea și rularea pachetului XAMPP, cerințele tehnice sunt minimale. Este suficient un Windows 2000, XP sau Vista și pachetul XAMPP va rula fără probleme.

DESCĂRCAREA ȘI INSTALAREA XAMPP

Adresa de unde poate fi descărcat pachetul gratuit este:

http://www.apachefriends.org/en/xampp-windows.html

Se descarcă executabilul installer-ului (Figura 5.1):

După descărcare fișierului „installer”, se lansează în execuție și se instalează urmănd pașii specificați de către aplicație. Trebuie de ajut în vedere că este necesar să se selecteze pentru instalare, toate cele 3 servere: Apache, Mysql și Filezilla (filezilla este un server de FTP) ca și servicii.

La sfârșitul instalării, server-ul de web este funcțional. Pe lângă baza de date MySQL inclusă are și suportul php. Prin intermediului ferestrei de control XAMPP, pe lângă controlul și gestionarea serverelor instalate, se poate vedea și care este starea curentă a acestora.

Figure 5.3 Descărcare fișier “Installer”.

Testarea funcționalității server-ului web se face prin utilizarea unui browser de internet, scriind la adresă:

http://localhost

Dacă instalarea a fost făcută cu succes, va apărea o pagină în care trebuie selectată limba de operare.

În situația în care la instalarea XAMPP nu a fost modificată locația implicită, directorul rădăcină al documentelor web va fi:

c:\xampp\htdocs.

SCURT ISTORIC AL VERSIUNILOR PHP

1995 – Personal Home Page Tools – Rasmus Lerdorf

1995 – PHP/FI 2.0

1998 – PHP 3 – începe să fie dezvoltat de Zend

Zeev Suraski & Andi Gutmans

2000 – PHP 4 – motor de procesare Zend

(2002-2003) – PHP 4.3 – motor de procesare Zend 2.0

2004 – PHP 5 – multe facilități inspirate din Java

PHP 6 (în dezvoltare)

Spre deosebire de documentele HTML care pot fi deschise de orice utilizator folosind un simplu navigator web , un document PHP necesită instalarea unui interpretor PHP pe serverul HTTP. Server de aplicații Web oferă un limbaj de programare de tip script, interpretat poate fi inclus direct și în cadrul documentelor HTML.

FUNCȚIONAREA PROCESORULUI PHP

După cum a mai fost menționat, pentru a fi recunoscut de serverul HTTP un fișier PHP trebuie să aibă extensia .php.

Figure 5.4 Schema bloc. [1]

La accesarea documentului de un utilizator interpretorul PHP parcurge codul sursă al documentului până ajunge la tag-ul care marchează începutul codului PHP ( <?php ). Din acel moment codul este interpretat ca un cod PHP până la închiderea tag-ului ( ?>)

În codurile PHP putem creea variabile pe care le putem apela de câte ori dorim. Pentru a creea o variabilă începem cu simbolul “ $ ” urmat de numele acesteia care trebuie să înceapă cu o literă sau underscore. Utilizarea variabilelor este limitată doar de scopul în care dorim să folosim funcția.

$exemplu=” Acesta este un exemplu “;

PHP-ul este un limbaj de programare foarte permisiv nefiind nevoiți să declarăm ce tip este variabilă când o creem, de asemenea putem ajunge la același rezultat prin mai multe metode depinzând de module de gândire a fiecarui programator.

La creearea unui cod PHP ghilimelele se folosesc în perechi "…" sau '…', folosirea lor "…' sau '…" constituie o eroare.

Limbajul PHP folosește structuri de control aceastea permițând definirea unei condiții care va declașa operațiunea în funcție de condițiile puse.

Condițiile sunt încadrate în paranteze rotunde iar instrucțiunea care se execută în funcție de condițiile îndeplinite este încadrată de acolade. Dintre cele mai importante condiții amintim: if , else, elseif , while , for, include, break, require, ș.a.

Instrucțiunea condițională if este cea mai folosită, else este altă instrucțiune condițională care indică ce se execută în cazul în care condiția menționată în instrucțiunea if nu este îndeplinită. Elseif este o combinație între if și else. În cazul în care condiția if nu este îndeplinită se introduce elseif care definește încă o condiție. Dacă nu este îndeplinită a doua condiție se execută declarația introdusă prin else.

Comanda include și require sunt două comenzi indentice folosite pentru a integra un cod PHP scris în alt fișier în fisierul PHP la care lucram. În principiu aceste comenzi fac același lucru singura diferență este când apare o eroare:

Include va produce doar un avertisment (E_WARNING) și codul va continua să ruleze.

Require va produce o eroare fatală (E_COMPILE_ERROR) și va oprii codul.

Variabilele get și post sunt folosite pentru a aduna informațiile dintr-un formular. Deși în principu au acelasi rezultat exită unele diferențe.

get – informațiile colectate din formular sunt vizibile tuturor în bara de adresă a navigatorului web și limita de informații trimise este de 2000 de caractere.

post – informațiile colectate din formular nu sunt vizibile în bara de adresă a navigatorului web și nu există limită pentru informațiile trimise.

De asemenea PHP-ul poate fi folosit pentru a manipula baze de date ( MySql sau alte tipuri de baze de date ). Astefel putem creea variabile care să includă anumite query-uri sau putem creea form-uri care pot scrie direct în baza de date informațiile introduse.

Creeare unei variabile ce conține un query MySql permite culegerea informațiilor dintr-o bază de date. $q = mysql_query("SELECT * FROM tabel");

Folosirea limbajului PHP ne permite executarea unor operații asupra fisierelor aflate pe server. Putem deschide (fopen), închide (fclose), citii (fread), scrie (fwrite) sau indica dimensiunea unui fișier(filesize).

STRUCTURA UNUI FIȘIER PHP

Codul PHP poate fi scris folosind orice editor de texte, de exemplu editorul Notepad. Lansarea în execuție a programului scris se face utilizând un browser (de exemplu Internet Explorer) în care se va scrie în bara de adrese:

http://localhost/<nume_fisier.php>.

Figure 5.5 Structura unui fișier .php.

Spre deosebire de fișierele .html care pot fi deschise imediat ce au fost create pe discul local direct în browser-ul de Internet, lansarea în execuție a unui cod PHP se realizează după ce fișierele sunt puse în directorul în directorul rădăcină al documentelor web. Un fișier care conține un script PHP trebuie să fie salvat cu extensia .php.

În figura 4.2 este prezentată structura unui fișier .php din care se poate observa asemanarea cu fișierele .html. Diferența între cele două este dată de scriptul PHP, care este inserat între tag-urile colorate în roșu: „<?php” și „?>” (Figura 4.2).

Instrucțiunea „echo” cuprinsă între acestea este o instrucțiune specifică limbajului PHP și are rolul de a scrie în pagina web textul ce este cuprins între ghilimele.

Rezultatul vizualizat în pagina de browser este prezentat în figura 4.3.

Figure 5.6 Vizualizare în browser.

Prin lansarea directă a fișierului care are extensia .php (cu clic pe el), prezent în figura 4.3, conținutul afișat în browser va fi cel prezentat în figura 4.4.

Figure 5.7 Rezultatul instrucțiunii echo din codul php prezentat în figura 4.2.

VARIABILE, CONSTANTE ȘI OPERATORI ÎN PHP

Constante

Constantele recunoscute de limbajul PHP sunt asemănătoare cu cele recunoscute de limbajul C:

constante numerice întregi și reale;

constante de tip caracter și șir de caractere

Caracterele speciale sunt aceleași ca și în C: \n, \\, \’, \” și altele.

constante de tip bool: false și true.

Definirea constantelor de către utilizator, se face cu ajutorul funcției define care are următoarea sintaxă:

define(”nume constanta”, valoare);

Variabile

Variabilele sunt mărimi ce pot lua diferite valori. În PHP numele variabilelor începe cu caracterul ”$” urmat de o literă sau de caracterul ”_”, nicidecum de o cifră.

Spre deosebire de C, variabilele nu se declară la început, ci tipul lor este definit prin valoarea atribuită variabilei inițiale.

O variabilă este definită astfel:

$<variabila>=<valoare>;

Variabile predefinite

$_SERVER['REMOTE_ADDR'] – afișează adresa IP a vizitatorului

$_SERVER['HTTP_USER_AGENT'] – afișează informații despre browserul folosit

$_SERVER['HTTP_REFERER'] – afișează pagina vizitată anterior

$_SERVER['SERVER_NAME'] – afișează numele serverului

$_SERVER['SCRIPT_NAME'] – afișează numele scriptului

Operatori

Mulți dintre operatorii limbajului PHP sunt cunoscuți din C++. În continuare se va realiza o trecere succintă prin operatorii întâlniți în PHP.

Operatori aritmetici:

acționează asupra tipurilor numerice și furnizează o valoare de tip numeric:

+ – adunare;

– – scădere;

* – înmulțire;

/ – împărțire cu zecimale;

mod și % – împărțire cu zecimale;

Operatori de comparare:

permit compararea a două valori numerice sau a două șiruri de caractere rezultatul fiind TRUE pentru adevărat și FALS pentru fals.

< – mai mic ($a<$b are ca rezultat valoarea TRUE);

<= – mai mic sau egal ($a<=$b are ca rezultat valoarea TRUE);

> – mai mare ($a>$b are ca rezultat valoarea TRUE);

>= – mai mare sau egal ($a>=$b are ca rezultat valoarea TRUE);

= = – egalitate ($a= =$b are ca rezultat valoarea TRUE);

= = = – identic ($a= = =$b are ca rezultat valoarea TRUE);

<> – diferit ($a<>$b are ca rezultat valoarea TRUE);

!= – diferit ($a!=$b are ca rezultat valoarea TRUE);

c) Operatori logici:

în MySQL se consideră că valoarea logică 0 joacă rolul lui false și orice valoare diferită de 0 joacă rolul lui true.

|| – sau-ul logic ($a||$b are ca rezultat valoarea TRUE);

or – sau-ul logic ($a or $b are ca rezultat valoarea TRUE);

&& sau and – și-ul logic ($a && $b are ca rezultat valoarea TRUE);

not sau ! – negație ($a!$b are ca rezultat valoarea TRUE);

xor – sau-ul exclusiv ($a xor $b are ca rezultat valoarea TRUE);

INSTRUCȚIUNI ÎN PHP

instrucțiunea if: if(expresie) instrucțiune1;

[else instrucțiune2;]

Instrucțiunea while while(expresie) instrucțiune;

Instrucțiunea do…while. do

instrucțiune;

while(expresie);

Instrucțiunea for.

for(expresieinițializare;expresiecontinuare;expresieincrementare) instrucțiune;

LUCRUL CU FIȘIERE ÎN PHP

Prin utilizarea limbajului de programare PHP, se pot executa anumite operații asupra fișierelor aflate pe server cum ar fi:

fopen() = deschide fisierul indicat

fclose() = inchide fisierul

fread() = citeste continutul fisierului

fwrite() = scrie in fisier

filesize() = indica dimensiunea fisierului

PROGRAMAREA GRAFICĂ ÎN PHP

Programarea grafică reprezintă una dintre cele mai spectaculoase componente ale multor limbaje de programare, care constă în crearea și manipularea imaginilor.

Prin utilizarea limbajului de programare PHP se poate lucra cu diferite formate de imagini, incluzând gif, png, jpg, se poate genera o imagine sub forma unui flux de date (făra a o înregistra sub forma unui fișier pe server) direct către browser, etc.

Pentru a face funcțional suportul grafic al limbajului, este necesară utilizarea bibliotecii gd2 care, în cazul pachetului XAMPP, este instalată și activată în mod implicit.

Un inconvenient este constituit de faptul că, spre deosebire de alte limbaje de programare, în PHP nu există constante predefinite pentru culori. Acestea trebuiesc setate, fie create manual, specificând pentru fiecare componentele de roșu, verde și albastru, ca în situația fișierului HTML.

Funcții utilizate la imagini

header(string) – are ca efect trimiterea browser-ului informații despre mime-type-ul imaginii create. String-ul poate lua următoarele valori:

“Content-type: image/png” – pentru imaginile de tip png

“Content-type: image/jpeg” – pentru imaginile de tip jpg

“Content-type: image/gif” – pentru imaginile de tip gif

imagecreatetruecolor(lățime, înălțime)- creează o resursă de tip imagine, pe 32 de biți (truecolor) având lățimea, respectiv înălțimea specificată.

imagecolorallocate(resursă_imagine, roșu, verde, albastru)- creează o resursă de tip culoare, asociată imaginii specificată prin resursa din primul parametru.

imagesetthickness(res_imag, thickness) – stabilește grosimea liniilor la thickness pixeli, atunci când se desenează linii, dreptunghiuri, poligoane;

imageline(resursă_imagine,x0,y0,x1,y1,resursă_culoare) – desenează un segment de dreaptă, de culoarea specificată de resursă_culoare

imagedashedline(resursă_imagine,x0,y0,x1,y1,resursă_culoare) – la fel ca imageline, doar că segmentul de dreaptă desenat este punctat.

imageellipse(resursă_imagine,x0,y0,diam_x,diam_y,resursă_culoare) – desenează o elipsă;

imagerectangle(res_imag,x0,y0,x1,y1,res_culoare) – desenează un dreptunghi

imagechar(res_imag,font,x0,y0,caracter,res_culoare) – afișează în imagine caracterul caracter

LIMBAJ DE MARCARE HTML

Când vorbim de tehnologie web, vorbim de tot ce se află "în spatele" aplicațiilor pe care le dezvoltăm și anume despre platforme soft, limbaje și framework-uri, concepte de programare, tehnici de prelucrare a informației.

Așadar, fie că este vorba despre platformele pe care ne dezvoltăm aplicațiile, bazele de date, mediile și uneltele software pe care le utilizăm, algoritmii, funcțiile și procedurile pe care le gândim, standardele pe care trebuie să le respectăm pentru dezvoltarea acestora, toate acestea țin de tehnologiile web.

Utilizăm constant:

PHP și MySQL, Flash, Papervision și Actionscript, HTML și CSS, Java și JavaScript;

librării dinamice;

content sharing prin RSS/API;

CMS open-source: WordPress, Joomla;

CMS custom-made: Adkontent, shopping carturi personalizate, sisteme de e-commerce "white label", sisteme de afiliați;

sisteme de e-payment prin card sau prin SMS via web sau prin telefonul mobil, platforme de server Microsoft sau Apache.

Termenul HTML – HyperText Markup Language tradus din engleză ca “Limbajul de marcare a hipertextului”.

CERINȚE NECESARE ÎN VEDEREA REALIZĂRII DE HTML

experiență de utilizare a calculatorului la nivel de procesor de text precum Notepad, WordPad, Microsoft Word sau altele;

experiență de utilizare a aplicațiilor grafice cum ar fi Adobe PhotoShop, Corel PhotoPaint, etc;

cunoștințe în clasificarea caracterelor digitale, a noțiunilor de codificare binară și cod binar al caracterelor;

cerințe software:

un procesor de text în care se prelucrează sursa documentului;

un program browser în care se realizează controlul rezultatelor programării (Microsoft Internet Explorer, Netscape Communicator, Opera, Crome, etc.).

După acumularea experienței de creare a documentelor electronice se poate trece la un soft specializat pentru programare HTML, cum ar fi, de exemplu, Macromedia Flash.

CREAREA DOCUMENTELOR HTML

Există două principii de creare a documentelor HTML:

Tehnologia închisă. Se utilizează sisteme de tipul WYSIWYG (What You See Is What You Get) – ce vezi este ce primești (Microsoft Front page, Word, Netscape Editor). Utilizatorul nu are acces la sursa documentului. El vede doar rezultatul.

Tehnologia deschisă. Procesoare HTML propriu-zise. Utilizatorul îndeplinește rolul de programator. Crearea documentului este realizată direct prin modelarea sursei și utilizarea instrucțiunilor limbajului.

Structura unui document HTML

Documentele HTML sunt fișiere text obișnuite care au extensia *.html. Cel mai simplu document HTML are următoarea structură:

Structura paginilor de tip HTML este formată din două parți principale, head și body, după cum se poate observa în figura 5.1 în și exemplul de mai jos.

Figure 6.8 Structura unui document HTML.

Un exemplu de document HTML cu structură elementară este prezentat mai jos:

<html>

<head>

<title> Exemplul 1 </title>

<H1> Exemplul 1 </H1>

</head>

<body>

<H1> SALUT! </H1>

<P> E primul pas în lumea publicațiilor electronice.

</P>

<P>

<B> Exercitiu </B> Scrieți acest fișier într-un procesor de texte, salvați-l, și deschideți o copie a lui în Internet Explorer.

</P>

</body>

</html>

Figure 6.9 Vizualizarea grafică a codului HTML.

Orice pagină HTML începe cu tag-ul <html> care la rândul său conține alte două tag-uri principale: head și body. O pagină HTML se temină întotdeauna cu tag-ul </html> tag care determină sfârșitul codului HTML și implicit al paginii.

Tag-ul <head> conține tag-ul <title>. Astfel folosind codul <title> Titlul tau </title> în bară de titlu a navigatorului web va apărea ce este între tag-urile title și anume: Titlul tau . Dacă acest tag lipsește, în bară de titlu a navigatorului web va fi afișat numele fișierului HTML.

Tag-ul head mai poate conține următoarele tag-uri:

<style> … </style> – definește stilul în care sunt afișate informațiile din document.

<style> … </style> – utilizat pentru introducerea unor secvențe de program de scriptare în document.

<base> … </base> – definește baza pentru toate linkurile relative din document.

<link> … </link> – definește legătura dintre document și o resursă externă. Tagul este des folosit pentru a lega documentul de un css extern.

<meta> … </meta> – definește informații despre document. Chiar dacă nu sunt afișate ele sunt procesate și sunt deseori folosite pentru a descrie documentul, cuvinte cheie, autor sau alte informații .

Tag-ul <body> … </body> este după cum spune și traducerea cuvântului corpul documentului HTML. Acesta conține toate informațiile ce vor fi afișate de navigatorul web când documentul va fi accesat.

Acest tag poate primii următoare atribute:

background – indică o imagine care dorim să apară pe fundal.

link – definește culoarea link-urilor nevizitate.

<body link="blue">

alink – definește culoarea link-urilor active.

<body alink="red">

vlink – definește culoarea link-urilor vizitate.

<body vlink="green">

background – definește o imagine de fundal pentru document.

<body background="poza.jpg">

bgcolor – definește o culoare de fundal pentru document.

<body bgcolor="#E6E6FA">

text – definește culoarea textului din document.

<body text="green">

În interiorul tag-ului <body> pot fi folosite numeroase alte tag-uri dintre care enumeram cele mai inportante:

Tagul <div> definește o secține intr-un document HTML. Poate fi folosit să grupeze blocuri din document pentru a fi formatate folosind CSS. În exemplu de mai jos vom avea o secțiune în care textul va fi colorat în albastru.

Folosind tagul < font > putem definii ce font folosim, ce culoare are sau ce mărime are acesta.

Principalele atribute:

color – definește culoarea fontului

face – definește fontul folosit

size – definește marimea fontului

Pentru a insera un formular într-un document HTML se foloseste elementul

< form > acest tag folosește atât partea de client cât și partea de server pentru a procesa informațiile.

Poate conține următoarele tag-uri

<input> – definește tipul de infomație care poate fi introdusă.

<textarea> – definește un camp de text cu mai multe randuri.

<button> – definește un buton care poate fi click-uit

<select> – este folosit pentru a creea o listă de tipul drop-down.

<optgroup> – creează grupuri intr-o listă de tipul drop-down.

<fieldset> – este folosit pentru a grupa elementele cu legături dint-un form.

<label> – genereaza o lista de optiuni cu o singură varianta de alegere.

<img> – folosit pentru a insera o imagine în documentul HTML.

Are două atribute abligatorii: src și alt. Alte atribute ce îi pot fi atribuite: align, border, hspace, vspace.

Tagul <input> este atribuit tuturor câmpurilor destinate introducerii datelor într-un formular. Există zece tipuri de câmpuri ce pot fi introduse. Acestea sunt: text, submit, image, password, hidden, checkbox, reset, radio, file și buton.

Dacă dorim ca un text să fie afișat asa cum este scris în codul HTML vom folosi perechea de taguri <pre>…..</pre>.

Putem creeea și liste, aceastea pot fi ordonoate ( <ol> , elementele vor fi numerotate), neordonate ( <ul>, elementele vor avea un bullet ) și definite ( <dl>, care conține o secvență de descrieri, referințe sau indexuri ). Liste pot conține un număr nelimitat de obiecte.

Se pot creea trimiteri către obiecte din document sau către pagini externe folosind tagul <a>.

Listele pot avea diferite atribute dintre care admintim următoarele atribute :

type: definește tipul de bullet folosit

value: stabilește valoarea unui element din listă

Folosirea tagului <frame> ne permite afișarea unei pagini web externe în interiorul documentului nostru.

Tabelele reprezintă în HTML un element foarte important fiind marcate de tagurile <table>….</table>. Ele pot fi folosite pentru formatarea și împarțirea paginii.

Alte tag-uri HTML importante:

<b> / <strong> – creează text bold.

<h1> – <h6> – h1 definește cel mai important titlu iar h6 definește cel mai puțin important titlu.

<hr> – creează o linie orizontală.

<i> – creează text italic.

<p> – definește un paragraf.

<img> – inserează o poză în documentul HTML

PREZENTARE APLICAȚIE

PROIECTARE APLICAȚIE

Proiectarea generală:

are ca obiectiv elaborarea concepției logice a sistemului informatic;

definirea acestuia din punct de vedere structural și funcțional;

presupune stabilirea componentelor sistemului informatic;

presupune analiza datelor de ieșire, a bazei informaționale de intrare, a documentelor pe care sunt consemnate datele de intrare, a legăturilor dintre ele și a funcționalității sistemului astfel încât toate elementele sale să formeze un întreg.

Structura generală a sistemului informatic cuprinde un ansamblu de intrări, prelucrări și ieșiri definite în funcție de obiectivele noului sistem.

Fazele proiectării trebuiesc parcurse în ordinea următoare:

stabilirea obiectivelor;

proiectarea ieșirilor;

proiectarea bazei informaționale de intrare;

codificarea;

proiectarea documentelor de intrare;

proiectarea structurală și funcțională;

elaborarea documentului.

Etapele de dezvoltare a unei aplicații

Scopul și obiectivele aplicației Web – Identificarea și înțelegerea nevoilor vizitatorilor.

Conștientizarea scopului dorit a fi materializat și grija planificării activităților sunt cruciale, mai ales dacă facem parte dintr-o echipă de design a unui site. Înainte de a începe construirea site-ului respectiv, trebuie să avem în vedere:

identificarea publicului-țintă (target audience);

stabilirea scopului site-ului;

cunoașterea obiectivelor principale;

întocmirea unui plan concis privitor la informațiile disponibile pe site.

proiectarea site-ului trebuie să ia în considerație cerințele impuse de beneficiarul acestuia. Se impune așadar discutarea cu beneficiarul, în amănunțime, a cerințelor, căzându-se de comun acord asupra unor aspecte generale și/sau particulare ale site-ului respectiv.

Aspecte generale ale proiectării interfeței Web

Una dintre regulile de bază în conceperea unei interfețe utilizator pentru un produs software este următoarea: O interfață utilizator este bine scrisă atunci când programul se comportă exact așa cum se așteaptă utilizatorii săi.

Această regulă trebuie avută în vedere și la conceperea site-urilor Web.

Navigarea prin site este o altă problemă importantă, de interfață în cazul site-urilor Web este. Pictogramele clare, consistente, o privire de ansamblu asupra site-ului și o pagină de cuprins pot da utilizatorilor încrederea că au posibilitatea de a găsi informațiile dorite într-un mod eficient.

Utilizatorii trebuie să aibă întotdeauna posibilitatea de a se întoarce cu ușurință la pagina de start și la oricare alte puncte importante de navigare prezente în cadrul site-ului. Aceste legături fundamentale, care ar trebui să fie prezente în fiecare pagină a site-ului, sunt butoane grafice sau ancore text, furnizând legături de navigare de bază și dând certitudinea utilizatorului că se află în continuare în domeniul site-ului nostru

O interfață Web bună trebuie să țină cont de context, vizitatorii trebuind să fie conștienți de poziția lor în cadrul organizării informațiilor de pe sit. În cazul documentelor tipărite, contextul este dat de o combinație de indicii organizaționale și grafice puse la dispoziție de designul grafic al publicației și de faptul că acel document (carte, revistă, raport tehnic) este perceput ca obiect fizic. Așadar, proiectantul Web trebuie să furnizeze un anumit context al navigării.

Asigurarea simplității și consistenței

Utilizatorii nu sunt impresionați de complexitatea gratuită a site-ului, în special cei care doresc de la situl vizitat informații clare și actuale.

Fiecare obiect de interfață (e.g.: butoanele, sigla organizației) are asociat un simbol. Oriunde este reprezentat într-o pagină Web obiectul în cauză trebuie folosit simbolul care îl reprezintă. Pentru a fi eficientă, interfața trebuie să posede un număr redus de simboluri, restrângându-se pe cât posibil la minim vocabularul de interacțiune cu utilizatorul.

Stabilitatea designului

Un site neglijent construit, având un design vizual slab, nu va inspira încredere vizitatorilor, mai ales în domenii precum comerțul electronic.

Stabilitatea funcțională în designul Web înseamnă asigurarea funcționării elementelor interactive ale site-ului în vederea exploatării eficiente a acestuia. Stabilitatea funcțională presupune două componente:

realizarea optimă a site-ului chiar de la prima versiune a acestuia, din momentul construirii și implementării;

menținerea unei bune funcționări a site-ului de-a lungul existenței sale.

Asigurarea accesibilității

Nu toți utilizatorii site-ului vor putea profita de posibila bogăție grafică oferită de paginile Web. Unii vizitatori ar putea parcurge site-ul folosind un navigator text (precum Lynx sau Links din mediile Linux) sau ar putea avea diverse handicapuri fizice. Un mare avantaj al limbajului HTML este abilitatea de a oferi mesaje alternative fiecărui obiect multimedia – de exemplu, atributul alt pentru <img>, summary pentru tabele ori title pentru majoritatea marcatorilor. Utilizatorii care nu au posibilitatea vizualizării grafice a conținutului site-ului vor putea așadar înțelege funcționalitatea elementelor grafice/multimedia din paginile site-ului.

Proiectarea site-ului Web

Înainte de a începe activitatea propriu-zisă de proiectare trebuie să ținem cont de faptul că există motive organizaționale fundamentale pentru a împărți o cantitate. Scopul majorității schemelor organizaționale este cel de a menține minim numărul variabilelor locale pe care cititorul trebuie să le păstreze cu ușurință în memoria de scurtă durată. Astfel se folosesc diverse combinații de design grafic și șabloane ale aranjamentului (layout-ului) informației. Pe un site, vizitatorii trebuie să aibă acces la părți discrete de informație, disponibile în cantități ușor de reținut. Modul în care oamenii caută și folosesc informațiile sugerează de asemenea faptul că unitățile de informație mici, distincte, se dovedesc mai funcționale și mai facil de parcurs decât cele nediferențiate, de dimensiuni apreciabile.

Organizarea informațiilor

Cele patru etape de bază în organizarea informației de pe site sunt următoarele:

divizarea informațiilor în unități logice,

stabilirea unei ierarhii a modulelor de date în funcție de importanță și de generalitate,

utilizarea acestei ierarhii pentru a crea relații între unitățile logice,

analizarea rezultatului din punct de vedere estetic și funcțional.

Organizarea site-ului

Site-ul trebuie să prezinte vizitatorilor săi o organizare judicioasă, clară.

Alături de principalele componente ale unui site Web (pagina de start, paginile subiectelor intermediare și paginile subsidiare) trebuie să avem în vedere diverse elemente menite a facilita parcurgerea conținutului și navigarea prin site. Este necesar ca site-ul să conțină posibilități de navigare: butoane, hărți de imagini, legături textuale, eventual cadre (deși utilizarea acestora din urmă nu este recomandabilă).

Întotdeauna când folosim pentru legături imagini sau hărți senzitive, ar trebui să includem legăturile textuale corespunzătoare.

Site-ul trebuie să fie consistent. Mărimea și culoarea butoanelor, textului și legăturilor, localizarea pe pagină a legăturilor navigaționale trebuie să fie similare în întregul site.

INSTALARE ȘI RULARE APLICAȚIE

Instrucțiuni de instalare XAMPP

Având în vedere specificul aplicației și după cum am menționat în capitolele anterioare, pentru a putea vizualiza aplicația sunt necesari de urmat, următorii pași:

Se descarcă kitul de instalare XAMPP care este de fapt un web server cross platform și care constă în Apache HTTP Server, MySQL Database și interpretoare pentru rularea scripturilor PHP.

Linkul de la care se poate realiza downloadul, este:

https://www.apachefriends.org/ro/index.html

După terminarea descărcării se rulează executabilul în vederea instalării aplicației.

După finalizarea instalării, în directorul în care a fost realizată instalarea (C dacă nu sunt schimbate locațiile), se va regăsi un folder numit xampp.

Dublu click pe fișierul xamppcontrol.exe (din directorul xampp).

Se deschide o fereastră prezentată în figura 7.1.

Figure 7.10 Instalare XAMPP.

Se instalează modulele necesare, în cazul de față modulul Apache și modulul MySQL, prin apasarea butoanelor de Start aferente fiecărei categorii în parte (Apache, MySQL)

Figure 7.11 Pornire module Apache și MySQL.

În urma pornirii efectuate, pentru categoria Apache vor aparea la port 2 numere. Cel de al doilea număr este portul pe care va rula localhost-ul (figura 7.2).

Se mută folderul cu proiectul realizat (în cazul de față folderul Teatru), în subdirectorul C:/xampp/htdocs (dacă la instalarea XAMPP nu s-a schimbat locația.

Accesați adresa http://localhost:(port)/phpmyadmin

Nume utilizator: root

Parola: root

Se creează o nouă bază de date numită teatru

Figure 7.12 Crearea bazei de date „teatru”.

Se importă baza de date din folderul cu proiectul numită “teatru.sql” (c/xampp/htdoc /Teatru) – figura 7.4.

Figure 7.13 Importarea bazei de date din directorul c/xampp/htdoc/Teatru.

Ultimul pas este deschiderea unui browser și accesarea adresei următoare:

http://localhost:(port)/Teatru/index.php

ex : http://localhost:7777/Teatru/index.php

Prezentare aplicație

BookTicket este o aplicație online prin care orice utilizator poate rezerva biletele pentru spectacole piese de teatru.

BookTicket este o aplicație de tip responsive, concepută cu tehnologii moderne, totul fiind dinamic, nimic hardcoded.

Detalii tehnice

Tehnologiile folosite la realizarea aplicației online sunt:

HTML,CSS, Javascript –framework Bootstrap ->Front end

PHP si MySQL – Backend

Prima pagină a aplicației (index.php) conține o pagină unde utilizatorul poate vedea piesele de teatru disponibile.

Figure 7.14 Prima pagină.

În parte superioară a paginii se află meniul principal format din 4 categorii:

Despre TNB – conține informații privind Teatrul Național

Trupa TNB – conține un album cu actorii, regizorii, scenografii Teatrului Național

Bilete online – utilizatorul poate comanda bilete

Cum ajung? – detalii privind locația

După apasarea butonului Cumpară bilet utilizatorul este redirecțional către pagina comanda.php unde poate vedea informatii privind piesa precum și detaliile despre aceasta (scenografie, data premiere, durata, etc).

Detalii implementare:

Pe prima pagina a fost creat un tabel în care sunt afișate piesa de teatru, ora și data.

Pentru aceasta operație a fost folosit un script PHP.

Pentru a afișa ziua săptămânii, data, luna și pentru a le converti în caractere, a fost utilizată functia strtotime.

Pentru extragerea și afișarea datei în limba română, au fost utilizați 2 vectori pentru reținerea zilelor săptămânii și lunilor anului. Vectorii în PHP sunt numerotați de la 0, atunci pe pozitia 0 am se regăsește caracterul “0”, pentru ca ziua lunii/saptamnii să corespundă cu indicele din vector (Luni->1; Ianuarie->1).

Extragerea zilei și a lunii a fost implementată cu ajutorul funcției:

date( string $format [, int $timestamp = time() ] ).

În partea stângă există un panel cu prețul biletului care este citit din baza de date.

Pentru categoriile:

Pentru categoria elevi se va face o reducere de 20% din pretul total

Pentru categoria student se va face o reducere de 40% din pretul total

Pentru categoria pensionari se va face o reducere de 40% din pretul total

A doua pagina DespreTNB (about.php) conține informații generale despre Teatrul Național.

O altă funcționalitate a site-ului este zona de mapare în care sunt livrate informații despre locația Teatrului Național. Această se află accesănd meniul Cum ajung?

Pagina dispune șii de o harta interactivă (google maps).

Scriptul pentru afișarea hărții este prezentat mai jos.

Pagina Trupa TNB(actori.php) conține un album cu principalii actori, regizori și scenografi ai teatrului. Numele și poza sunt preluate din tabelul (actori din baza de date).

Pentru redirecționare pa pagina principală utilizatorul poate apăsa butonul Teatrul TNB din bara de navigare.

Baza de date teatru contine tabelele:

Piese_teatru

Actori

Regizori

Tabelul piese_teatru

Tabel actori

Tabel regizori

Harta locurilor din sală, înainte de rezervare.

Harta locurilor din sală, după de rezervare.

ANEXA – CUPRINSUL FIGURILOR

Figure 3.1 Exemplificare atribut, entitate și valoare. 19

Figure 4.1 Ansamblul SGBD [4] 23

Figure 5.1 Descărcare fișier “Installer”. 32

Figure 5.2 Schema bloc. [1] 33

Figure 5.3 Structura unui fișier .php. 35

Figure 5.4 Vizualizare în browser. 35

Figure 5.5 Rezultatul instrucțiunii echo din codul php prezentat în figura 4.2. 36

Figure 6.1 Structura unui document HTML. 42

Figure 6.2 Vizualizarea grafică a codului HTML. 42

Figure 7.1 Instalare XAMPP. 50

Figure 7.2 Pornire module Apache și MySQL. 51

Figure 7.3 Crearea bazei de date „teatru”. 52

Figure 7.4 Importarea bazei de date din directorul c/xampp/htdoc/Teatru. 53

Figure 7.5 Prima pagină. 54

BIBLIOGRAFIE

[1]. Sabin Buraga, „Tehnologii web. Programare web în PHP”, Polirom, 2006.

[2]. Romică TRANDAFIR, Mihai NISTORESCU, Ion MIERLUȘ-MAZILU, Bazele informaticii și limbaje de programare. Baze de date relaționale, București, 2007.

[3]. Andy Oppel. SQL fara mistere – ghid pentru autodidacti. Rosetti Educational, 2006

[4]. Trandafir Romica, Nistorescu Mihai, Mierlus-Mazilu Ion. Bazele informaticii si limbaje de programare 2. Baze de date relationale. Universitatea Bucuresti 2007

[5]. ***, Microsoft Access 2010 – Help

[6]. Connolly, Thomas; Begg, Carolyn. Baze de date: proiectare, implementare, gestionare. Bucuresti : Teora, 2001

[9]. Ioan Mocian Baze de date. Terminologie, proiectare, SQL, Access. Matrixrom, 2007

[10]. Lungu, Ion; Musat, Nely. Baze de date relationale: utilizarea limbajului SQL PLUS. Bucuresti: All, 1992

[11]. Teodorescu Alexandru – Lecții de Access, Editura Teora, București, 2005

[12]. (http://ro.wikipedia.org/wiki/MySQL)

[13]. Cornelia Botezatu “Proiectarea sistemelor informatice. Metode sistemice.” Editura ProUniversitaria, Buc, 2007.

[14]. Virgil Chichernea, G. Garais “Baze de date. Sistemul FoxPro vol.II”, Editura Prouniversitaria, 2006

[15]. M. Moise Sisteme informatice cu baze de date, Editura Pro-Universitaria, București, 2008

[16]. Botezatu Cezar, George Căruțașu, Doru Chetrariu, “Arhitectura calculatoarelor personale și sisteme de operare specifice”, Editura Universul Juridic, București, 2005

[17]. Ionel Iacob, “SGBD Oracle – Ghid aplicativ pentru realizarea soluțiilor informatice”, Editura ProUniversitaria, 2007, pag 11-195.

[18]. Ionel Iacob “ORACLE 10g – Proiectarea și realizarea aplicațiilor cu baze de date utilizând limbajul SQL*PLUS”, Ed. ProUniversitaria 2009.

Similar Posts