Sunteți pe pagina 1din 65

Specializarea: Informatică Economică

PROIECTAREA ŞI
REALIZAREA
SITE-URILOR ŞI
PORTALURILOR
WEB
ANUL III Semestrul 5

1
I. Informaţii generale

Date de identificare curs şi contact tutori:


 Date de identificare a cursului 
Date de contact ale titularului de curs:  Numele cursului: Proiectarea şi
realizarea site-urilor şi Portalurilor Web
Nume: Lect.Dr. Liana Stanca Cod: EBI0093
Birou: 432, sediul FSEGA Pagina web a cursului: http://www.econ.
Telefon: 0264-418 655 ubbcluj.ro
Fax: 0264-418 655 An studiu: Anul 3, semestru 5
E-mail: Tip: Obligatoriu
liana.stanca@econ.ubbcluj.ro Tutore: Lect.Dr. Liana Stanca
Consultaţii: Conform cu orarul afişat la sala E-mail secundar: liana.stanca@econ.
432 ubbcluj.ro

 Condiţionări şi cunoştinţe prerechizite


Cursul nu are condiţionări prerechizite. Cunoştinţele prerechizite care pot facilita asimilarea
materialului sunt legate de programare la nivel de bază şi reţele de calculatoare. Sugerăm ca înainte de
parcurgerea materialului să se identifice următoarele cunoştinţele prerechizite:
 structurile de programare de bază: protocol TCP/IP, SMTP, HTTP, modelul Client-Server 
 conceptele de programare de bază: reţele de calculatoare, 
 modelele de procese de producţie software din perspectiva proiectării; 
 documentaţia necesară proiectării sistemelor informatice. 

 Descrierea cursului 
Cursul prezintă justificarea economică deoarece are ca scop prezentarea unei tehnologi cu ajutorul
cărora se pot realiza instrumentele necesare implementării de afaceri electronice. Se începe cu o parte
introductivă care prezintă conceptele de bază necesare pentru înţelegerea modului de funcţionare şi
implicit de proiectare şi implementare a instrumentelor necesare pentru desfăşurarea afacerilor
electronice. Se definesc conceptele de bază (vezi glosarul de termeni). Se descriu tehnnologii Web de
proiectare şi implemetare a instrumentelor vitale în desfăşurarea unei afaceri electronice.
Piaţa muncii din România oferă un segment semnificativ pentru angajarea de programatori web la
companiilor software. Pe baza cunoştinţelor asimilate atât în cadrul acestei dicipline cât şi în cadrul
disciplinelor preponderent economice studenţilor li se oferă posibilitatea de a-şi demara propria afacere.
Competenţe dobândite prin absolvirea disciplinei:
1. absolvenţii disciplinei sunt specialişti în informatică economică cu abilităţi de programare şi
tratare a excepţiilor bazându-se pe obiecte şi clase;
2. însuşirea abilităţilor de concepere, proiectare şi implementare a modelelor de afaceri electronice
cu ajutorul limbajelor HTML şi PHP, ceea ce le crează posibilitatea încadrării în domeniul
statisticii şi informaticii economice
3. fundamentarea necesarului de resurse umane, materiale şi financiare în raport cu cerinţele
obiectivelor fixate de activităţile specifice programării afacerilor on-line;
4. au compenţa necesară de a dezvolta aplicaţii specifice afacerilor electronice;
5. au compenţa necesară de a optimiza metodele de selecţie a alternativelor de dezvoltare a unei
afaceri on-line;.
6. dobândesc deprinderi de analiză proiectare şi testare a modelelor de afaceri electronice specifice
putând deveni consultanţi în acest domeniu;
7. dobândesc deprinderi de măsurare a efeicienţei afacerilor on-line;
8. pot concepe, proiecta, implementa şi testa atât pagini web statice cât şi pagini web dinamice în
speţă un model de afacere electronică;

2
- fundamentarea necesarului de resurse umane, materiale şi financiare în raport cu cerinţele obiectivelor
fixate de activităţile specifice informaticii economice şi de afaceri;participarea la elaborarea,
implementarea şi testarea proiectelor informatice axate pe sisteme distribuite cu acces la
Internet;

 Organizarea temelor în cadrul cursului


Ordinea temelor abordate de curs, conform structurii materialului didactic ce va fi disponibil pe
platforma software de învăţământ la distanţă: https://portal.portalid.ubbcluj.ro/

Modul1 : NOŢIUNI FUNDAMENTALE PENTRU CONCEPEREA, PROIECTAREA ŞI


IMPLEMENTAREA UNEI APLICAŢII ELECTRONICE
1.1 Reţeaua Internet - concept şi evoluţie
1.2 Modelul CLIENT-SERVER
1.3. Limbaje de scripting pe parte de server
1.4. Server APACHE
Modul2:PREZENTAREA ELEMETELOR DE BAZĂ ALE LIMBAJULUI HTML->HTML5
1.1 Elemente de limbaj HTML
1.2 Structura unui document HTML
1.3 Hyperlink-uri
1.4 Liste în site-uri Web
1.5 Marcaje pentru obiecte
1.6 Aspecte ale limbajului HTML5
Modul3:MYSQL SERVER
3.1. MySQL –concepte de bază, caracterisitci
3.2. Modul de funcţionare a unui server de baze de date pentru Web
3.3. Tipuri de date SQL
3.4. Privilegii acordate utilizatorilor
3.5. Baze de date- definiţie, proiectare
3.6. Operaţii asupra bazelor de date în MySQL
Modul4:PREZENTAREA LIMBAJULUI DE SCRIPTING PHP
4.1 Limbajului PHP~noţiuni fundamentale
4.2. Principiul de funcţionare a limbajului PHP
4.3. Variabilele PHP
4.4. Variabile şi constante
4.5. Operatori
4.6. Structurile de control
4.7. Tablouri
4.8. Funcţii
4.9. Fişiere
4.10. Stocarea datelor în sistemul utilizatorului cu PHP
4.11. PHP şi formulare HTML
Bibliografie obligatorie
Bibliografie opţională

Pentru paginarea temelor, recomandăm consultarea cuprinsului din partea a doua a materialului de faţă.

 Formatul şi tipul activităţilor implicate de curs


Cursul va fi prezentat prin activităţi tutoriale periodice programate conform orarului facultăţii, afişat pe
site-ul http://econ.ubbcluj.ro.

3
Prin adresele de e-mail oferită sau la sediul facultăţii, titularul şi tutorii cursului stau la dispoziţia
studenţilor pentru consultaţii on-line sau faţă în faţă în afara activităţilor periodice preprogramate. Se
încurajează studiile de caz legate de locul de muncă al acelor studenţi care sunt deja angajaţi în
domeniul testării software.
Activităţile tutoriale sunt, pentru studentul la distanţă, facultative şi nu afectează nota acestuia, obţinută
strict prin forma indicată: examen scris şi prezentarea unui proiect ce are ca temă conceprerea,
proiectarea şi implementarea unei afaceri virtuale pe baza cunoştinţelor asimilate în cadrul cursului de
fată Totuşi, încurajăm participarea interactivă la activităţile tutoriale în special pentru dezvoltarea
incrementală a dosarului de testare care va fi notat.

 Materiale bibliografice obligatorii


1.[Stanca_07]Stanca L., Suportul tehnologic al afacerilor electronice, Editura Presa Universitară
Clujeană, 2007 Biblioteca facultăţii
2.[Stanca_04] Stanca L.,Suportul economic al afacerilor electronice, Editura Presa Universitară
Clujeană, 2004 Biblioteca facultăţii
3.[McCarty_02] McCarty, PHP 4, Editura Teora 2002 Biblioteca catedrei
[Graeme_site] Graeme M.,PHP/MySQL Tutorial www. hotwired.com /webmonkey databases reţea
Internet
4.[Welling_01]Welling L., Thomson L.,PHP and MySQL Web Development, SAMS Publishing, 2001
Biblioteca catedrei
5.[Mark Pilgrim] Mark Pilgrim, HTML5 ghidul începătorului, 3D MEDIA
COMMUNICATIONS,2011.
Materialele sunt accesibile la biblioteca facultăţii, la biblioteca catedrei sau pot fi puse la dispoziţie
de către titularul de curs.

 Materiale şi instrumente necesare pentru curs


Calculator, materialul bibliografic, software licenţiat şi free necesar cursului şi anume triad-ul Apache-
MySql-PHP puse la dispoziţie de titularul cursului.

 Calendar al cursului
Sunt estimate 3 întâlniri preprogramate pe semestru, cu datele şi locaţiile afişate pe site-ul facultăţii la
începutul semestrului. Premergător fiecărei întâlniri se recomandă parcurgerea materialului de faţă, pe
module pentru a asigura cursivitatea discuţiilor. Conţinutul acestor întâlniri va fi, în ordine:
Prima întâlnire – discuţii pe marginea modulelor I, II;
A doua întâlnire – discuţii pe marginea modulelor II, III,
A treia întâlnire – discuţii pe marginea modului IV.
 Politica de evaluare şi notare (orientativ - 1 pagină)
Evaluare practică – 50% din notă:
Conţinut:
Dezvoltarea unui proiect care să conţină o aplicaţie sotfware necesară derulării unei afaceri electronice
la alegere. Proiectul va conţine:
 o aplicaţie destinată clientului (partea de front-end); 
 o aplicaţie destinată administratorului afacerii (partea de back-end) 
 o bază de date care conţine toate datele necesare pentru realizarea celor 2 aplicaţii. 
Evaluare teoretică – 50% din notă
Conţinut:
Test grilă cu întrebări, de dificultate şi pondere în notă echitabile (30 întrebări de 0,3 punct pe
întrebare).
4
Nivelul minim pentru promovarea examenului este dat de obţinerea notei 5 la fiecare din cele două părţi
(practic şi teoretic).
Ambele evaluării vor avea loc la datele programate pentru examen, la sediul facultăţii. Notele vor fi
acordate în aceeaşi zi, comunicate personal fiecărui student cu posibilitate de contestare imediată.
Nu se vor accepta proiecte practice sau participări la examen la alte date decât cele programate.

 Elemente de deontologie academică


Tentativele de fraudare atât la examen scris cât şi în dezvoltarea proiectului practic vor fi pedepsite prin
anularea examenului şi aplicarea regulamentului instituţional. Nu este admisă în timpul examenului
utilizarea mijloacelor de comunicaţie. Contestaţiile se vor soluţiona în maxim 24 de ore de la afişarea
rezultatelor.

 Studenţi cu dizabilităţi
Titularul cursului si tutorii îşi afirmă disponibilitatea, în limita posibilităţilor, de a adapta la cerere,
conţinutul şi metodelor de transmitere a informaţiilor, precum şi modalităţile de evaluare (examen oral,
examen on line) în funcţie de tipul dizabilităţii cursantului. Vom urmări facilitarea accesului egal al
tuturor cursanţilor la activităţile didactice.
E-mail de contact pentru situaţii deosebite şi suport acordat studenţilor cu dizabilităţi:
liana.stanca@econ.ubbcluj.ro

 Strategii de studiu recomandate


Recomandăm în ordine:
 parcurgerea materialului de faţă şi contactarea tutorilor pentru orice nelămuriri; 
 parcurgerea bibliografiei obligatorii; 
 cercetarea individuală pe tema cursului, folosind Internetul; 
 parcurgerea documentaţiilor on-line www.php.net, dev.mysql.com; 

5
Cuprins

Modul1 : NOŢIUNI FUNDAMENTALE PENTRU CONCEPEREA, PROIECTAREA ŞI


IMPLEMENTAREA UNEI APLICAŢII ELECTRONICE ...................................................................... 8
1.1 Reţeaua Internet - concept şi evoluţie .................................................................................................. 9
1.2 Modelul CLIENT-SERVER .............................................................................................................. 10
1.3. Limbaje de scripting pe parte de server ............................................................................................ 12
1.4. Server APACHE ............................................................................................................................... 12
Modul2:PREZENTAREA ELEMETELOR DE BAZĂ ALE LIMBAJULUI HTML ............................ 15
2.1. Elemente de limbaj HTML ............................................................................................................... 16
2.2. Structura unui document HTML....................................................................................................... 17
2.3. Hyperlink-uri..................................................................................................................................... 20
2.4. Liste în site-uri Web.......................................................................................................................... 21
2.5.Marcaje pentru obiecte ....................................................................................................................... 24
2.6. Aspecte ale limbajului HTML5 ................................................................................................ 27
Modul3:MYSQL SERVER ..................................................................................................................... 31
3.1. MySQL –concepte de bază, caracterisitci ......................................................................................... 32
3.2. Modul de funcţionare a unui server de baze de date pentru Web ..................................................... 33
3.3. Tipuri de date SQL............................................................................................................................ 33
3.4. Privilegii acordate utilizatorilor ........................................................................................................ 35
3.5. Baze de date- definiţie, proiectare .................................................................................................... 35
3.6. Operaţii asupra bazelor de date în MySQL....................................................................................... 36
Test de verificare a cunoştinţelor: ............................................................................................................ 38
Modul4:PREZENTAREA LIMBAJULUI DE SCRIPTING PHP .......................................................... 39
4.1 Limbajului PHP~noţiuni fundamentale ............................................................................................. 40
4.2. Principiul de funcţionare a limbajului PHP ...................................................................................... 41
4.3. Variabilele PHP ................................................................................................................................ 42
4.4. Variabile şi constante ........................................................................................................................ 43
4.5. OPERATORI .................................................................................................................................... 44
4.6. Structurile de control......................................................................................................................... 44
4.7. Tablouri ............................................................................................................................................. 46
4.8. Funcţii .............................................................................................................................................. 49
4.9. FIŞIERE ............................................................................................................................................ 50
4.10. Stocarea datelor în sistemul utilizatorului cu PHP ......................................................................... 52
4.11. PHP şi formulare HTML ................................................................................................................ 53
Bibliografie obligatorie ............................................................................................................................ 57
Bibliografie opţională .............................................................................................................................. 62

6
Obiectivele cursului/disciplinei:
-Cursul de „Proiectarea şi realizarea site-urilor şi portalurilor Web” îşi propune abordarea problematicii
privind programarea Web, folosind triad-ul PHP, MySql şi Apache, fiind aplicată metoda de bază
pentru însuşirea tehnicilor de programare web care sunt vitale pentru crearea de aplicaţii performante
sub platformele Windows.
-Se oferă programatorului toate informţiile necesare pentru stăpânirea limbajului HTML cu scopul de a
putea fi folosit în combinaţie cu limbajul de scripting PHP.
Se oferă programatorului toate cunoştinţele necesare pentru crearea unor aplicaţii web complexe. Se
începe cu abordarea MySql pentru a se furniza informaţiile necesare pentru crearea de baze de date
relaţionale pe parte de server de baze de date. Se continuă cu prezentarea conceptelor de bază despre
dezvoltarea de programe pe parte de server fapt ce impune abordarea tehnici client-server, a noţiunilor
de clienţi şi servere de web cu exemplificare a server-ului Apache.
Se abordează de la simplu spre complex modul de programare în limbajul de scripting PHP.
-Se abordează problematica accesului la baze de date relationale din cadrul limbajului de scripting PHP.

7
2. Suportul de curs

MODULUL 1 NOŢIUNI FUNDAMENTALE PENTRU CONCEPEREA, PROIECTAREA


ŞI IMPLEMENTAREA UNEI APLICAŢII ELECTRONICE

2.1.1. Scopul şi obiectivele modulului


Scopul acestui modul este familiarizarea cursantului cu termenul de reţea Internet, cu principiului de
funcţionare a modelului clasic de aplicaţii web Client-Server, cu prezentarea limbajelor de scripting pe
parte de server şi cu Serverul Apache .
Ca obiective, se vor atinge următoarele:
1. Familiarizarea cu conceptele folosite în reţeau INTERNET şi evoluţia acestei reţele
2. Fixarea principiilor de funcţionare a modelului Client-Server
3. Oferirea unei imagini de ansamblu asupra limbajelor de scripting pe parte de server
4. Asimilarea noţiunii de server web
5. Prezentarea serverului web APACHE

2.1.2. Schema logică a modulului


Acest modul este compus din patru subcapitole: primul subcapitol are ca scop evidenţierea conceptului
legate de reţeau Internet care stau la baza aplicaţiilor web.
Al doilea subcapitol are ca scop descrierea principiul de funcţionare a modelului Client-Server.
Al treilea subcapitol are ca scop prezentarea teoriei limbajelor pe parte de server şi exemplificarea
acestora.
Al patrulea subcapitol are ca scop prezentarea teoriei legate de serverulu Apache.

Recomandǎri privind studiul:

1. Sunt necesare cunoştinţe teoretice de algoritmică şi programare;


2. Studierea conceptelor prezentate în vederea utilizării lor pe parcursul celorlalte capitole

Rezultate aşteptate:
1. Asimilarea conceptelor de bază legate de aplicaţiile electronice.
2. Studenţii trebuie să înţeleagă şi să asimileze pricipiile de bază ale afacerilor electronice

8
2.1.3. Conţinutul informaţional detaliat
2.1.3 .1Reţeaua Internet - concept şi evoluţie
Internet-ul este definit ca o colecţie largă de reţele sau ca o “reţea de reţele” [AllenWaytt1998].
Amândouă definiţiile sunt exacte dar insuficiente pentru a defini cu exactitate reţeaua Internet.
Elaborarea unei definiţii complexe pentru reţeaua Internet se dovedeşte a fi o muncă laborioasă
deoarece persoane diferite o percep sub aspecte diferite fapt ce a avut ca rezultat apariţia în literatura de
specialitate a unui număr mare de definiţii şi accepţiuni ale Internet-ului. După părerea autoarei, având
în vedere scopul prezentei lucrări, Internet-ul se poate considera ca fiind un mijloc de acces la o
comunitate foarte educată şi cu perspective, care dispune de venituri mai mari decât media.
În concepţia economiştilor [Godeluck2002] apariţia Internet-ului a schimbat radical natura creşterii
economice ducând la apariţia unei noi economii bazate pe calităţi intrinseci ale reţelei şi concentrate
asupra unui nou gen de întreprinderi.
La baza Internet-ului se află cercetările demarate în 1958 de către Departamentul de Apărare al
Armatei Americane, denumit ARPA. ARPA avea misiunea de a efectua, printre altele, cercetări în
domeniul tehnologiilor de reţea şi telecomunicaţiilor. Această reţea lega cele mai importante
calculatoare din Statele Unite prin intermediul liniilor închiriate.
În anul 1962, noul conducător al agenţiei, Dr. J.C.R. Liecklider, a adoptat o serie de măsuri care au
condus la mutarea treptată a acestei organizaţii (ARPA) în sectorul civil, în special în mediul universitar
[Bucur2002].
În anul 1969, Departamentul Apărării S.U.A., prin Agenţia pentru Proiecte de Cercetare Avansată
(ARPA), a creat o reţea experimentală de comutare de pachete, bazată pe linii telefonice
[AllenWaytt1998]. Liniile telefonice erau ideale pentru recepţionarea şi transmiterea informaţiilor prin
comutare de pachete. Din această colecţie iniţială de reţele s-a născut ARPANet, unul dintre strămoşii
Internet-ului. ARPANet permitea oamenilor de ştiinţă, cercetătorilor şi personalului militar din diverse
locuri să comunice prin poştă electronică sau prin convenţii pe calculator, în timp real.
De la jumătatea deceniului VII şi până în prezent preocupările cercetătorilor s-au îndreptat cu precădere
spre arhitecturile de reţele şi spre găsirea răspunsului la următoarea întrebare “Cum se pot furniza
servicii de comunicaţii prin intermediul unui sistem de reţele
interconectate?” [Robu2002]. Rezultatele cercetărilor au condus la dezvoltarea tehnologiilor inter-
reţea, la modele de sisteme cu mai multe nivele de protocoale de comunicare-operare şi la paradigma
interacţiunii de tip “client-server”.
În 1972 RFC 354 a creat File Transfer Protocol (FTP), o nouă capitală, deoarece în ea, este specificat
formatul datelor schimbate pe reţea, deschizând calea transferului de soft-uri sau de documente
[Godeluck2002]. În acelaşi an, Ray Tomlinson a inventat prima adresă electronică între două
calculatoare situate la distanţă. Din acel moment orice persoană, care are acces la un calculator conectat
la Internet, poate importa soft pe calculatorul său prin intermediul FTP-ului. Tot în anul 1972 a fost
înfiinţată la New York, organizaţia International Networking Group sub conducerea lui Vinton
Cerf. Scopul principal al acestei organizaţii a fost acela de a crea o “reţea de reţele”, fapt care permitea
comunicarea între diferite sisteme eteroclite prin intermediul unui limbaj comun. În acest context, în
anul 1978 a fost creat protocolul TCP/IP. Transmision Control Protocol (TCP) împarte mesajele în
datagrame, le reansamblează în ordine în momentul sosirii lor la destinatarul precizat în cadrul lor şi
trimite apoi expeditorului pachete post adresate. Internet Protocol (IP) transportă datagramele.
În anul 1975 apare o nouă inovaţie în domeniu şi anume newsgroups, adică grupurile de discuţie
electronică.
În anii ’80, reţelele conectate la ARPANet au continuat să se extindă. În anul 1982, ARPANet s-a unit
cu MILNet, care era o reţea militară, cât şi cu alte reţele. [AllenWaytt1998] Reţeaua Internet s-a născut
ca urmare a reuniunii acestor reţele. Pe măsură ce tot mai multe colegii şi companii de cercetare se
conectau la Internet, rolul ARPA s-a diminuat. Arhitectura şi protocoalele dezvoltate în cadrul reţelei
ARPA până în anii 1979 stau la baza Internet-lui [Robu2002]. Din varianta sa de început, Internet-ul de
azi nu mai păstrează decât conceptul de transmisie a informaţiei sub formă de pachete.
În anul 1989, Pentagonul îşi retrage subvenţiile, acţiune ce va avea ca rezultat dispariţia ARPANET-

9
ului. În această perioadă oamenii din întreaga lume intră în posesia NET-ului ca urmare a revoluţiei
microinformaticii. Rezultatele acestei revoluţii se vor concretiza în faptul că, atât întreprinderile cât şi
persoanele fizice vor putea avea acces la Internet folosind diferite tipuri de conexiuni.
În anul 1995 Internet-ul a fost descoperit de lumea comercială. Din acest an, Internet-ul a început să
reprezinte un instrument de creştere a veniturilor pentru toate firmele care s-au adaptat noului mediu de
desfăşurare a afacerilor. Internet-ul lărgeşte câmpul de acţiune al comercianţilor [Choy1999] şi înlătură
barierele de intrare în acest câmp, chiar şi pentru întrepriderile mici şi mijlocii. El oferă consumatorilor
posibilitatea alegerii celor mai competitive produse de pe piaţa globală. În noul context Internet-ul s-a
transformat treptat într-un mediu de afaceri. Acest lucru a fost posibil datorită creării şi stabilirii unei
legături între telecomunicaţii şi computere. Unul dintre cele mai importante caracteristici ale acestui
instrument este faptul că informaţia circulă uşor şi repede în toată lumea ca şi cum ar fi într-un singur
oraş.

2.1.3.2 Modelul CLIENT-SERVER

Modelul Client-Server[site17] [LalaniChandak1997] stă la baza tuturor aplicaţiilor electronice şi


serviciilor Internet. Clientul, în general, rulează pe calculatorul utilizatorului şi este folosit pentru a
accesa informaţii sau alte aplicaţii din cadrul reţelei Internet. Exemplul de client este browser-ul care
poate îndeplini cu succes următoarele sarcini:[site17]

 emite cererile şi recepţionează datele care se vor afişa; 

 formatează documentele pe baza tag-urilor HTML; 

afişează documentele. 
Serverul [site17] rulează, în general, pe un calculator centralizator sau aflat la distanţă, furnizând sau oferind
informaţii/servicii clienţilor. Exemple de servere folosite în prezent sunt: Apache, IIS şi etc.
Clientul şi serverul se pot găsi pe acelaşi calculator, în cazul în care se utilizează mecanisme de
comunicaţie locală sau pe calculatore diferite, atunci când se folosesc mecanisme de comunicaţie în
reţea. (Figura1.2)

Figura 2.1.3.2. Arhitectura- client server - adaptare [LalaniChandak1997]

Un server web poate fi comparat cu un chelner dintr-un restaurant.[site31] Chelnerul va fi serverul web,
restaurantul va fi mediul în care acesta lucrează (în special sistemul de operare), bucătăria restaurantului
va fi sistemul de fişiere din care serverul web va alege fişierele cerute de clienţi. Această comparaţie
este posibilă deoarece şi serverul web şi chelnerul au aceeaşi funcţie principală: aceea de a servi.
Un server web este un program care rulează pe un calculator, aşteaptă pe un port o conexiune TCP
venită de la un client şi serveşte acestuia pagini web folosind protocolul HTTP. [site31]
Serverul web este un software, un program de sine stătător, un executabil cu o funcţie bine stabilită:
accea de a servi la cerere pagini de Internet într-un mod bine determinat. Acest software poate

10
fi: Apache HTTP Server, Microsoft Internet Information Services (IIS), iPlanet Web Server, Roxen
WebServer, Zeus WebServer, ş.a. Serverul web rulează pe un calculator. [site31]
Web serverele se pot accesa astfel:

 http://www.ubbcluj.ro/: cel mai simplu mod de adresare; 

http://www.ubbcluj.ro/index.html presupune adresarea fişierului index.html aparţinând
 subdomeniului ubbcluj ; 

http://localhost:8080/exemplu/exemplu1.html: pentru a accesa fişierul exemplu1.html din
 directorul exemplu de pe maşina locală, prin intermediul serverului care ascultă pe portul 8080; 

https://90.86.22.1/exemplu.php: adresarea securizată a fişierului exemplu.php folosind
IP-ul maşinii gazdă. 
Clientul folosit pentru accesarea serverului web poate fi atât un browser cât şi un alt program capabil
să se conecteze la un port TCP (de exemplu: telnet, ftp, etc.).
Browserul [site31] este un program folosit la afişarea de conţinut web. Acesta se impune să poată să
interpreteze pagini HTML, să afişeze imagini şi alte forme de conţinut multimedia, să folosească
referinţe (link-uri) etc. Cea mai importantă caracteristică a sa este capacitatea lui de a se conecta prin
protocolul TCP la un server web. Metoda de conectare s-a prezentat anterior. În acest context se impune
să se precizieze că introducerea unei adrese web (de exemplu: http://www.ubbcluj.ro/exemplu.html) în
browser, determină executarea următorilor paşi:
[site31][site8][Boian1997] .
1. Browser-ul determină protocolul pe care îl va folosi în dialogul cu serverul web (http:// = HTTP
-HyperText Transfer Protocol).
2. Browser-ul determină adresa web a serverului (www.ubbcluj.ro).
3. Browser-ul determină ce anume trebuie să ceară de la serverul web, adică pagina html numită
exemplu.html.
4. Browser-ul determină adresa IP a maşinii pe care rulează serverul web prin interogări DNS
(Domain Name Service) pe baza adresei web introdusă în address bar.
5. pe baza adresei IP determinată anterior, browserul va crea o conexiune TCP pe portul specificat
în URL sau implicit pe portul 80.
6. Browser-ul lansează o cerere GET sau POST către server specificând fişierul dorit: GET
/exemplu.html.
7. Serverul web răspunde trimiţând fişierul dorit sau o eroare corespunzătoare în cazul în care
trimiterea nu este posibilă (lipsa fişierului, drepturi de acces insuficiente etc.). Aici conexiunea
dintre client şi server se încheie.
8. Browser-ul analizează fişierul primit şi îl afişează corespunzător.
Browser-ele cele mai cunoscute şi deci cele mai folosite sunt: Microsoft Internet Explorer, Mozilla,
Netscape, Opera, Lynx, etc.
Rolul serverului web este, aşa cum s-a precizat mai spus acela de a servi fişiere. În principal aceste
fişiere sunt în format HTML, PHP, ASP şi etc. Serverul web poate să servească şi alte fişiere: imagini,
sunete, animaţii, arhive etc. Fişierele care se pun la dispoziţia navigatorului se află stocate într-un
director văzut ca rădăcină de către web server (exemplu de strucutră de directoare este: /var/www/html/
pentru serverul web Apache). Acest director se specifică în configuraţia serverului şi în el se vor stoca
fişierele şi structura de subdirectoare pe care le va folosi serverul web în căutarea unui fişier cerut de
către un client. Servirea unui fişier se efectuează dacă fişierul specificat există, dacă este accesibil de
către serverul web şi dacă drepturile de acces nu interzic acest lucru. În cazul neîndeplinirii uneia dintre
aceste condiţii, serverul va trimite un cod de eroare sau o pagină predefinită care să informeze despre
eroarea apărută. De multe ori, fişierele pe care trebuie să le servească depind de alte programe externe
de generare de cod (CGI, ASP, JSP, PHP). Fişierele care necesită astfel de prelucrări vor fi generate de
programul extern, a cărui rezultat va fi un fişier HTML nou creat. Acest fişier va fi transferat serverului
web, pe care acesta poate să-l servească ca pe orice alt fişier. Acest proces stă la baza tuturor site-urilor
dinamice şi este absolut necesar pentru pagini al căror conţinut necesită modificări în funcţie de anumite
criterii.

11
2.1.3.3 Limbaje de scripting pe parte de server

Cu toate avantajele limbajului HTML, el nu poate fi folosit în orice context. Conţinutul dinamic şi
prelucrarea logică depăşesc posibilităţile limbajului HTML fapt ce a determinat apariţia şi dezvoltarea
limbajelor de scripting. Limbajele de scripting incluse între tag-urile HML permit lucrul cu variabile,
construcţii logice şi interogări ale bazelor de date. În plus, scripturile pot fi folosite cu miniaplicaţii şi
controale.
Limbajele de scripturi [microsoft-site] sunt limbaje simple, concepute pentru operaţii speciale şi care
sunt asociate unor aplicaţii sau funcţii. Un script este un program alcătuit dintr-un set de instrucţiuni,
elaborate în cazul nostru printr-un limbaj de scripting, destinat unui utilitar sau a unei aplicaţii. Exemple
de astfel de limbaje sunt Perl, PHP,VBScript şi JScript. În procesul de construire a paginilor web cu
PHP, se pot folosi atât JScript cât şi VBScript sau orice alt limbaj de scripting acceptat.
VBScript Edition [w3schools-site] este un subset al limbajului Visual Basic, fiind folosit pentru
dezvoltarea scripturilor destinate browserelor Web şi altor aplicaţii care folosesc controale ActiveX,
servere de automatizare şi miniaplicaţii Java.
Principiile de bază ale limbajului VBScript sunt următoarele:

pune la dispoziţia dezvoltatorilor care folosesc limbajul VB o modalitate de dezvoltare pentru
Web la nivelul serverului şi al clientului; 

 aduce în Web un limbaj de scripting uşor de folosit şi de înţeles; 
 
extinde familia de limbaje VB pe platforme care nu asigură suportul pentru VB sau VBA. 
JScript [books-site] este un limbaj de scripting interpretativ, bazat pe obiecte, proiectat special 
pentru Internet. Deşi, are mai puţine posibilităţi decât limbajele complete orientate spre obiecte, precum
C++ sau Java, JScript este un instrument mai mult decât suficient pentru scopul în care a fost creat, şi
anume, dezvoltarea de aplicaţii pentru browsere Web, care folosesc controale ActiveX, miniaplicaţii
Java sau servere de automatizare. JScript nu permite scrierea aplicaţiilor independente şi are posibilităţi
limitate pentru citirea sau scrierea fişierelor.
PHP este un limbaj de programare pentru server. Codul PHP poate fi integrat în interiorul codului
HTML. Scriptul PHP va fi apoi procesat de către server care va returna un fişier HTML. Acest tip de
interacţiune permite executarea unor operaţii complexe.
Scriptarea [microsoft-site] este o modalitate relativ simplă de adăugare a conţinutului dinamic la o
pagină PHP, mult mai simplă decât folosind interfeţele CGI (Common Graphic Interface). Scriptarea
oferă posibilitatea de dezvoltare a conţinutului dinamic mai multor persoane decât oricare alte
instrumente, protocoale şi specificaţii de dezvoltare. Spre deosebire de CGI, scriptingul este atractiv şi
accesibil maselor largi de programatori, la fel ca Visual Basic şi Microsoft Access.
Din cele prezentate până în acest moment, se observă uşor că aplicaţiile WEB reprezintă atât prezentul
cât şi viitorul. Acestea funcţionează pe baza unei arhitecturi client-server aşa cum s-a arătat în acest
capitol. Aplicaţiile realizate cu limbajul HTML combinat cu un limbaj de scripting, în speţă PHP,
utilizează un singur client şi anume browser-ul WEB. Limbajul de bază a browser-ului WEB este
HTML. Acest limbaj dispune de o serie de tag-uri care descriu modul în care va arăta o pagină WEB.
Majoritatea prelucrărilor efectuate de aplicaţiile Web, au loc pe server. O aplicaţie specifică, numită
server Web, va asigura comunicarea cu browserul. Un server de baze de date relaţionale stochează
informaţiile pe care le va accesa aplicaţia. În final mai este nevoie de un limbaj care să intermedieze
interogările ce apar între serverul Web şi serverul de baze de date. Acest limbaj va mai fi utilizat şi
pentru a executa anumite operaţii asupra informaţiilor care vin dinspre şi spre serverul Web.

2.1.3.4. Server APACHE


Server-ele Web au ca funcţionalitate de bază, recepţionarea de cereri anonime de la clienţi şi furnizarea
de informaţii într-o manieră dorită a fi eficientă şi rapidă [Ricart1998]. În fapt, un server Web este un
daemon care acceptă conexiuni conform protocolului HTTP, răspunzând cererilor recepţionate de la
clienţi. Ca şi alte protocoale utilizate în Internet, protocolul HTTP (HyperText Transfer Protocol) este
un protocol de tip cerere-răspuns, bazat pe TCP/IP, destinat transferurilor informaţiilor hipermedia.
Apache foloseşte HTTP pentru a comunica cu Internet Explorer, pentru a analiza URL-ul şi a stabili
12
protocolul de conectare în cazul de faţă: http://localhost.
1
Conform statisticii realizate de Netcraft1 , din luna aprilie 2002, efectuate asupra a circa 38 milioane de
site-uri, serverul Web cel mai folosit este Apache, ocupând 53,76% din piaţă procent care a continuat să
crească direct proporţional cu trecerea anilor şi până în prezent.
Proiectul Apache reprezintă dezvoltarea unui soft colaborativ care urmăreşte cearea şi utilizarea unui
Web Server puternic şi robust. Proiectul era condus de către voluntari din întreaga lume. Acest grup de
voluntari foloseşte Internet-ul pentru comunicare, planificarea şi dezvoltarea server-ului şi a
documentaţiei de rigoare. Ei sunt cunoscuţi sub denumirea de Grupul Apache (Apache Group). În plus,
sute de utilizatori au contribuit cu idei, coduri şi documentaţie la acest proiect.
În februarie 1995, cel mai popular Web Server din Internet era HTTP Daemon dezvoltat de Rob
McCool la NCSA (National Center for Supercomputing Applications), Universitatea din Illinois. La 1
decembrie 1995 a fost lansat pe piaţă Apache 1.0. Acest Web Server a fost încă de la început un succes
şi la mai puţin de un an de la formare Apache a depăşit HTTD (HTTP Daemon) [Ricart1998].
Apache furnizează o implementare robustă a protocolului HTTP. Apache rămâne o platformă pe baza
căreia indivizii şi instituţiile pot să construiască sisteme în scopuri experimentale şi nu numai. De
obicei, faptul că o companie deţine o piaţă este considerat ca un avantaj economic. Aceasta ar însemna,
în acest caz, ca respectiva companie să deţină toate protocoalele prin care se fac tranzacţiile în Internet.
Dar, World Wide Web nu este în proprietatea nimănui, iar această proprietate a protocoalelor trebuie
prevenită tocmai din această cauză. Existenţa unei implementări robuste a protocoalelor Web care să fie
disponibilă absolut gratuit tuturor companiilor este, cu siguranţă, un lucru pozitiv. Pe de altă parte
Apache este o entitate organică, cei care beneficează de ea, prin utilizare contribuie de cele mai multe
ori la dezvoltarea ulterioară a platformei. Dacă cineva plăteşte pentru un produs software, nu va dori
după aceea să-i repare defectele.
Dorinţa creatorilor Apache, după cum se specifică în site-ul Grupului Apache2 este ca platforma să fie
folosită de cât mai multă lume (companii mari sau mici, instituţii de cercetare, şcoli, Intranet-uri) şi să
se acopere cât mai multe domenii de activitate.
Ce se petrece pe server atunci când se introduce în bara de adrese a browser-ului
http://www.localhost/proiectphp/Index.php de exemplu. Când se acţionează tasta „Enter” browser-ul
trimite către serverul de HTTP http://localhost/proiectphp, o cerere afişează conţinutul directorului
„proiectphp” dacă se mai adaugă şi „Index.php” atunci se afişează conţinutul paginii „Index.php” din
directorul „proiectphp”. Acest server este Apache. Apache este setat să servească browser-ului doar
pagini HTML. Paginile HTML pot fi deja pe server sau create, tot acolo, de către alte aplicaţii şi servite
ca HTML browser-ului clientului. În momentul în care se cere o pagină cu extensia „.html” de pe
server, Apache o serveşte imediat. Dacă se cere o pagină cu extensia „.php” Apache verifică dacă este
configurat să servească pagini cu această extensie şi ce program se ocupă de ele. Astfel, atunci când se
cere o pagină cu extensia „.php”, serverul Apache va trimite mai departe cererea către PHP. PHP preia
cererea, rulează codul din program şi dacă vede că se cer informaţii din baza de date MySQL, o
accesează, extrage informaţiile cerute şi construieşte o pagină HTML pe care o va trimite server-ului
Apache pentru ca acesta să o servească clientului.
Caracteristicile server-ului Apache sunt: flexibilitate, portabilitate, siguranţă şi extensibilitate. Serverul
Apache se distribuie gratuit. Cel mai puternic motiv pentru folosirea acestui server este faptul că poate
rula atât sub Unix cât şi sub Windows după preferinţele fiecăruia.

1
http://www.netcraft.com/survey

2
http://www.apache.org

13
Teme pentru verificarea cunoştinţelor
1.Internet-ul este definit ca:

reţea locală de reţele ; 
 
ca o ca o colecţie largă reţea de reţele
 
ca o reuniune de calculatoare pe arie medie de extindere
 
ca o platformă pentru o colecţie de calculatoare

2.TCP (Transmission Control Protocol) are ca funcţie primară



corectarea erorilor şi secvenţierea transportului. 
 
transmiterea mesajelor în format electronic pe Internet
 
transmiterea de pachete de la sursă la destinaţie

definirea modului prin care vor dialoga clientul şi serverul 
3.Trăsăturile limbajului HTML sunt: 

Dependenţa de platformă, Structurarea riguroasă a documentelor, Hipertext 
 
Independenţa de platformă, restructurarea riguroasă a documentelor,Hiperlink
 
Hipertext, Independenţa de platformă, Structurarea riguroasă a documentelor
 
Interferenţa cu platforma , Structurarea riguroasă a serverelor, Hiperdocument

Răspunsuri
1.Internet-ul este definit ca:

reţea locală de reţele ; 
 
ca o ca o colecţie largă reţea de reţele
 
ca o reuniune de calculatoare pe arie medie de extindere
 
ca o platformă pentru o colecţie de calculatoare

2.TCP (Transmission Control Protocol) are ca funcţie primară



corectarea erorilor şi secvenţierea transportului. 
 
transmiterea mesajelor în format electronic pe Internet
 
transmiterea de pachete de la sursă la destinaţie

definirea modului prin care vor dialoga clientul şi serverul 
3.Trăsăturile limbajului HTML sunt: 

Dependenţa de platformă, Structurarea riguroasă a documentelor, Hipertext 
 
Independenţa de platformă, restructurarea riguroasă a documentelor,Hiperlink
 
Hipertext, Independenţa de platformă, Structurarea riguroasă a documentelor
 
Interferenţa cu platforma , Structurarea riguroasă a serverelor, Hiperdocument

Bibliografie

[Stanca_07]Stanca L., Suportul tehnologic al afacerilor electronice, Editura Presa Universitară


Clujeană, 2007 pag:5-16, Biblioteca Facultăţii
[Stanca_04] Stanca L.,Suportul economic al afacerilor electronice, Editura Presa Universitară Clujeană,
2004 pag:5-20, Biblioteca Facultăţii
[Buraga_05] Buraga S,Proiectarea site-urilor WEB-Design şi funcţionalitate, Editura Polirom, 2005,
Biblioteca facultăţii, pag.57-90

14
MODULUL 2 PREZENTAREA ELEMETELOR DE BAZĂ ALE LIMBAJULUI HTML

2.1. Scopul şi obiectivele modulului

În cadrul activităţilor de proiectării şi realizării siteurilor şi portalurilor Web un rol decisiv îl joacă
limbajul HTML. După descoperierea elementelor de bază a modului de funcţionare a spaţiului
electronic se impune prezentarea în cadrul acestui modul a noţiunilor de bază şi avanstate ale limbajului
HTML. Conceptele de bază abordate în cadrul acestui modul sunt:

 Trăsăturilor caracteristice ale limbajului HTML; 

 Structurii unei pagini HTML ; 

 Tag-ur de formatare a textului; 

 Stilurilor fundamentale de formatare a textului 

 Hyperlink ; 

 Liste ; 

 Tabele; 

 Imagini; 

 Formulare; 

Cadre (frame). 
Obiective acestui modul sunt:
1. Familiarizarea cu conceptele WEB, pagină WEB, HTTP;
2. Asimilarea caracteristicilor limbajului HTML
3. Descrierea structurii unui document HTML
4. Însuşirea tag-urilor de formatare la nivel de text
5. Însuşirea tag-urilor Hyperlink, liste
6. Prezentarea tag-uri de definire a diverselor obiecte

Recomandǎri privind studiul:

1. Studierea conceptelor prezentate în vederea utilizării lor pe parcursul celorlalte capitole.


2. Asimilarea conceptelor de bază legate de dezvoltarea proiectelor web statice care stau la
baza dezvoltării proiectelor web dinamice prezentate în capitolele următoare.

Rezultate aşteptate:
1. Studenţii trebuie să fie capabili să îşi prezinte cunoştinţele teoretice de natură coerentă şi
consistentă.
2. Studenţii trebuie să poată proiecta şi implementa un proiect de pagină web statică de
mare complexitate.

2.2. Scurtă recapitulare a conceptelor prezentate anterior


În cadrul primului modul s-a impus să se prezinte noţiunile de bază a mediului virtual, a limbajelor de
scripting pe parte de serverşi nu în ultimul rând a principiului de funcţionare a modelului client-server.
Pe baza acestor noţiuni se vor creiona toate celălate noţiuni prezentate în modulele viitoare.

2.3. Schema logică a modulului


Acest modul este compus din şapte subcapitole: primul subcapitol are ca scop evidențierea conceptului
de bază ale limbajului HTML iar în celălate şase subcapitole sunt prezentatea pe rând elemnte de limbaj
HTML.

15
2.4.Conţinutul informaţional detaliat
2.4.1. Elemente de limbaj HTML

Web-ul este rodul întâlnirii dintre un inventator şi un strateg.[Godeluck2002] Inventatorul, în acest caz,
este Tim Berners-Lee care a conceput Universal Resource Locator (URL). URL este un sistem
universal de adresare şi de realizare a concordanţei documentelor pe reţea, fiecare document primind
echivalentul unui număr de telefon înregistrat oficial într-un anuar. Trecerea de la un document la altul
se va face prin accesarea legăturilor de tip hypertext. Tim Berners Lee este creatorul limbajului HTML,
care permite scrierea unui text în cadrul căruia se inserează legături ascunse către alte pagini, care
cuprind la rândul lor legături către alte pagini. Aceste legături sunt într-un număr extrem de mare, fiind
asemuite cu o pânză de paianjen. Hypertext Transfer Protocol (HTTP) este resursa care permite
încărcarea paginilor solicitate de utilizator pe ecranul calculatorului său. Apariţia acestui protocol este
considerată de majoritatea specialiştilor în domeniu, ca o etapă decisivă în procesul descentralizării
cunoaşterii, proces iniţiat de apariţia Internet-ului. HTTP a făcut posibilă vizitarea site-urilor şi
navigarea prin spaţiul virtual.
În literatura de specialitate există o serie de definiţii pentru site-uri Web dintre care s-a ales cea care se
potriveşte cel mai bine temei prezentei abordări, aceasta fiind:
“Pagina Web-Document din World Wide Web este alcătuită dintr-un fişier HTML şi din fişierele
asociate pentru grafică şi scripturi, aflate într-un anumit director de la o anumită maşină (fiind astfel
identificabile printr-o adresă URL). De obicei, o pagină Web conţine legături la alte pagini Web.
[Microsoft1999] Primul document dintr-un site web se numeşte pagina de bază ~ index sau home page.
Ea serveşte ca punct de plecare într-un sistem hipertext [Microsoft1999] sau, cu alte cuvinte, ea se
deschide când se navighează la un site Web. [Plotkin2002] Pagina de bază de regulă are o denumire
consacrată, home.html, default.html sau index.html.
HTML-ul (Hypertext Markup Language), este un limbaj cu ajutorul căruia se descrie formatul primar în
care documentele sunt distribuite şi vizualizate pe Web. Trăsăturile limbajului HTML sunt:[site2]
1. Independenţa de platformă care înseamnă că un document poate fi afişat în mod
asemănător pe computere diferite (deci cu font, grafică şi culori diferite), lucru vital pentru un public
ţintă atât de variat.
2. Structurarea riguroasă a documentelor permite convertirea acestora dintr-un format în
altul precum şi interogarea unor baze de date formate din aceste documente.
16
3. Hipertext înseamnă că orice cuvânt, frază, imagine sau alt element al documentului văzut
de către un client poate face referinţă la un alt document, ceea ce simplifică mult navigarea între
multiplele pagini web sau chiar în interiorul aceleiaşi pagini web.
Deci, HTML defineşte structura şi modul de afişare a informaţiei într-o pagină web, prin intermediul
unor marcaje şi a atributelor acestora.
Un document HTML apare ca un text ce conţine o serie de construcţii delimitate de simbolurile “<” şi
“>”. Aceste construcţii specifică indicaţii speciale adresate navigatorului (browser-ului) Web. Orice
construcţie care apare între simbolurile “<” şi “>” o vom numi marcaj, tag sau instrucţiune.
Deoarece este mai scurt, vom folosi în continuare termenul tag.

2.4.2. Structura unui document HTML

Documentele HTML încep cu tag-ul <HTML> şi se termină cu tag-ul </HTML>. Între aceste tag-uri
se vor introduce două secţiuni, şi anume:
1. secţiunea de antet a documentului delimitată de tag-urile: <HEAD>...</HEAD>,
care cuprinde o colecţie de informaţii despre document care nu sunt afişate în browser;
2. secţiunea de corp a documentului delimitată de tag-urile: <BODY>...</BODY>,
care cuprinde conţinutul propriu-zis al paginii HTML, adică ceea ce se va afişa în browser.
Deci, un document HTML are următoarea structură:
<HTML>
<HEAD>....</HEAD>
<BODY>....</BODY>
</HTML>
Tag-ul <BODY> are rolul de a delimita partea principală a unui document HTML şi poate conţine
atributele de formatare a acestuia
Tag-urile care pot fi folosite în interiorul secţiunii antet sunt:
<TITLE>text</TITLE> ~ se foloseşte pentru a da un titlu documentului HTML. Acesta va fi afişat în
bara de titlu a browser-ului.
Tag-ul <META> este folosit pentru a oferi mai multe informaţii serverelor despre cum trebuie
manevrat (identificat, indexat şi catalogat) documentul HTML
Tag-ul <STYLE> este introdus într-un document HTML cu scopul de a seta toate proprietăţile care
controlează înfăţişarea sa, inclusiv setarea fontului, culorii, alinierii şi a cadrelor. Tagul <STYLE> este
recomandat să se definească în antetul unui document HTML.

2.4.3. Hyperlink-uri

Într-un web site legăturile joacă rolul principal, deoarece aceastea dau posibilitatea vizitatorului
de a naviga printre paginile acestuia. Legăturile sunt introduse într-o pagină web prin intermediul tag-
ului <A…>…</A> numit anchor [site2][site33].
O legătură se poate utiliza în următoarele trei moduri:
I. pentru a crea o legătură către un alt document prin intermediul atributului HREF.

II. Tag-ul <A> se poate folosi pentru lansarea în execuţie a unei aplicaţii de expediere a
mesajelor electronice, serviciul Internet mailto: urmat de adresa e-mail.

III. pentru a crea o legătură către o etichetă din cadrul aceluiaşi document, prin utilizarea
atributului NAME. Primul pas în cadrul acestei acţiuni este alegerea zonei din pagina Web spre care se
doreşte să se sară la activarea legăturii şi definirea în acel loc a unui semn de carte.

2.4.4. Liste în site-uri Web

Elementele listelor se introduc între marcajele <LI> … </LI> ("list item"). Modul de apariţie al
17
elementelor depinde de tipul de listă în care sunt incluse (ordonată, neordonată etc.), determinat de
marcajul specific. Există trei tipuri de liste şi anume:
1. Tagurile <OL> … </OL> ("ordered list") se folosesc pentru a defini o listă ordonată. Fiecare
element al listei este introdus prin marcajul <LI> … </LI>.
2. Tag-ul <UL> … </UL> se foloseşte pentru a defini o listă neordonată în cadrul căreia
elementele sunt introduse prin marcajul <LI> … </LI>.
3. Tag-urile <DL> … </DL> se folosesc pentru introducerea unui set de definiţii, referinţe sau
indexuri. Fiecare termen al listei este iniţiat de eticheta <DT> (”definition term”), iar
semnificaţia asociată este iniţiată de eticheta <DD> (”definition description”). Fiecare definiţie
începe pe un rând nou şi este indentată.
În continuare se va da un exemplu de pagină web în care se vor folosi demonstrativ tag-urile de definire
a tuturor tipurilor de liste ce pot fi definite în cadrul unei pagini web. Această pagină se doreşte a fi un
exemplu de utilizare a tuturor tipurilor de liste învăţate, fapt pentru care conţinutul acesteia s-a creat în
conformitate cu scopul propus. Pagina care se crează se numeşte ”Exemplul5.html” şi are următorul cod
sursă:

<html>
<head>
<title>HYPERLINK</title><br>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">
</head>
<body link="red" vlink="blue" alink="yellow">
<H1>LISTE </H1>
<H2> Tag-ul &lt;OL> </H2>
<p> se folose&#351;te pentru a defini o list&#259; ordonat&#259; astfel:</p>
<H3>Liste ordonate simple</H3>
<ol>
<li>Primul element al listei
<li>Al doilea element al listei
</ol>
<H3>Liste ordonate numerotate cu litere mici</H3>
<ol type="a">
<li>Primul element al listei
<li>Al doilea element al listei
</ol>
<H3>Liste ordonate numerotate cu litere mari</H3>
<ol type="A">
<li>Primul element al listei
<li>Al doilea element al listei
</ol>
<H3>Liste ordonate numerotate cu cifre romane mici</H3>
<ol type="i">
<li>Primul element al listei
<li>Al doilea element al listei
</ol>
<H3>Liste ordonate numerotate cu cifre romane mari</H3>
<ol type="I">
<li>Primul element al listei

18
<li>Al doilea element al listei
</ol>
<H3> Tag-ul &lt;OL> poate avea un atribut START=6 </H3>
<p> se folose&#351;te pentru a stabili numerotarea intr-o list&#259; ordonat&#259;
astfel:</p>
<ol START=6>
<li>Primul element al listei
<li>Al doilea element al listei
</ol>
<H2> Tag-ul &lt;UL> </H2>
<p> se folose&#351;te pentru a defini o list&#259; neordonat&#259; astfel:</p>
<H3>Liste neordonate marcate cu disc</H3>
<ul type=disc>
<li>Primul element al listei
<li>Al doilea element al listei
</ul>
<H3>Liste neordonate marcate cu cerc</H3>
<ul type=circle>
<li>Primul element al listei
<li>Al doilea element al listei
</ul>
<H3>Liste neordonate marcate cu p&#259;trat</H3>
<ul type=square>
<li>Primul element al listei
<li>Al doilea element al listei
</ul>
<H2>List&#259; ordonat&#259; care cuprinde o list&#259; neordonat&#259;</H2>
<OL>
<li>Primul element
<li>Al doilea element
<ul>
<li>Primul subelement
<li>Al doilea subelement
</ul>
</li>
<li>Al treilea element
</OL>
<H2> Tag-ul &lt;DL> </H2>
<p> se folose&#351;te pentru introducerea unui set de defini&#355;ii, indexuri
etc.</p>
<h3>List&#259; de defini&#355;ii </h2>
<dl>
<dt>Precizare termen de definit
<dd>Define&#355;ie termen
<dt>Precizare termen de definit
<dd>Defini&#355;ie termen.
</dl>
</body></html>

Lansarea în browser a paginii ”Exemplul5.html” creată pe baza codului sursa anterior va arăta ca în
Figura.2.2. prezentată în cele ce urmează:

19
20
2.4.5.Marcaje pentru obiecte

Tabelele se definesc cu tag-urilor <TABLE>...</TABLE>. Liniile în cadrul unui tabel se definesc cu


tag-urile <TR>...</TR>. Celulele din cadrul unui tabel se definesc cu tag-urile
<TD>...</TD>. Numărul de celule definite reprezintă numărul de coloane ale tabelului. Într-o celulă se
pot introduce text, imagini, liste, paragrafe, formulare, linii orizontale, tabele, etc.. Tag-ul
<TH>...</TH> se foloseşte pentru a defini prima linie a tabelei, aşa numita linie antet. Tag-ul
<CAPTION>...</CAPTION> se foloseşte pentru a da un titlu tabelului
Imaginile [site4] [KasaPop1998] se definesc cu tag-ul <IMG> care nu prezintă tag de sfârşit. Acest tag
prezintă atributul src care se foloseşte pentru a afişa o imagine într-un site web. Valoarea acestui atribut
este adresa imaginii care se doreşte să se afişeze în site-ul Web. Imaginile se salvează în mod
obligatoriu cu extensiile GIF şi JPEG.
Formularele[KasaPop1998] se definesc cu tag-urile <FORM>...</FORM> cărora li se ataşează
parametri specifici care definesc metodele de transmitere şi tratare a datelor. Un formular poate conţine
obiecte de control de diverse tipuri, definite cu tag-ul <INPUT> şi o varietate de parametri care
stabilesc pentru obiectul definit, tipul, dimensiunea şi modul lui de afişare [site5].
Atributele tag-ului <FORM> sunt:[site6]
1. METHOD care poate lua una din valorile GET sau POST. În majoritatea cazurilor când se
doreşte să se transmită informaţiile din cadrul obiectelor de pe un formular, este indicat să se folosească
valoarea
POST a atributului method.
2. ACTION care poate lua ca valoare adresa URL a scriptului PHP care prelucrează datele adunate
prin intermediul formularului. Adresa URL poate fi o adresa completă (de genul http://www.numesite.ro
/inregistrare.php), respectiv o adresă parţială, care specifică o cale relativă spre pagina cerută (de
exemplu “intregistrare.php“). Între tag-urile <FORM>... </FORM>se pot introduce următoarele
obiecte:
1. Casete cu text [site6] [site2] [KasaPop1998] se folosesc pentru a obţine diverse informaţii.
Acestea se definesc astfel:
<INPUT TYPE="TEXT" NAME="text">
2. Butoanele [site6] [KasaPop1998] pot fi de expediere şi de resetare. Butoanele de expediere permit
utilizatorului să trimită serverului, datele din cadrul unui formular. Fiecare formular HTML trebuie să
prezinte un buton de expediere. Butoanele de expediere, se definesc astfel:
<INPUT TYPE="SUBMIT" VALUE="ok">
Butonul de resetare are rolul de a goli obiectele de pe formularele de informaţii şi se defineşte astfel:
<INPUT TYPE="RESET" VALUE="RESETARE">
3. Suprafeţele cu text [site6] [KasaPop1998] se crează cu tag-urile
<TEXTAREA>...<TEXTAREA>.
Textul introdus între cele două tag-uri va apărea în controlul de pe formular creat cu tag-ul
<TEXTAREA>.
4. Casete de validare (CHECKBOX) [site6][site3] se definesc astfel:
<INPUT TYPE="CHECKBOX" NAME="validare" CHECKED VALUE="text">
5. Butoane radio [site6][site2][site3] se definesc la fel ca şi casetele de validare prezentând
aceleaşi atribute cu deosebirea că atributul TYPE ia valoarea Radio, atributul Name devine obligatoriu,
ca în exemplul următor:
<INPUT TYPE="RADIO" NAME="text" CHECKED VALUE="text">
6. Liste derulante [site6][site2] se definesc astfel:
<SELECT NAME="fructe" MULTIPLE SIZE="numar">
<OPTION SELECTED
VALUE="text">mere</OPTION> <OPTION
VALUE="text">pere</OPTION> </SELECT>

21
7. Frame-urile [site7] [Darnell2001] permit afişarea în cadrul aceleiaşi ferestre a browser-ului a mai
multor documente HTML în acelaşi timp. Fiecare pagină Web deschisă în fereastra browser-ului se
numeşte frame, iar fiecare frame se comportă independent faţă de celelalte frame-uri.
<FRAMESET> are rolul de a adăuga un nou set de cadre după antetul document HTML, în locul
corpului acestuia. Sintaxa acestui tag este: [Darnell2001]
<FRAMESET [rows=rowWidths][cols=colWidths][loadEvents]>
....Definirea Frameset....
</FRAMESET>
Fiecare frameset este definit de un set de linii sau coloane. Valorile liniilor sau coloanelor stabilesc
suprafaţa de pe ecran pe care fiecare linie/coloană o va ocupa. [site7]
Tagul <FRAME> defineşte un singur cadru dintr-un <FRAMESET>. Acest tag nu are etichetă de
sfârşit, adică </FRAME>. Sintaxa acestui tag este:
<FRAME [name=][src=][behavior][appearance]>
În continuare se vor crea trei pagini web care vor conţine pe rând trei tipurile de frame-uri care se pot
crea ca în exemplele următoare:

1. „Exemplul9.html” se va crea un frame vertical astfel:

<html>
<head>
<title>Frame vertical cu 2 coloane</title> </head>
<frameset cols="40%,40%">
<frame src="exemplul1.html">
<frame src="exemplu2.html">
</frameset>
</html>

Se observă că pagina ”Exemplul9.html” va chema la lansarea ei în browser două pagini html numite
”Exemplul1.html” respectiv ”Exemplu2.html” care vor fi vizualizate de utilizator într-o singură pagină
web împărţită pe verticală ca în Figura 2.3.

Figura 2.3. Pagina web ”Exemplul9.html”


22
2.În prima pagină web numită „Exemplul10.html” se va crea un frame orizontal astfel:

<html>
<head>
<title>Frameset orizontal cu 2 linii </title> </head>
<frameset rows="40%,40%">
<frame src="exemplul1.html">
<frame src="exemplu2.html">
</frameset></html>

Se observă că pagina ”Exemplul10.html” va chema la lansarea ei în browser două pagini html numite
”Exemplul1.html”, respectiv ”Exemplu2.html” care vor fi vizualizate de utilizator într-o singură pagină
web împărţită pe orizontală ca în Figura 2.10.

Figura 2.4. Pagina web ”Exemplul10.html”


3. În prima pagină web numită „Exemplul11.html” se va crea un frame mixt astfel:

<html>
<head>
<title>Frameset mixt (linii si coloane) </title> </head>
<frameset rows="50%,50%">
<frame src=" Exemplul1.html">
<frameset cols="40%,60%">
<frame src="exemplu2.html">
<frame src="exemplul3.html">
</frameset>
</frameset>
</html>

Se observă că pagina ”Exemplul11.html”, va chema la lansarea ei în browser trei pagini html numite
”Exemplul1.html”, ”Exemplu2.html,” respectiv ”Exemplul3.html” care vor fi vizualizate de utilizator
într-o singură pagină web împărţită pe orizontală şi verticală ca în Figura 2.5.
23
Figura 2.5. Pagina web ”Exemplul11.html”

Pe baza noţiunilor prezentate în cadrul acestei păţi se poate crea un site web static de prezentare a unui
produs, firme etc.

2.8.Aspecte ale limbajului HTML5


Limbajul HTML5: [Mark Pilgrim]
1. se bazează pe HTML, CSS, DOM, şi JavaScript
2. reduce nevoia de plugin-uri externe (precum Flash)
3. o mai bună tehnica de manipulare a erorilor
4. mai mult Markup pentru a înlocui scripting
5. independenta de dispozitiv
Modificările HTML5: [Mark Pilgrim]
1. se foloseşte doar o simplă formă pt DOCTYPE astfel:
<!DOCTYPE html>.
Intenţionat nu conţine nici o precizare pentru a putea fi folosită în versiunile viitoare de HTML.
2. se reţin atributele pentru limbaj. Nu este obligatoriu să se folosească atributele xmlns sau xml: lang în
tagul <html>. În HTML5 se va scrie:
<HTML lang=”en”>
3.se definesc seturile de caractere cu ajutorul atributului charset din meta tag:
<meta charset=”utf-8”/>
4. Pentru elementele nule in HTML5 de ex: br, img si input nu mai cer slash-ul de final
5. nu mai se acceptă în HTML5 elementele: <acronym>, <applet>, <basefont>, <big>, <center>,
<dir>, <font>, <frame>, <frameset>, <noframes>, <s>, <strike>, <tt>, <u> and <xmp>
HTML 5 introduce şi îmbunătăţeşte o gamă largă de caracteristici (controalele formular, API-uri,
multimedia, structura şi semantică) -scopul este : de a oferi dezvoltatorilor o mai mare flexibilitate şi
interoperabilitate, şi a permite site-urile web mai interactive şi mai incitante .
Dezvoltarea lui HTML 5 a început din 2004 şi sunt implicaţi W3C HTML WG, WHATWG, Apple,
24
Mozilla, Opera, and Microsoft. HTML5 introduce un set întreg de elemete noi care permit să realizeze o
structurare mai uşoară a paginilor web. În HTML5 elementele div sunt înclocuite cu: header,nav,
article, section, aside, footer. Elementul nav reprezintă o sectiune destinată link-urilor de navigare.
Elementul <aside> este pentru conţinut, poate fi un tag spre alt conţinut asemănător. Elementul <aside>
este destinat utilizării pentru a marca lateralele.(arhivele pe acelaşi conţinut). Elementul <section> este
o secţiune generică a documentului sau a aplicaţiei, cum este de exemplu un capitol. Elementul < article
> este o secţiune independentă a unui document, pagină sau site.Acest ultim element este potrivit pentru
link-uri spre conţinutul unor articole de ştiri de pe blog, posturi pe forumuri sau pentru comentarii
individuale.
Funcţii noi ale lui HTML5: [Mark Pilgrim]
1. elementul canvas pt desen
2. elementele video şi audio pentru redarea fişierelor de muzică
3. suport mai bun pentru stocări locale offline
4. noi controale de forma: calendar, date, time, e-mail, url şi search.
Stocarea Datelor pe client: [Mark Pilgrim] atributele noi pentru stocarea datelor sunt similare cu
modulele cookie din sesiunile HTTP. Acestea sunt "sessionStorage" şi "localStorage".
* SessionStorage este utilizat pentru a salva datele atâta timp cât o fila sau fereastră a browser-ului
rămâne deschisă
-memorarea datelor în sesiuni(echivalentul lui cookie)
- nu persistă dacă se închide tab-ul, el nu există dacă se va naviga printr-un alt tab
sau fereastra.
-nu are nici o limita de lungime cu excepţia RAM.

* LocalStorage este utilizat pentru a stoca date pentru o perioadă mai lungă de timp, peste mai multe
pagini şi sesiuni de browser (de exemplu, va dura chiar şi atunci când se reporneşte browser-ul web şi /
sau calculatorul).
-memorarea datelor fără limită de timp(datele sunt disponibile o zi, o săptămână,sau ani.)
În HTML5, datele nu se transmit pentru fiecare cerere la server, ele sunt trimise doar atunci când sunt
cerute. Caracteristici atât locale şi sesiune de depozitare sunt acceptate în următoarele browsere web:
Internet Explorer 8 +, Firefox 3.5 +, Safari 4.0 +, Chrome si Opera 2.0 + 10.5 +.

25
Teme pentru verificarea cunoştinţelor

1. Care este structura unui document HTML?


2. Care este tag-ul care permite inserarea unei imagini într-un document HTML?
3. Creaţi o pagină care să fie împărţită în două cadrane verticale în primul cadran să existe o listă
ordonată iar în al doilea cadran să existe o imagine.
4. Creaţi o pagină care să conţină un tabel de forma:

5. Creaţi o pagină HTML care să conţină un tabel de forma:

6. Creaţi o pagină HTML care să conţină un formular de forma:

7. Creaţi o pagină HTML care să conţină o listă ordonată identică cu lista prezentată în imaginea
următoare:

26
1.Care este ansamblul de tag-uri HTML ce se utilizează la gestiunea listelor neordonate?

<UL> <DT> 
 
<UL> <OL>
 
<UL> <LI>
 
<UL> <DD>
2.Tag-ul <TH>...</TH> poate fi înlocuit de tag-ul:

<TABLE>...</TABLE> 
 
<TR>...</TR>
 
<TD>...</TD>
 
<CAPTION>....</CAPTION>

3.Tag-ul <TD>...</TD> are rolul de a defini:



liniea a unui tabel 
 
coloana a unui tabel
 
celula a unui tabel
 
un tabel

Răspunsuri 
1.Care este ansamblul de tag-uri HTML ce se utilizează la gestiunea listelor neordonate? 


<UL> <DT> 
 
<UL> <OL>
 
<UL> <LI>
 
<UL> <DD>
2.Tag-ul <TH>...</TH> poate fi înlocuit de tag-ul:

<TABLE>...</TABLE> 
 
<TR>...</TR>
 
<TD>...</TD>
 
<CAPTION>....</CAPTION>

3.Tag-ul <TD>...</TD> are rolul de a defini:



liniea a unui tabel 
 
coloana a unui tabel
 
celula a unui tabel
 
un tabel

Bibliografie

1. [Stanca_07]Stanca L., Suportul tehnologic al afacerilor electronice, Editura Presa Universitară


Clujeană, 2007 pag:17-32, Biblioteca Facultăţii
2.[Stanca_04] Stanca L.,Suportul economic al afacerilor electronice, Editura Presa Universitară
Clujeană, 2004, Biblioteca Facultăţii
3.[Darnell_01]R.Darnell, Totul despre HTML 4, Editura Teora, 2001, Biblioteca catedrei 4.[Mark
Pilgrim] Mark Pilgrim, HTML5 ghidul începătorului, Editura 3D MEDIA COMMUNICATIONS,2011.

27
MODULUL 3. MYSQL SERVER

3.1.Scopul şi obiectivele modulului


Scopul acestui modul este de a prezenta toate noţiunile teoretice şi practice necesare pentru învăţarea
principiilor de bază în lucrul cu bazele de date. Conceptele de bază prezentate în cadrul prezentului
modul sunt:

Modalitatea de funcţionare a unui server de baze de date 

 Baza de date-definiţie şi proiectare 

 Tipuri de date MySQL 
 
Operaţii asupra bazelor de date în MySQL 
Obiectivele modului sunt: 

1. Familiarizarea cu concepte ca server de baze de date, bază de date, înregistrare;
2. Asimilarea principiului de funcţionare a unui server de baze de date
3. Cunoaşterea tipurilor de date MySQL
4. Crearea unei baze de date
5. Însuşirea operaţiilor clasice ce se execută asupra unei baze de date în MySQL.

Recomandǎri privind studiul:

1. Studierea conceptelor prezentate în vederea utilizării lor pe parcursul celorlalte capitole.


2. Asimilarea conceptelor de bază legate de conceperea, proiectarea şi implementarea
bazelor de date care stau la baza dezvoltării proiectelor web dinamice prezentate în
capitolele următoare

Rezultate aşteptate:

1. Studenţii trebuie să fie capabili să îşi prezinte cunoştinţele teoretice de natură coerentă şi
consistentă.
2. Studenţii trebuie să poată proiecta şi implementa o bază de date pentru o pagină web
dinamică de mare complexitate.
.
3.2. Scurtă recapitulare a conceptelor prezentate anterior
În cadrul modulelor anterioare s-au prezentat atât noţiuni legate de mediul virtual şi modul de
funcţionare al acestuia cât şi elemente de limbaj HTML.

3.3. Schema logică a modulului

Prezentarea produsului informatic MySql Server a impus structurarea acestului modul ca în figura de
mai jos:

28
3.4. Conţinutul informaţional detaliat

3.4.1. MySQL –concepte de bază, caracterisitci

MySQL este cel mai popular sistem de management pentru baze de date relaţionale deoarece este open-
source. MySQL Server a fost creat pentru a lucra cu baze de date mai rapid decât soluţiile deja existente
la ora actuală pe piaţă [Graeme-site].
Facilităţile oferite de MySQL sunt variate, dintre care se vor preciza următoarele [BuBois2001]:

 posibilitatea accesului concurent la date de către un număr nelimitat de utilizatori; 

 
capacitatea de a gestiona până la 50000000 de înregistrări şi chiar mai multe;

 
execuţia foarte rapidă a comenzilor, poate chiar cea mai rapidă din cele existente pe piaţă;

 
sistem uşor şi eficient de gestiune a drepturilor utilizatorilor;
 
este gratuit, fapt ce a atras extinderea fără precedent a folosirii acestui server de baze de date.
MySQL este un sistem de gestiune a bazelor de date. Pentru a adăuga, insera şi procesa datele
memorate pe un calculator este nevoie de un astfel de sistem de gestiune a datelor. Având în vedere că
toate calculatoarele sunt destinate pentru memorarea informaţiilor, managementul bazelor de date joacă
un rol decisiv, atât în gestiunea datelor ca activitate de sine stătătoare, cât şi în cadrul aplicaţiilor ample
[BuBois2001].
MySQL este un sistem multiuser (permite să fie folosit concomitent de mai mulţi utilizatori) şi
multithread (prezintă mai multe fire de execuţie). Utilizează SQL, limbajul standard de interogare a
bazelor de date.[WellingThomson2005]
MySQL este un sistem de gestiune a bazelor de date relaţionale. Tabelele sunt conectate prin relaţii
predefinite, fapt ce face posibilă combinarea datelor din mai multe tabele, la cerere. MySQL este un
produs open source.MySQL este un sistem client-server care este alcătuit dintr-un server SQL
multithread care are facilităţi pentru mai mulţi utilizatori, mai multe programe şi biblioteci client,
instrumente de administrare şi un număr mare de interfeţe de programare. Având în vedere că MySQL
suportă o gamă variată de produse software, există posibilitatea ca multe din limbajele de programare
deja folosite de anumiţi utilizatori să suporte deja interfaţa cu acest produs [BuBois2001].
Orice maşină care doreşte să proceseze interogări asupra unei baze de date MySQL trebuie să ruleze
MySQL server-MySQLd-, care este responsabil de tot traficul de tip incoming sau outgoing cu baza de
date. Ca orice server, MySQLd primeşte pe un port particular (3306) eventualele cereri de conexiune

29
ale unui client care trimite cereri către o bază de date via MySQLd. Acest client poate fi un script în
PHP care, graţie modelului DBI, poate trimite o cerere către baza de date prin intermediul serverului
MySQL, sau chiar clientului command-line MySQL. Clientul MySQL este o interfaţă interactivă pentru
trimiterea de comenzi către server [BuBois2001].
Principalele motive pentru folosirea pe scară largă a MySQL sunt viteza, stabilitatea şi facilitatea în
utilizare. De asemenea MySQL are o serie de caracteristici care au fost dezvoltate prin colaborarea
foarte apropiată cu utilizatorii acestui limbaj. Aceste caracteristici ale limbajului se datorează faptului
că a fost proiectat încă de la început pentru gestionarea unui volum foarte mare de date, iar experienţa în
folosirea sa, acumulată de-a lungul anilor şi-a spus cuvântul. MySQL oferă astăzi un set complet şi util
de funcţii. Conectivitatea, viteza şi securitatea fac ca MySQL să fie unul din cele mai potrivite produse
pentru gestiunea bazelor de date pe Internet [MySQL-site].

3.4.2. Modul de funcţionare a unui server de baze de date pentru Web

Funcţionarea unui server de baze de date pentru Web, în cazul nostru MySQL, implică existenţa a două
elemente: un browser Web şi un server. Între aceste două elemente se impune să existe un canal de
comunicare. Serverul de Web funcţionează în moduri diferite în următoarele situaţii:
[WellingThomson2005]

în cazul în care server-ul lucrează cu pagini de web statice, un browser Web (clientul)
 formulează cererea către server, iar serverul trimite înapoi un răspuns. 

în cazul în care server-ul lucrează cu pagini web dinamice care preiau datele dintr-o bază de date
şi le afişează se realizează următorii paşi: [WellingThomson2005] 

 browser-ul web al unui utilizator emite o cerere HTTP pentru o anumită pagină Web; 

server-ul web recepţionează cererea şi transferă fişierul către motorul PHP, în cazul nostru,
 pentru prelucrare; 

motorul php începe analiza paginii. În interiorul unei pagini web dinamice există o comandă
care realizează legătura la baza de date şi execută interogările pe care le trimite serverului
 MySql; 

serverul MySQL recepţionează interogarea bazei de date şi o prelucrează, iar apoi trimite

rezultatele motorului PHP; 

motorul PHP afişează rezultatele furnizate de server-ul MySQL formatate într-un cod HTML pe
care îl returnează server-ului Web, în cazul nostru Apache. 
Server-ul Web transmite codul HTML browser-ului, unde utilizatorului i se afişează rezultatul dorit de
acesta.

3.4.3. Tipuri de date SQL


Crearea unei baze de date relaţionale presupune crearea unuia sau mai multor tabele legate între ele. În
procesul de creare a unui tabel are loc stabilirea numelor câmpurilor acestuia cât şi a tipurilor de date
prin care unui utilizator i se indică ce date are voie să introducă în acestea. În funcţie de tipurile de date
alese pentru fiecare coloană a tabelei se alocă pe disc un spaţiu de memorie. În această situaţie este
indicată o cunoaştere aprofundată a acestora, deoarece acest fapt va permite creatorului tabelei să aleagă
tipul de date potrivit pentru fiecare coloană a tabelei astfel încât aceasta să ocupe un spaţiu de memorie
optim pe disc şi în acelaşi timp să răspundă nevoilor utilizatorilor acesteia. De exemplu, dacă se doreşte
să se definească un câmp “Vârsta” în cadrul unei tabele “Elevi” este bine ca acesta să fie de tipul
TINYINT deoarece acesta se defineşte pe un interval numeric ce cuprinde valoarea numerică care poate
fi introdusă într-un astfel de câmp. Un individ poate trăi în intervalul (0,100) aşa cum s-a observat până
în momentul de faţă. Pentru fiecare înregistrare introdusă în tabela Elevi pentru câmpul Vârsta se va
aloca 1 byte de memorie.
Tipurile de date folosite în procesul de creare a tabelelor din cadrul bazelor de date MySql, spaţiul pe care
acestea îl ocupă şi valorile minime şi maxime ale acestora sunt prezentate în cele ce urmează [site9]
[site10] [site11] [Chip2/2003]:
30
Tip de dată Descriere Valori Bytes
TINYINT Întregi de dimensiune foarte 1
mică
cu semn [-128;127]
fără semn [0,255]
SMALLINT Întregi de dimensiune mică 2
cu semn
fără semn [-32768,32767]
[0; 65535]
MEDIUMINT Întreg de lungime medie 3
cu semn
fără semn [-8388608; 8388607]
[ 0;16777215]
INT sau INTEGER Întreg de lungime normală. 4
cu semn
[-2147483648;2147483647]
fără semn [0; 4294967295]
BIGINT Întreg de dimensiune mare. 8
cu semn
[-9223372036854775808;
fără semn 9223372036854775807]
[0;18446744073709551615]
FLOAT Număr în virgulă mobilă care nu [±1.175494351E-38 4
poate fi fără semn având precizie ±3.402823466E+38]
simplă sau dublă. Precizia poate
merge până la 24 de zecimale
REAL sau DOUBLE Număr în virgulă mobilă, de [±2.2250738585072014E-308, 8
dublă precizie care nu poate fi ±1.7976931348623157E+308]
fără semn. Precizia poate merge
până la 53 de zecimale.
NUMERIC sau Număr în virgula mobilă care nu [±2.2250738585072014E-308, 8
DECIMAL poate fi fără semn. ±1.7976931348623157E+308]
Tabel 3.1. Tipuri de date numerice [site9][site10][site11]

Tipurile de dată calendaristică sunt prezentate în tabela de mai jos[Chip2/2003]:


Tipul de dată Format
DATETIME ’YYYY-MM-DD hh:mm:ss’
DATE ’YYYY-MM-DD’
TIMESTAMP YYYYMMDDhhmmss
TIME ’hh:mm:ss’
YEAR ‘YYYY’
Tabel 3.2. Tipul de dată calendaristică [Chip2/2003]:
Şirurile de caractere se împart în trei grupuri şi anume: şiruri normale definite prin tipul CHAR (fixed
length character), respectiv VARCHAR (variable length character), şiruri text definite prin tipul
TEXT respectiv BLOB (pentru şiruri lungi sau date binare) şi şirurile care folosesc SET respectiv
ENUM pentru valori predefinte.[site11] Tipurile de şiruri de caractere sunt:[ Chip2/2003]
 BLOB- câmpul de acest tip poate conţine o cantitate variabilă de informaţie 2^16-1 (64k-1).
Căutarea într-un câmp de acest tip este case sensitive, adică se face disticţie între litere mari şi cele
 mici; 

31
 TEXT- asemănător cu BLOB dar nu este case sensitive; 
 VARCHAR similat cu tipul TEXT cu deosebirea că pentru un câmp de acest tip se poate
 specifica numărul maxim de caractere admis; 
 TINYTEXT sau TINYBLOB (2^8-1) 
 MEDIUMTEXT sau MEDIUMBLOB(2^24-1=16M-1) 
 LONGBLOB (2632-1=4G-1) 
 ENUM (‘valoare1’,’valoare2’,...). Numărul maxim de valori pe care îl poate avea este 65535. 
Valoare implicită este NULL
SET(‘valoare1’,’valoare2’,...). Numărul maxim de valori pe care îl poate avea este 64. Valoare implicită
este NULL

3.4.4. Privilegii acordate utilizatorilor

În MySql comenzile Grant şi Revoke sunt folosite pentru a acorda, respectiv anula privilegii
utilizatorilor. Unui utilizator i se pot acorda următoarele patru niveluri de privilegii: [Welling Thomson
2005]

 global; 

 bază de date; 

 tabelă; 

coloană. 
Sintaxa comenzii GRANT este: [WellingThomson2005][site11]
GRANT privilegii [coloane] ON articol TO nume_utilizator [IDENTIFIED BY ‘parola’] [REQUIRE
optiuni_SSl][WITH [GRANT OPTION| optiuni_limitare]];
Sintaxa comenzii REVOKE este: [WellingThomson2005]
REVOKE privilegii [(coloane)] ON articol FROM nume_utilizator ;
În cazul în care în comanda GRANT s-a folosit clauza WITH GRANT OPTION revocare se face
astfel:
REVOKE ALL PRIVILEGES, GRANT FROM nume_utilizator;

3.4.5. Baze de date- definiţie, proiectare


O bază de date reprezintă o modalitate de stocare a unor informaţii (date) pe un suport extern, cu
posibilitatea regăsirii acestora. Cel mai răspândit model de bază de date este numit entitate-relaţie în
care datele sunt memorate în tabele legate între ele. [site12] Pentru a putea stabili legături între două sau
mai multe tabele ale unei baze de date se definesc chei. Cheile pot fi primare şi secundare.
Tabelele unei baze de date sunt alcătuite din câmpuri, adică coloane care sunt unice şi din linii care
conţin valorile introduse în câmpuri. Liniile unei tabele se numesc înregistrări sau tupluri. Coloanele
unei tabele pot să îndeplinească rolul de cheie primară sau secundară. În cadrul unei tabele se poate
defini la un moment dat doar o singură cheie primară.
Proiectarea unei baze de date impune respectarea următoarelor principii:[site13]
1. identificarea scopului bazei de date;
2. identificarea şi împărţirea informaţiilor în tabele corespunzătoare;
3. definirea cheilor primare astfel încât acestea să poată determina în mod unic o înregistrare;
4. identificarea cheilor secundare;
5. stabilirea legăturilor între tabele;
6. eliminarea datelor redundante.
Între tabelele unei baze de date, după stabilirea cheilor primare, respectiv secundare se pot defini trei
tipuri de legături, şi anume:[site11]
1. unu-la-unu – fiecărei valori din câmpul, care îndeplineşte rolul de cheie primară, în tabela
părinte îi corespunde o singură înregistrare în tabela la care este legată;
2. una-la-mai-multe – fiecărei valori din câmpul care îndeplineşte rolul de cheie primară, în tabela
părinte, îi corespund mai multe înregistrări în tabela la care este legată (un client ar putea face mai
multe comenzi).
32
3. mai-multe-la-mai-multe -mai multe valori din câmpul care îndeplineşte rolul de cheie primară,
în tabela părinte îi corespund mai multe înregistrări din tabela la care este legată.

3.4.6. Operaţii asupra bazelor de date în MySQL

O regulă de bază în MySql este că majoritatea comenzilor tastate în monitorul MySQL de clienţi pentru
a fi transmise serverului se termină cu “;”. Caracterul “;’ indică server-ului de baze de date MySql că s-
a terminat introducerea unei comenzi şi deci o poate procesa şi afişa rezultatul.
Crearea unei aplicaţii Web dinamice, în marea majoritate a lor, implică crearea unei baze de date
alcătuită din una sau mai multe tabele legate între ele. Crearea unei astfel de baze de date în MySql,
pentru un magazin virtual care se ocupă cu comercializarea produselor IT, se realizează cu comanda:
mysql> create database nume_bază_de_date;
“nume_bază_de_date” va trebui să fie înlocuit cu numele pe care utilizatorul doreşte să îl acorde bazei
lui de date, în cazul nostru magazin.(vezi Figura 3.1)

Figura 3.1. Crearea bazei de date magazin

În Figura 3.1, ca urmare a acţiunii de tastare a comenzii de creare a bazei de date, magazin, s-a afişat pe
ecran mesajul: Query OK, 1 row affected (0.01 sec). În cazul în care nu se poate executa comanda de
creare a bazei de date dorite în locul mesajului de mai sus se va afişa un mesaj de eroare.
Vizualizarea bazelor de date existente pe server-ul Mysql de către administrator se face cu comanda:
[Chip2/2003]:
mysql> SOW DATABASES;
Interogarea de mai sus se termină cu punct şi virgulă deoarece toate comenzile SQL trebuie încheiate
astfel pentru a semnala server-ului că s-a terminat de scris propoziţia şi că se poate trece la procesarea
cererii. Rezultatul procesării comenzii de mai sus este afişarea tuturor bazelor de date existente în
directorul data a serverului MySQL.
Selectarea unei baze de date ca fiind cea curentă se face prin comanda:
USE nume_baza_de_data;
Pasul următor în procesul de creare a unei baze de date îl constituie crearea tabelelor ce o compun.
Comanda de crearea a unui tabel are următoarea sintaxă:
CREATE TABLE nume_tabelă (nume_câmp tip_câmp);
În procesul de creare a unui tabel activităţile sunt:
1. denumirea câmpurilor;
2. alegerea unui tip de date potrivit pentru fiecare câmp;
3. definirea atributelor pentru fiecare câmp în parte;
4. stabilirea coloanei care va juca rolul de cheie primară sau secundară cu ajutorul căreia se va
stabili legătura către alte tabele ale bazei de date. Indexii
pentru o tabelă se pot crea astfel:
1. fie adăugând la sfârşitul instrucţiunii CREATE TABLE... comanda [Chip2/2003]
INDEX(nume_coloană_index);
33
2. fie folosind comanda: [WellingThomson2005]
CREATE [UNIQUE|FULLTEXT] INDEX nume_index ON nume_tabelă (nume_coloană_index
[(lungime)[ASC|DESC],...);
Ştergerea unui tabel, index, bază de date sau o coloană dintr-un tabel se face folosind comanda
DROP astfel[Chip2/2003]:
DROP TABLE nume_tabel; DROP DATABASE nume_baza_de_data;
Popularea tabelelor cu înregistrări se face prin comanda INSERT care are următoarea sintaxă
[Chip2/2003]:
INSERT INTO nume_tabel (câmp1, câmp2, câmp3) values (valoare1, valoare2, valoare3);
Comanda SELECT se foloseşte pentru a afişa toate înregistrările dintr-o tabelă astfel:
mysql>SELECT * FROM nume_tabelă;
Comanda SELECT se foloseşte pentru a afişa toate înregistrările dintr-o tabelă astfel:
mysql>SELECT * FROM nume_tabelă;

Figura 3.2. Înregistrările din cadrul tabelei Produse

Modificarea conţinutului unei înregistrări se face utilizând comanda UPDATE care are
sintaxa[Chip2/2003]

UPDATE nume_tabel SET nume_coloană1=`noua valoare a coloanei 1`,


nume_coloană2=`noua valoare a coloanei 2` WHERE condiţii

Ştergerea înregistrărilor dintr-o tabelă se face prin comanda DELETE care are următorea sintaxă
[Chip2/2003]:
DELETE FROM nume_tabel WHERE condiţii;
În cadrul prezentului capitol au fost expuse comenzi MySQL cu ajutorul cărora se poate proiecta şi
dezvolta o bază de date care să corespundă în totalitate nevoilor unui magazin virtual care ar putea avea,
de exemplu, ca obiect de activitate vânzarea de componente de calculatoare, componente de
calculatoare şi nu numai.

34
Test de verificare a cunoştinţelor:

1. Ce este MySQL? Definiţi acest concept.


2. Enumeraţi câteva facilităţi oferite de MySQL.
3. Enumeraţi principalele motive pentru folosirea pe scară largă a MySQL.
4. Explicaţi mecanismul de funcţionare a unui server Web.
5. Enumeraţi tipurile de date numerice cunoscute. Daţi un exemplu de asociere a unui tip de date
pentru un câmp al unei tabel.
6. Enumeraţi tipurile de date calendaristice cunoscute.
7. Enumeraţi grupurile în care se împart de şirurile de caractere?
8. Definiţi conceptul de bază de date.
9. Definiţi conceptul de relaţie între tabele.
10. Enumeraţi şi explicaţi tipurile de relaţii ce se pot stabili între două sau mai multe tabele ale unei
baze de date.
11. Creaţi o baza de date numită Facultate. Baza de date să fie alcătuită din două tabele una numită
Studenţi şi cealaltă numită Examene. Relaţia între cele două tabele să fie de unu la mai mulţi
definită prin câmpul IDStud
Structura tabelei Studenti
IDStud Nume Prenume Adresa An Serie Grupa

Structura tabelei Examene:


IDStud Materie Tip_Exam Nota

a. Să se insereze 5 înregistrări în fiecare tabelă. b.Să


se vizualizeze structura tabelelor.
c.Să se vizualizeze înregistrările fiecărei tabele.
d.Să se modifice conţinutul celei de a doua înregistrare din fiecare tabelă. e.Să
se adauge încă trei înregistrări la fiecare tabelă.
f.Să se şteargă toate înregistrările din tabela Examene pentru care Nota este 7.
1. Funcţiile mysql_connect(); şi mysql_select_db(); trebuie

apelate întotdeauna când se termină lucrul cu bazele de date 
 
apelate întotdeauna când se transmit datele dintr-o pagină php într-o altă pagină php
 
apelate întotdeauna când se începe lucrul cu bazele de date
 
apelate întotdeauna când se începe crearea tabelelor html

2.Modificarea datelor unei înregistrări dintr-o tabelă a unei baze de date se face cu comanda :

INSERT 
 
UPDATE
 
SELECT
 
DELETE

Răspunsuri 

1. Funcţiile mysql_connect(); şi mysql_select_db(); trebuie 



apelate întotdeauna când se termină lucrul cu bazele de date 
 
apelate întotdeauna când se transmit datele dintr-o pagină php într-o altă pagină php
 
apelate întotdeauna când se începe lucrul cu bazele de date

35
 
apelate întotdeauna când se începe crearea tabelelor html
2.Modificarea datelor unei înregistrări dintr-o tabelă a unei baze de date se face cu comanda :

INSERT 
 
UPDATE
 
SELECT
 
DELETE

36
MODULUL 4 PREZENTAREA LIMBAJULUI DE SCRIPTING PHP

4.1. Scopul şi obiectivele modului

În cadrul acestui modul se vor prezenta noţiunile teoretice şi practice ale limbajului de scripting pe parte
de server numit PHP. Conceptele de bază ale limbajului de scripting PHP , pe care le vom aborda
încadrul acestui modul sunt :

 noţiuni fundamentale de funcţionarea ale lui PHP 

 Accesul la paginile PHP şi crearea acestora 

 Structuri de control, tipuri de date, variabile, constante, operatori 

 Funcţii 

 Fişiere 

 Sesiuni şi cookies 

 Accesarea bazelor de date din intermediul unei pagini PHP 

Formulare 
Obiective acestui modul sunt:
1. Familiarizarea cu conceptele ca pagină PHP, constante,variabile, operatori,etc.;
2. Asimilarea principiului de funcţionare a unui pagini PHP
3. Cunoaşterea structurilor de control şi a principiilor de funcţionare a acestora
4. Însuşirea modului de lucru cu baze de date în MySQL din cadrul unei pagini PHP
5. Crearea de pagini dinamice complexe

Recomandǎri privind studiul:

1. Studierea conceptelor prezentate în vederea utilizării lor în practică.


2. Asimilarea conceptelor de bază legate de conceperea, proiectarea şi implementarea unor
proiectelor web dinamice cu caracter economic şi nu numai.
.

Rezultate aşteptate:
1. Studenţii trebuie să fie capabili să îşi prezinte cunoştinţele teoretice de natură coerentă şi
consistentă.
2. Studenţii trebuie să poată concepe, proiecta şi implementa un proiect amplu de pagină web
dinamică

4.2. Scurtă recapitulare a conceptelor prezentate anterior


În cadrul modulelor anterioare s-au prezentat noţiuni legate de mediul virtual şi modul de funcţionare al
acestuia, elemente de limbaj HTML.şi modul de concepere, proiectare şi implementarea a bazelor de
date în MySQL. Pe baza acestor cunoştinţe în cadrul acestui modul se pot prezenta noţiunile de bază şi
avansate ale limbajului de scripting PHP.

4.3. Schema logică a modulului

Prezentarea limbajului de scripting PHP a impus structurarea acestui modul ca în figura de mai jos:

37
Principiul de
funcţionare PHP

Elemente de limbaj
PHP

HTML+PHP+MYSQL

Site-uri web dinamice


Portaluri Web

Fig.4.3.1 Structura modulului 3

4.4. Conţinutul informaţional detaliat

4.4.1 Limbajului PHP~noţiuni fundamentale

PHP este un limbaj de scripting folosit pentru crearea paginilor Web dinamice. PHP poate fi folosit
pentru scrierea unor programe stocate pe server ce accesează baze de date. El este similar cu alte
limbaje de script cum ar fi, de exemplu JSP (Java Server Pages). PHP este un limbaj eficient şi
securizat. Aplicaţiile PHP sunt uşor de configurat pentru exploatare. PHP asigură timpi de răspuns
competitivi la rularea aplicaţiilor Web, asigurând în acelaşi timp securitatea informaţiilor şi transparenţa
faţă de utilizator [Chip2/2003].
PHP este un limbaj ideal pentru construirea de pagini Web dinamice. El poate fi rulat pe mai multe
platforme şi se poate conecta la mai multe baze de date, în particular baze de date relaţionale create cu
MySQL. Cel mai important aspect al limbajului este însă posibilitatea de a fi inclus în cod HTML. Se
pot crea pagini HTML statice şi din loc în loc, acolo unde este nevoie, să se introducă dinamism cu
PHP.
Limbajul PHP fiind open-source beneficează de un sprijin activ din partea comunităţii on-line, acesta
fiind şi motivul creşterii explozive a numărului de site-uri bazate pe acest limbaj.
Limbajul PHP oferă următoarele facilităţi [Welling2001]:
1. manipularea conţinutului paginilor web;
2. transmiterea header-elor HTTP pentru autentificare;
3. setarea cookie-urilor;
4. redirecţionarea utilizatorilor;
5. asigurarea spargerii (paser) fişierelor XML;
6. crearea şi manipularea imaginilor, animaţiilor şi a PDF-urilor;
7. conectarea la un server de e-mail.

38
4.4.2. Principiul de funcţionare a limbajului PHP

Modul de funcţionare a limbajului PHP este următorul: browser-ul trimite către server-ul Web o cerere
HTTP pentru un fişier PHP. Server-ul recunoaşte că fişierul cerut conţine cod PHP, în consecinţă va lansa
parser-ul PHP, care va primi la intrare fişierul respectiv. Parser-ul va identifica secvenţele PHP, care în
cadrul codului HTML sunt cuprinse între marcajele „<?” şi „?>” şi le va interpreta. Tot ce nu este cod PHP
este trimis spre ieşirea standard fără nici o prelucrare. Codul PHP poate scrie la rândul său în ieşirea
standard prin comenzile prestabilite cum ar fi „echo” sau „print”. În final serverul Web intercepteză ieşirea
standard a parser-ului şi transferă totul browser-ului care a cerut pagina [McCarty2002].
PHP, şi într-o anumită măsură şi alte limbaje Web, prezintă următoarele caracteristici [Welling2001]:

 este interpretativ; 

execuţia este rapidă deoarece interpretorul este inclus în server-ul Web, prin urmare nu se
cheltuiesc resurse cu configurarea; 

 este bogat în facilităţi, conţinând numeroase funcţii utile; 

are o sintaxă simplă, variabilele nu trebuie declarate, tipul acestora se stabileşte la
iniţializarea lor cu o valoare şi în plus numele de funcţii sunt intuitive. 
Crearea paginilor PHP se reduce la editarea unui fişier PHP care se poate realiza în orice editor de texte:
Notepad, editoare PHP, etc. şi acesta poate conţine:

 text; 

 tag-uri HTML sau XML; 

 comenzi şi instrucţiuni PHP; 

comenzi şi instrucţiuni MySQL. 
Pe parcursul dezvoltării fişierului, în fereastra editorului de texte Notepad se va acţiona comanda Save a
meniului EDIT după fiecare modificare adusă fişierului, apoi Refresh în browser pentru reflectarea
modificărilor astfel efectuate (folosirea butoanelor Back şi Forward din browser trebuie să fie urmată
de asemenea de Refresh). Cu condiţia ca fişierele să fie salvate corect, iar URL-urile locale să fie scrise
corect, pentru fiecare pagină PHP la care se lucrează simultan trebuie deschisă câte o fereastră a
editorului.
O pagină PHP se salvează cu extensia php în directorul C:\Program Files\Apache
Group\Apache\htdocs\ şi se va accesa în browser la adresa http://localhost/numefisier.php. În cazul în
care se doreşte ca paginile unui site Web să se păstreze într-un subdirector creat în rădăcina server-ului
Web atunci la lansarea în browser a site-ului web se va introduce şi numele acestuia în URL astfel:
http://localhost/numesubdirector/numefisier.php. După lansarea în browser a unei pagini PHP se poate
folosi opţiunea View source a acestuia, şi se observă că se afişează doar ieşirile scriptului (text, cod
HTML, etc.), nu şi codul PHP care generează ieşirile.

4.4.2.1. Accesul la paginile PHP şi afişarea rezultatelor acestora


Comenzile de editare a unei pagini HTML dintr-un script PHP, sunt: echo, print, print_r, şi printf.
Toate aceste comenzi mai sunt folosite pentru afişarea rezultatelor unei funcţii, a valorilor unei
variabile, a elementelor unui tablou, a mesajelor text, a valorilor introduse de utilizator în câmpurile
unui formular HTML, pentru a transmite valorile încadrate între ghilimele la browser, etc. Exemple cu
aceste comenzi se vor realiza pe tot parcursul incursiuni în limbajul PHP.
În cele ce urmează se prezintă un exemplu de pagină PHP care foloseşte comenzile print şi echo pentru
afişarea în browser a unui pagini web statice ce va conţine două mesaje text.

Exemplu:
<html>
<head>
<title>Exemplu de afisare a valorilor unei
variabile</title> </head>
<body>
<?php
39
print "Comanda de afisare a datelor pe ecran";// se afiseaza pe ecran
//ghilimele textul scris între
?>
<br>
<?
echo "Limbajul PHP"; // afiseaza pe ecran textul dintre
ghilimele ?>
</body> </html>

În momentul când fişierul de mai sus este solicitat de un utilizator, server-ul Web va recunoaşte fişierul
ca fiind o pagină PHP datorită faptului că are extensia .php. Înainte de a trimite fişierul către browser-ul
utilizatorului server-ul Web va prelucra scriptul din fişier. În cazul exemplului anterior, scriptul din
fişier este codul sursă scris între <?...?>. După prelucrarea scripturilor va rezulta o pagină HTML în
care codul sursă PHP se va înlocui cu rezultatul acestuia. În exemplul anterior ieşirea PHP care ajunge
la browser, poate fi vizualizată cu comanda Source a meniului View, iar rezultatul va fi:

<html><head><title>Exemplu de afisare a valorilor unei


variabile</title> </head><body>
Comanda de afisare a datelor pe ecran <br>
Limbajul PHP</body></html>

4.4.3. Variabilele PHP


Variabilele PHP nu trebuie declarate ci sunt create automat în momentul primei utilizări. În acest
moment li se defineşte tipul de date. Această facilitate permite programatorului posibilitatea dezvoltării
rapide a unor aplicaţii complexe. Odată ce o variabilă a fost creată ea poate fi folosită oriunde în
program, cu excepţia funcţiilor, unde trebuie inclusă explicit în zona locală de alocare prin funcţia
global. Sintaxa unei variabile PHP este:
$nume_variabilă=valoare;
unde valoare poate fi de orice tip.
În continuare se prezintă o pagină PHP care conţine exemple de utilizare a variabilelor în cadrul unui
script PHP:

<html>
<head><title>Exemplu de variabile numerice</title></head>
<body>
<? Php
//Se seteaza valoare lui a
$a=1;
$aduna=$a+1;
print ”Rezultatul adunarii este: $aduna”;// se afişează pe ecran textul
//Rezultatul adunarii este:urmat
// de valoare variabilei $aduna adică 2
</body> </html>

Fişierul de mai sus a fost salvat în directorul “htdocs” a server-ului Apache cu numele “Varibile1.php”.
În cadrul acestui fişier variabila $a a fost iniţializată cu 1, deci aceasta este de tip numeric. Variabila
$aduna a primit valoarea variabilei $a la care s-a adunat valoare 1. Instrucţiunea print (la fel se putea
folosi instrucţiunea echo) s-a folosit în cadrul fişierului de mai sus pentru a afişa în browser textul
“Rezultatul adunării este:” urmat de valoarea variabilei $aduna adică 2.

40
Comentariile se realizează cu semnul „//” în cazul în care se comentează pe un singur rând. În cazul în
care se doreşte inserarea în codul sursă a unui cometariu pe mai multe rânduri se foloseşte semnul
„/*...*/”. Aceste comentarii nu sunt interpretate de browser şi se folosesc la explicarea codului sursă.

4.4.4. Variabile şi constante

Tipurile de variabile acceptate de PHP sunt:.


1. Integer [WellingThomson2005] [Chip2/2003] care se utilizează pentru numere întregi, de exemplu:
5,-5,90.
2. String [WellingThomson2005] [Chip2/2003] care se utilizează pentru şiruri de caractere. Un string
este o succesiune de caractere (şir) încadrate între ghilimele.
3. Float (Double) [WellingThomson2005] [Chip2/2003] care se utilizează pentru numere reale
4. Boolean [WellingThomson2005] [Chip2/2003] utilizat pentru a defini o valoare de adevăr TRUE
sau FALSE. Acest tip se foloseşte, în general, pentru a face diferite verificări în procesul de
programare. De exemplu, se verifică dacă un anumit produs există în tabela “Produse”. În cazul în
care acesta există se va returna TRUE şi datele despre acest produs vor putea fi afişate pe ecran, în
caz contrar se va returna FALSE şi date despre acesta nu se vor putea afişa în browser.
5.Array [WellingThomson2005] [Chip2/2003] se utilizează pentru extragerea mai multor date de
acelaşi tip. Un array poate fi considerat ca fiind un tablou în care fiecărei valori îi corespunde un
număr, adică un indice (o poziţie).
Variabilele superglobale sunt: [WellingThomson2005]
o
$_SERVER este un tablou ce conţine variabile de mediu ale serverului;
o
$_GET este un tablou ce conţine variabile transferate scriptului prin metoda GET;
o
$_POST este un tablou ce conţine variabile transferate scriptului prin metoda POST;
o
$_COOKIE este un tablou ce conţine blocuri cookie;
o
$_FILES este un tablou ce conţine variabile legate de încărcarea fişierelor;
o
$_REQUEST este un tablou ce conţine toate variabilele introduse de utilizator, inclusiv
o
conţinutul intrărilor din $_GET, $_POST şi $_COOKIE;
$_SESSION este un tablou ce conţine variabile de sesiune.

Variabilele globale cele mai folosite sunt:[site19]


 $_SERVER['REMOTE_ADDR'] are misiunea de a returna adresa IP a vizitatorului;
 $_SERVER['HTTP_USER_AGENT'] are misiunea de a returna informaţii despre browser-ul
folosit;
 $_SERVER['HTTP_REFERER'] are misiunea de a returna adresa paginii vizitată anterior;
 $_SERVER['SERVER_NAME'] are misiunea de a returna numele serverului;
 $_SERVER['SCRIPT_NAME'] are rolul de a returna numele fişierului php accesat.
O constantă are un tip şi o valoare. Atât tipul, cât şi valoare, sunt determinate de caracterele care intră
în componenţa constantei. Valoare unei constante nu poate fi schimbată în timpul execuţiei programului
în care a fost utilizată. [Negrescu2000]
Constantele se caracterizează prin: [site16]

li se atribuie o valoare care nu poate fi modificată sau ştersă de-a lungul execuţiei programului;

constantele nu prezintă în sintaxa lor simbolul $ ;

numele unei constante este o succesiune de litere şi eventual cifre, primul caracter este în mod

obligatoriu literă. Aceasta este case sensitiv.
constantele au un caracter global.

definirea constantei se realizează cu funcţia define().

41
4. 4.5. OPERATORI

Interpretorul PHP permite folosirea a nouă tipuri diferite de operatori. Aceştia operează asupra unor
expresii (una, doua sau trei) şi furnizează ca rezultat o altă expresie care este rezultatul operaţiei
corespunzătoare.[site14]
Operatorii aritmetici acţionează asupra a doi sau mai mulţi operanzi. Aceştia sunt: [site14]
[WellingThomson2005] [Chip2/2003]

 adunare ('+'); 
  
scădere ('-');
  
înmulţire ('*');
  
împărţire ('/');
 
restul împărţirii ('%').
Operatorii relaţionali se folosesc în procesul de compararea a două valori, variabile, constante, etc.
Expresiile în care aceştia apar au ca rezultat valori logice (true sau false). Aceşti operatori sunt:
1. Operatorul de atribuire definit de semnul “=” are rolul de a atribui unei variabile,
constante o valoare. De exemplu:

<?php $a=50;// lui $a i-am atribuit valoarea 50


$b=4; // lui $b i-am atribuit valoarea 4
$aduna=$a+$b;// lui $aduna i-am atribuit suma celor două variabile adică
54 $a=$b; // lui $a i-am atribuit valoarea lui b adică 4 ?>

2. Operatorul de egalitate se defineşte prin semnul “==” şi se foloseşte pentru a compara două
valori, expresii, etc.
3. Operatorul diferit este definit prin semnul “!=” şi se foloseşte în acelaşi scop ca şi operatorul
de egalitate.
4. Operatorul mai mare este definit de semnul > .
5. Operatorul mai mare egal este definit de semnul >= .
6. Operatorul mai mic este definit de semnul < .
7. Operatorul mai mic egal este definit de semnul <=.
Operatorul condiţional se defineşte prin semnul '?'. Acest operator are sintaxa:
expresie1?expresie2:expresie3
Operatorul condiţional returnează valoarea expresiei expresie2 în cazul în care valoarea expresiei
expresie1 este true, în caz contrar va returna valoarea expresiei expresie3.
Operatorul de concatenare este un operator ce se aplică asupra şirurilor de caractere. Acest operator
este definit prin semnul “.” Operaţia de atribuire a concatenării este definită prin semnul “.=”
Operatorii logici se folosesc în cazul în care se lucrează cu valori de adevăr. Aceşti operatori
sunt:
1. Operatorul xor (SAU exclusiv) expresia în care apare operatorul 'xor' va avea valoarea true dacă
exact unul dintre operanzi are această valoare.
2. Operatorul de negare este: ! (NOT) returnează TRUE dacă valoarea iniţială de adevăr e FALSE
şi FALSE dacă valoarea iniţială este TRUE.
3. Operatorul sau logic este || (OR) returnează TRUE dacă oricare din valorile verificate e TRUE.
Returnează FALSE doar dacă amândouă valorile verificate sunt FALSE.
4. Operatorul şi logic este: && (AND) returnează FALSE dacă oricare dintre valori este FALSE
(sau dacă amândouă sunt FALSE) şi în caz contrar returnează TRUE

4.4.6. Structurile de control

În cadrul unei pagini web care foloseşte scripturi PHP fără să existe o delimitare clară, impusă de PHP
pentru zona de declaraţii şi zona de instrucţiuni aşa cum se întâmplă în alte limbaje de programare cum
42
ar fi, de exemplu, activitatea de declarare a variabilelor şi constantelor se reduce la iniţialializarea lor cu
o valoare. În php nu se va scrie explicit tipul de date a unei variabile sau constante deoarece acesta se
deduce în mod automat după ce acestora li s-a atribuit o valoare.
Prelucrarea datelor în scripturile PHP, ca şi în orice alt limbaj de programare, se face cu ajutorul
instrucţiunilor. Ordinea în care se execută instrucţiunile în cadrul scripturilor defineşte aşa numita
structură de control a acestora.
Structurile de control complexe prezente în PHP sunt:
 structura alternativă care se realizează cu ajutorul instrucţiunii IF; 
 structura repetitivă condiţionată anterior care se realizează cu ajutorul instrucţiunilor WHILE,
 FOR şi FOREACH; 
 structura repetitivă condiţionată posterior care se realizează cu ajutorul instrucţiunii DO-
WHILE; 
 structura selectivă care se realizează cu ajutorul instrucţiunii SWICH. 
 instrucţiuni folosite în cadrul ciclurilor care oferă o flexibilitatea mare în programarea în PHP
sunt: 
CONTINUE, BREAK şi RETURN.
Instrucţiunea expresie se obţine scriind punct şi virgulă după o expresie. Deci, formatul acestei
instrucţiuni este: [Negrescu2000]
expresie;
În cazul în care componenta instrucţiunii expresie este o expresie de atribuire această instrucţiune se
transformă în instrucţiune de atribuire [Negrescu2000],
Instrucţiunea break; se foloseşte când se doreşte să se întrerupă forţat execuţia unui ciclu şi trecerea la
următoarea instrucţiune existentă imediat după acesta. Această instrucţiune poate fi folosită în cadrul
instrucţiunilor WHILE, DO-WHILE, FOR, FOREACH şi SWITCH.
Instrucţiunea continue. se poate utiliza numai în corpul unui ciclu, având ca efect abandonarea iteraţiei
curente. Sintaxa ei este:[Negrescu2000] [WellingThomson2005]
continue;
Efectul acestei instrucţiuni este:[Negrescu2000;]
1. în corpul instrucţiunilor WHILE, DO-WHILE, se întrerupe iteraţia curentă şi se trece la
evaluarea condiţiei care stabileşte continuarea sau terminarea ciclului.
2. în corpul instrucţiunilor FOR, FOREACH, se întrerupe iteraţia curentă şi se trece la executarea
pasului de reiniţializare.
Instrucţiunea return;[Negrescu2000] [WellingThomson2005] este o instrucţiune de revenire dintr-o
funcţie cu următoarele două formate:
a. return;
b. return $expresie;
Primul format al acestei instrucţiuni se foloseşte în corpul unei funcţii care nu returnează nici o valoare,
dar la întâlnirea acestei instrucţiuni se iese forţat din ea.
Cel de al doilea format se foloseşte în cadrul unei funcţii care întoarce o valoare la ieşirea din aceasta
$expresie deţinând valoarea întoarsă de funcţie.
Instrucţiunea exit; [WellingThomson2005] are rolul de a opri execuţia întregului script PHP. Această
instrucţiune se foloseşte în depistarea şi corectarea erorilor din cadrul unui script PHP. Instrucţiunea
declare [WellingThomson2005] se foloseşte la stabilirea directivelor de executare/rulare a unui cod
sursă. Până în prezent a fost implementată o singură directivă de executare, numită ticks care se
stabileşte astfel: ticks=n (se permite rularea în cadrul unui cod sursă a unei funcţii după fiecare n linii de
cod) Sintaxa acestei instrucţiuni este:
declare(directivă){ set instrucţiuni;}
Instrucţiunile include(); şi require(); sunt echivalente şi au rolul de a insera conţinutul unui fişier în
cadrul unui scipt PHP în locul acestora. Diferenţa dintre cele două instrucţiuni este că în caz de eroare
require(); va produse o eroare fatală, în timp ce construcţia include(); va afişa un mesaj de eroare.

43
4.4.7. Tablouri
În majoritatea limbajelor prin tablou se înţelege o mulţime de date de acelaşi tip cu acceaşi structură.
Tablourile sunt alcătuite din elemente şi indici. În PHP şi nu numai, tipurile cele mai utilizate de
tablouri sunt: tablouri unidimensionale şi bidimensionale. În cadrul unui tablou activităţile care se pot
realiza sunt:
1.Crearea tablourilor în PHP se realizează prin atribuirea explicită a unei valori fiecărui elemet al
acestuia, cu funcţiile array();. Sintaxa funcţiei array(); este:[site21]
array( [index=>] value, ... );
unde
index poate fi de tipul integer sau
string; valoare poate fi de orice tip.
Funcţia array(); permite crearea în două moduri a tablourilor şi anume:
a)Primul mod de creare a unui tablou cu funcţia array constă în omiterea parametrului opţional numit
indice, existent în sintaxa acesteia, rezultatul fiind următorul:

<?php $oamenii_la_masa = array(‘Ionel’,’Maria’,’Viorel’) ;?>

Funcţia array(); este de fapt o construcţie a limbajului PHP la fel ca echo. În exemplul de mai sus s-a
creat un tablou numit $oamenii_la_masa care conţine 3 elemente de tipul string.

b) Al doilea mod de creare a unui tablou cu funcţia array(); constă în folosirea parametrului opţional
numit indice, existent în sintaxa acesteia, rezultatul fiind următorul:

<?php $oamenii_la_masa = array (33=>‘Ionel’, 2=>’Maria’, 7=>’Viorel’ ) ;?>

Deci, indici tabloului nu vor fi 0,1 şi 2 ci cei precizaţi de cel care crează tabloul. În exemplul anterior
indicii tabloului vor fi 33, 2, 7.
Tablourile în PHP mai pot fi create fără utilizarea funcţiei array(); prin atribuirea explicită de valori
fiecărui element al acestuia, ca în următoarul exemplu:

< ?php $oamenii_la_masa[0]= "Ionel" //elementul este Ionel iar indicele este
0. $oamenii_la_masa[1]= "Maria" //elementul este maria iar indicele este 1.
$oamenii_la_masa[2]= "Viorel" //elementul este Viorel iar indicele este 2. ?>

Acţiunea de creare unui tablou în PHP se mai poate efectua cu ajutorul funcţiei range();. Această
funcţie are rolul de a crea un tablou sortat crescător astfel:

<?php $tablou_caractere = range(‘a’,’z’);


//se crează un tablou care are ca elemente literele
alfabetului $tablou_numeric = range(‘10’,’100’);
//un tablou creat din elemente numerice cu valori de la 10
la100. $tablou_numeric2 = range(10,100,10);
// un tablou creat din elemente numerice cu valori de la 10 la100 din 10 în 10. ?>

2.Modificarea datelor din tablouri se realizează cu următoarea sintaxă:

$nume_tablou[indice]=valoare ;//indice poate fi atât de tipul întreg


// cât şi de tipul string
Sau $nume_tablou[]=valoare;
În cazul tabloului creat în exemplele anterioare dacă se doreşte să se modifice valoarea existentă pe
poziţia a doua, adică în loc de "Maria" la masă să fie "Marinela" se va face astfel:
44
<? $oamenii_la_masa = array(‘Ionel’,’Maria’,’Viorel’);
$oamenii_la_masa[1]= "Mirinela";
print_r($oamenii_la_masa);
// afişează datele din tabelă împreună cu indicii acestora ?>

3.Ştergerea[site21] unui tablou se face cu ajutorul funcţiei unset();. Dacă se doreşte să se şteargă toate
elementele unui tablou se procedează astfel:

<? $oamenii_la_masa = array(33=>‘Ionel’,’Maria’,’Viorel’)


; unset($oamenii_la_masa);// ştergerea unui tablou
foreach($oamenii_la_masa as $element)
echo $element; // nu se va afisa nimic dearece tablou e şters ?>

Ştergerea unui element din tablou se realizează astfel:

<?php
$oamenii_la_masa=array(‘Ionel’,’Maria’,’Viorel’);
unset($oamenii_la_masa[2]); // se şterge elementul
Viorel foreach($oamenii_la_masa as $element)
echo $element; // se vor afişa doar primele 2 elemente ale tabloului ?>

4. Copierea datelor din tabloul $oamenii_la_masa în tabloul $oamenii_la_masa1 se face utilizând


operatorul de atribuire astfel:

<?php $oamenii_la_masa1 =$oamenii_la_masa;?>

5.Afişarea datelor dintr-un tablou se face folosind construcţia echo, numele tabloului şi indicii pe care s-
au memorat elementele tabloului ca în exemplul următor :

< ?php $oamenii_la_masa = array(‘Ionel’,’Maria’,’Viorel’)


echo "$oamenii_la_masa[0] $oamenii_la_masa[1] $oamenii_la_masa[2]"; ?>

Afişarea datelor se mai poate realiza folosind ciclul FOR astfel:

<?php
$oamenii_la_masa=array(‘Ionel’,’Maria’,’Viorel’;
for($i=0;$i<=count($oamenii_la_masa);$i++)
echo "$oamenii_la_masa[$i]";?>

Afişarea datelor se mai poate realiza cu ciclul FOREACH, destinat în principal prelucărilor datelor unui
tablou, a cărei sintaxă şi mod de execuţie a fost prezentată anterior. Acest ciclu va avea nevoie de o
variabilă în care se vor depune pe rând fiecare element al unui tablou şi pe care o va afişa, ca în
exemplul de mai jos:

<?php
$oamenii_la_masa = array(33=>‘Ionel’,’Maria’,’Viorel’)
foreach($oamenii_la_masa as $element)
echo $element; ?>

45
4.4.7.1. Tablouri multidimensionale

În PHP un tablou multidimensional este o reuniune de tablouri unidimensiomale. Deci, fiecare element
al lui este un tablou. Crearea tablourilor multidimensionale în PHP se realizează prin declararea mai
multor tablouri unidimensionale ce reprezintă linile tabloului iar elementele acestora reprezintă
coloanele. Sintaxa funcţiei array(); pentru crearea tablourilor multidimensionale este:[site21]
array( [index1 =>] array ([index=>] value, ... ),
[index2 =>] array ([index=>] value, ... ),
...
[indexn =>] array ([index=>] value, ... )
);
unde
index1,...,indexn poate fi un sting sau un întreg formând liniile tabloului.
index poate fi de tipul integer sau string. Acest index poate fi identic (nu e obligatoriu) pentru fiecare
linie fiind interpretat ca numele coloanelor tabloului declarat;
valoare poate fi de orice tip.

4.4.7.2. Afişarea şi parcurgerea elementelor unui tablou multidimensional


Afişarea elementelor unui tablou multidimensional atât în PHP cât şi în alte limbaje de programare
necesită folosirea a două ciluri FOR cu ajutorul cărora să se parcurgă atât linile cât şi coloanele acestuia.
Această acţiune se poate realiza ca în exemplul următor :

<?php $oamenii_la_masa = array(


array('Viorel','elev',10), array('Maria','profesor',39),
array('Ionel','pensionar',76) );
for($i=0;$i<count($oamenii_la_masa);$i++)
{ for($j=0;$j<count($oamenii_la_masa[$i]);$j++) {
echo $oamenii_la_masa[$i][$j];}
echo '<br/>';}?>

4.4.7.3. Operatori folosiţi în prelucarea datelor din tablouri

PHP prezintă operatori care acţionează atât asupra variabilelor care, au fost prezentate în paginile
anterioare cât şi asupra tablourilor. Operatorii care acţionează asupra tablourilor sunt:
[WellingThomson2005]

operatorul reuniune care este reprezentat prin “+”. Efectul acestui operator este că se adaugă la
sfârşitul primului tablou elementele tabloului de pe a doua poziţie eliminându-se indicii care
sunt dubluri. 

operatorul egalitate reprezentat prin “ = =“ returnează TRUE dacă tablourile care se compară
au elemente identice altfel returnează FALSE. 

operatorul identitate reprezentat prin “ = =“ returnează TRUE dacă tablourile care se compară
au aceleaşi elemente şi în aceeaşi ordine, altfel returnează FALSE. 

operatorul diferit reprezentat “ ! =“ sau “<>“ returnează TRUE dacă tablourile conţin elemente
diferite, altfel returnează FALSE. 

operatorul “ ! = =“ returnează TRUE dacă tablourile care sunt comparate nu conţin aceleaşi
elemente pe aceleaşi poziţii, altfel returnează FALSE. 

4.4.8. Funcţii

O funcţie este un ansamblu alcătuit din tipuri de date, variabile, constante şi instrucţiuni scrise în

46
vederea unei anumite prelucrări(calcule, citiri, scrieri) şi care pot fi rulate doar dacă sunt apelate dintr-
un script PHP. Sintaxa unei funcţii este:
nume_funcţie( listă parametrilor formali)
{
corp funcţie;
}
unde:
listă de parametrilor formali este de forma: $nume_parametru1,
$nume_parametru2,...,$nume_parametru n
Observaţie. O funcţie poate să prezinte o listă vidă de parametri
formali. corp funcţie este alcătuit din două părţi :

partea de declaraţii în care se precizează variabilele locale; 

partea de instrucţiuni care conţine instrucţiunile pe care le execută funcţia respectivă. 
O funcţie poate fi definită oriunde în cadrul unui script. În interiorul unei funcţii pot să apară orice
secvenţă validă de cod care include definirea unor alte funcţii. O funcţie poate fi apelată înainte de
definirea acesteia într-un script. Argumentele unei funcţii trebuie separate prin virgulă şi, implicit,
acestea sunt transmise prin valoare. Pentru ca funcţia să returneze un rezultat se foloseşte construcţia
return; care primeşte ca parametru o expresie care reprezintă valoarea întoarsă de funcţie. În momentul
în care este întâlnită construcţia return;, execuţia funcţiei se încheie. [ScarlatSoroiu]

4.4.8.1. Funcţii cu număr variabil de parametri

În PHP se pot defini funcţii care au un număr nedeterminat de parametri. Aceste funcţii se definesc la
fel ca cele prezentate anterior, dar pentru a putea accesa parametri se vor folosi următoarele funcţii
predefinite: [ScarlatSoroiu]
• func_num_args(); - returnează numărul parametrilor funcţiei care a apelat-o. Dacă această
funcţie este apelată din exteriorul unei funcţii definite de utilizator se va genera un mesaj de avertizare.
• func_get_arg(arg_num);- returnează valoarea parametrului care se află pe poziţia arg_num în
lista de parametri; primul parametru are numărul de ordine 0; dacă este apelată din exteriorul unei
funcţii definite de utilizator se va genera un mesaj de avertizare;
• func_get_args();- returnează un tablou unidimensional care conţine valorile parametrilor pe
care funcţia apelantă i-a primit; dacă această funcţie este apelată din exteriorul unei funcţii definite de
utilizator se va genera un mesaj de avertizare. În continuare se vor prezenta exemple de utilizare a
acestor funcţii.

4.4.8.2. Funcţii predefinite


Funcţiile predefinite se împart în următoarele categorii:
1. Funcţiile matematice sunt:[site18]

max(x,y,...) returnează valoarea maximă a unui set de valori; 

min(x,y,...) returnează valoarea minimă a unui set de valori; 

pow(x,n) returnează numărul x, ridicat la puterea specificata n; 

sqrt(x) returnează rădăcina pătrată a lui x. 

2. Funcţiile pe şiruri de caractere sunt:


1. int strlen(string sir)[site19] are rolul de a returna lungimea şirului sir primit ca parametru.
2. string trim(string sir)[site19] are rolul de a elimina spaţiile albe dintr-un şir primit ca
parametru.
3. string ltrim(string sir)[site19] are rolul de a elimina spaţiile albe din stânga şirului primit ca
parametru.
4. string rtrim(string sir)[site19] are rolul de a elimina spaţiile albe din dreapta şirului primit ca
parametru.
5. int count(string sir)[site19] are rolul de a număra elementele unui şir primit ca parametru şi
returnează numărul lor.
47
6. int strcmp (string sir1, string sir2) [McCatry2002] are rolul de a compara caracter cu caracte
cele două şiruri de caractere primite ca parametru. Valoarea returnată este:
a. <0, dacă şir1<şir2;
b. =0, dacă şir1=şir2;
c. >0, dacă şir1>şir2.
7. string substr (string sir, int n [, int m])) [McCatry2002] are rolul de a returna un subşir, din
şirul primit ca parametru începând cu poziţia n şi având lungimea m, în caz că m este specificat. Din
cauză că parametrul m este specificat în sintaxa funcţiei între paranteze pătrate înseamnă că este
opţional, deci poate lipsi şi atunci se afişează toate caracterele şirului sir primit ce parametru începând
cu poziţia n.
8. string htmlspecialchars (string sir, [, int citare]) [McCatry2002] converteşte toate caracterele
speciale primite ca parametru în entităţi HTML

3. Funcţiile calendaristice sunt: [McCatry2002][ [Chip2/2003]


1. strftime(a) returnează data curentă, formatată conform conţinutului parametrului a;
2. date() returnează ora, luna, anul precum şi alte elemente ale datei curente în funcţie de context ;
3. now() returnează data şi ora curentă.
4. hour(t) returnează ora din cadrul parametrului. Valorile parametrului pot fi în intervalul [0-23].

4.4.9. FIŞIERE

Prelucrarea datelor dintr-un fişier presupune realizarea următoarelor acţiuni:


1. deschiderea/crearea fişierului;
2. scrierea sau citirea sau adăugarea sau citire şi scriere, etc de date în fişier;
3. închiderea fişierului.
În cele ce urmează se prezită câteva funcţiiPHP de prelucrarea a fişierelor aflate pe parte de server.
Funcţia fopen(); are rolul de a deschide fişierul primit ca parametru. Sintaxa acestei funcţii este:
[McCatry2002]
fopen(nume_fişier, mod_deschidere);
unde:
nume_fişier conţine fie numele, fie calea fizică, fie adresa fişierului care se doreşte să se deschidă.
mod_deschidere este înlocuit cu una din valorile de mai jos care reprezintă modul în care va fi deschis
fişierul specificat în nume_fişier:
  r are rolul de a deschide fişierul doar pentru citire; 
 r+ are rolul de a deschide fişierul în citire şi scriere; 
 w are rolul de a deschide fişierul pentru scriere; 

 w+ are rolul de a deschide fişierul pentru citire şi scriere, iar în cazul în care acesta nu există îl
crează; 
 a are rolul de a deschide fişierul pentru a adăuga la sfârşitul acestuia informaţii; a+ are rolul de a
deschide fişierul pentru a adăuga la sfârşitul acestuia informaţii. În cazul în care acestea nu
există nu îl crează;
 t are rolul de a deschide fişierul în mod text ; 
 b are rolul de a deschide fişierul în mod binar. 
Acţiunea de deschidere a unui fişier în scriere, adică introducerea de date în acesta se realizează cu
funcţiile: fwrite(); care defineşte scrierea în fişier sau fputs(); care defineşte scrierea unui şir în fişier.
Sintaxa funcţiei fwrite(); este: [WellingThomson2005]
int fwrite(resource handle, string sir[,int lungime]);
unde:
resource handle conţine valoarea returnată de funcţia fopen(); sir este şirul ce se va scrie în fişier;
lungime este un parametru opţional care indică numărul maxim de octeţi care pot fi scrişi în fişier. Orice
fişier deschis în vederea prelucrării datelor acestuia se închide cu funcţia fclose(); după efectuarea

48
tuturor acţiunilor dorite de programator. Sintaxa funcţiei este: fclose(resource handler);

Funcţia fclose(); va returna TRUE în caz de succes şi FALSE în caz de insucces. În general această
funcţie se execută cu succes. Deci, nu se impune cu stricteţe tratarea erorilor care pot apărea la
închiderea fişierelor cu această funcţie.

4.4.9.1. Citirea dintr-un fişier


Odată fişierul creat acesta poate fi deschis în citire. În literatura de specialitate [WellingThomson2005]
[McCatry2002] [site19] există mai multe funcţii care permit citirea datelor dintr-un fişier creat, una
dintre cele mai des folosite funcţii fiind fread();. Sintaxa funcţiei fread(); este:
string fread(resource handler, int lungime);
unde:

resource handle conţine valoarea returnată de funcţia fopen();

lungime numărul maxim de octeţi citiţi sau dacă fişierul este mai mic decât valoarea precizată, citirea se
va face până la sfârşitul acestuia. Existenţa parametrului lungime în sintaxa acestei funcţii implică o
citire arbitrară a conţinutului unui fişier.

4.4.9.2. Afişarea conţinutului unui fişier


PHP prezintă funcţii care au rolul de a citi şi afişa pe ecran conţinutul unui fişier precizat. Aceste funcţii
sunt:

1. readfile(); care deschide fişierul şi afişează în browser conţinutul acestuia după care îl închide.
Funcţia returnează un întreg care reprezintă numărul de octeţi citiţi din fişierul precizat ca parametru.
Sintaxa acestei funcţii este:

int readfile(string nume_fis, [int calea,[ resource context]]);


unde
nume_fis este numele fişierului care se deschide;
calea este un parametru opţional reprezentând calea spre fişierul care se doreşte deschis şi citit;
resource context se foloseşte în cazul în care se deschide un fişier aflat la distanţă folosind protocolale
HTTP sau FTP.
2. fpassthru(); este o funcţie care necesită mai întâi deschiderea explicită a fişierului cu funcţia fopen(),
deoarece această funcţie primeşte ca parametru pointerul la fişier returnat de funcţie funcţia fopen();.
Rezultatul execuţiei funcţiei fpassthru(); este afişarea în browser a conţinutului fişierului de la poziţia
pointerului până la sfârşitul acestuia, acţiune urmată de închiderea automată a fişierului fără a mai fi
nevoie să se invoce explicit funcţia fclose();. Sintaxa funcţiei este:

fpassthru(resource handler);
unde
resource handle conţine valoarea returnată de funcţia fopen();
Această funcţie returnează TRUE dacă operaţia de citire a fost efectuată cu succes şi FALSE în caz
contrar.

4.4.9.3. Ştergere fişier

Funcţia unlink(); are rolul de a şterge fişierul primit ca parametru. Această funcţie returnează TRUE
dacă ştergerea fişierului s-a putut realiza, în caz contrar returnează FALSE. Sintaxa funcţiei este:

49
unlink(”nume_fis”);
unde
nume_fis poate fi numele fişierului sau întreaga cale până la fişierul dorit.
Deschiderea, prelucrarea datelor, închiderea, ştergerea unui fişier nu poate fi realizată dacă acesta nu
există. În PHP funcţia file_exists(); verifică existenţa unui fişier. Această funcţie returnează TRUE dacă
numele fişierului primit ca parametru există şi FALSE în caz contrar. Sintaxa acestei funcţii este:
file_exists(”nume_fis”);
unde
nume_fis poate fi numele fişierului sau întreaga cale până la fişierul dorit.

4.4.10. Stocarea datelor în sistemul utilizatorului cu PHP

Utilizarea unui web site de către un utilizator presupune realizarea unor acţiuni succesive care trebuie
memorate pentru a oferi acestuia informaţia de care are nevoie, dar protocolul HTTP nu oferă o astfel
de facilitate fapt pentru care a apărut noţiunea de cookie respectiv sesiune cu ajutorul cărora se pot
păstra aceste informaţii pe calculatorul utilizatorului.

4.4.10.1. Sesiunile

Ultimele versiuni de PHP, adică versiunea a patra şi următoarele, oferă suport inclus pentru „sesiuni”.
Scopul lor de bază este de a reţine informaţiile care trebuie transmise de la o pagină la alta într-o
aplicaţie PHP.

Într-o sesiune datele pot fi salvate într-o variabilă de tip array, numită $_SESSION. Înainte de a folosi
această variabilă pentru a stoca informaţiile trebuie să se apeleze funcţia predefinită de deschidere,
creare sau reiniţializare a sesiunii. Sintaxa acestei funcţii este: [WellingThomson2005] [site27]
[McCatry2002]
session_start();
Acestă funcţie crează şi porneşte o sesiune în cazul în care nu există niciuna dar în cazul în care aceasta
există o reiniţializează. Informaţiile din sesiune sunt păstrate pe server în directorul pentru fişiere
temporare, adică „Temp” dar acestea pot fi memorate şi într-o bază de date.
Crearea variabilelor de sesiune se realizează folosind fie $HTTP_SESSION_VARS (până la versiunea 4
a limbajului PHP), fie $_SESSION (de la versiunea 4 a limbajului PHP). În continuare, se va folosi cea
de-a doua variantă în lucrul cu sesiunile, adică $_SESSION.
În momentul în care utilizatorul părăseşte site-ul, sesiunea lui poate fi ştearsă prin comanda:
[WellingThomson2005] [site27] [McCatry2002]
session_destroy();
Înainte de a distruge sesiunea, adică de a apela comanda de mai sus, va trebui să se şteargă toate
variabilele de sesiune existente prin apelul funcţiei unset();. Sintaxa acestei comenzi este:
[WellingThomson2005] [site27] [McCatry2002]
void unset(mixed variabila);
Efectul funcţiei este ştergerea variabilei primite ca parametru. Ştergerea variabilei de sesiune care s-a
creat mai sus se va face astfel: [Welling Thomson 2005] [site27] [McCatry2002]
unset($_SESSION[‘var_sesiune’]);

4.4.10.2. Blocuri COOKIE

Preferinţele utilizatorului sunt nişte parametri care permit unei pagini Web să fie ajustată conform unei
dorinţe specifice. Se subliniază că noţiunea de cookie este utilizată generic ca bloc de date. În prezenta
abordare se va utiliza această noţiune în sensul uzual din WWW [Microsoft1999]: „...bloc de date pe
care un server Web îl stochează într-un sistem client. Când utilizatorul revine la site-ul Web respectiv,
50
browser-ul trimite serverului o copie a prăjiturii. Prăjiturile sunt utilizate pentru a identifica utilizatorii,
pentru a instrui server-ul să transmită o versiune personalizată a paginii Web cerute, pentru a prezenta
informaţii referitoare la contul utilizatorului şi pentru operaţii cu caracter administrativ”.
Crearea unui astfel de bloc cookie se face astfel: [WellingThomson2005]
Set-Cookie: NUME=VALOARE; [expires=DATA;]
[path=CALE;] [domain = NUME-DOMENIU;] [secure]
unde:
NUME este numele blocului cookie care se crează;
VALOARE este valoarea care se memorează în acesta;
expires permite stabilirea datei calendaristice la care expiră blocul
cookie; path conţine calea unde se memorează blocul cookie pe clculator;
domeniu este domeniul pentru care este important blocul cookie;
secure nu permite transmiterea blocului cookie printr-o simplă conexiune HTTP este nevoie de o
conexiune cu un grad mai înalt de securizare.

Definirea manuală a unui bloc cookie în PHP se face cu funcţia setcookie();. Această funcţie are
sintaxa: [Welling Thomson2005] [site27] [McCatry2002]
setcookie(string nume [, string valoare [, int expires [, int path [, string domain [,int
secure]]]]]);
unde:
nume este numele blocului cookie care se crează;
valoare este valoarea care se memorează în acesta;
expires permite stabilirea datei calendaristice la care expiră blocul
cookie; path calea unde se memorează blocul cookie;
domeniu domeniul pentru care este important blocul cookie;
secure nu permite trimiterea blocului cookie printr-o simplă conexiune HTTP este nevoie de o
conexiune cu un grad mai înalt de securizare.
Accesarea valorile memorate într-un bloc cookie se face astfel:

 fie prin $_COOKIE[’exemplu_cookie’]; 

fie prin $HTTP_ COOKIE_VARS[’exemplu_cookie’] 
Ştergerea unui bloc cookie se face apelând funcţia setcookie(); cu numele blocului care se doreşte a fi
şters şi se atribuie parametrului expires o dată din trecut, ca în următorul exemplu:

<?setcookie(’exemplu_cookie’, time()-1800);?>

Dezavantajul folosirii doar a blocurilor cookie în programarea paginilor web provine din faptul că pe de
o parte unele browsere nu le acceptă, pe de altă parte există utilizatori care le dezactivează din browser-
ele lor. PHP tocmai din acest considerent foloseşte metoda duală bloc cookie/URL.

4.4.11. PHP şi formulare HTML

Web-ul a dobândit un plus de interactivitate prin utilizarea programelor create, folosind interfaţe CGI,
Perl, ASP şi PHP. Aceaste programe au permis scrierea de coduri sursă cu rolul de a trimite de la
browser spre server-ul WEB atât a informaţiilor standard conţinute în antetul HTTP al cererii cât şi
informaţii în alte două moduri şi anume:


printr-un formular <FORM> ; 
 
ca un şir de cereri adăugate la sfârşitul URL-ului.

51
Figura 4.4.11. Model Client-Server care foloseşte PHP adaptare după[LalaniChandak1997]

Formularele HTML, afişate într-un browser, numite şi intrări HTML, au rolul important în preluarea
datelor de la utilizatorul unui web site. Aceste datele vor fi preluate de browser şi transmise la server
printr-un program (scris în PHP) care procesează datele din formular. În funcţie de scopul programului
rulat de server acesta poate genera un răspuns de tip HTML, pe care serverul îl trimite către browser cu
scopul de al afişa utilizatorului. Mecanismul de funcţionare a prelucrării datelor din cadrul unui
formular este prezentat în figura de mai jos:
4.4.11.1. Crearea unui formular
Un formular se crează cu tag-urile <FORM>...</ FORM> între care se folosesc obiecte create în marea
lor majoritate cu tag-ul de tip <INPUT> cu diferite valori pentru atributul TYPE al acestuia. În cazul în
care atributul TYPE al tag-ului <INPUT> are valoare “SUBMIT” se va crea un buton. Rolul acestui
buton este acela de a transmite server-ului informaţiile pe care utilizatorul le introduce, în câmpurile
formularului. Server-ul prelucrează şi transmite datele primite din formular: fie unei alte pagini web
statice care le afişează în browser, fie unei pagini web dinamice care le memorează într-o tabelă a unei
baze de date sau le trimite prin e-mail destinatarului.
Folosind PHP-ul, se întâlnesc trei metode de bază pentru colectarea informaţiei din formulare HTML, şi
anume :

un fişier .html static conţine un formular care trimite valorile sale către un fişier php. 

un fişier .php poate să creeze un formular care să trimită informaţia către un alt fişier .php. 

un fişier .php poate să creeze un formular care să trimită informaţia chiar către fişierul php care
conţine formularul. 
Datele dintr-un formular existent într-o pagină Web sunt transferate către server utilizând numele
fişierului php ca valoare pentru atributul ACTION şi precizând una din metodele ”GET” sau ”POST”
ca valoare pentru atributul METHOD a tag-ului <FORM>. Elemetele formularului au asociate câte un
nume căruia i se atribuie de fapt valoarea introdusă de utilizator în acestea, care se vor transmite
serveru-lui spre prelucare. Variabilele superglobale ”$_POST” şi ”$_GET” sunt nişte array-uri care
conţin toate datele transmise din formular cu una din cele două metode.

4.4.11.2. Accesul la bazele de date relaţionale din pagini PHP


PHP include o bibliotecă de funcţii care furnizează o interfaţă cu sistemul MySQL. Folosind aceste
funcţii, un programator PHP poate obţine accesul la datele rezidente într-o bază de date MySQL şi le
poate modifica.
Majoritatea interacţiunilor cu o bază de date se desfăşoară după un model secvenţial simplu şi anume
[PHP2-site]:
1. Se deschide o conexiune cu server-ul MySQL. Pentru a se putea realiza conectarea la un server
MySQL, trebuie să se invoce funcţia mysql_connect( ), a cărei sintaxă este următoarea[PHP2-site]:
mysql_connect (”nume_gazdă”, ”nume_utilizator”, ”parolă”);
2. Conectarea cu succes la baza de date permite realizarea de interogări SQL, urmate de obţinerea
52
accesului la rezultatele interogărilor şi apoi se execută operaţii nonSQL:
mysql_query($interogare);.
Funcţia mysql_query(); execută interogarea primită ca parametru şi returnează TRUE dacă interogarea
a fost efectuată cu succes şi FALSE în caz contrar. Această funcţie se atribuie unei variabile în care se
depune valoarea returnată de aceasta numită identificator de resurse.
Funcţia mysql_num_rows(); se foloseşte în cazul în care se doreşte să se determine numărul de rânduri
returnate în urma interogării unei tabele.
Funcţia mysql_fetch_array(); care permite să se acceseze valorile din tabelul returnat de interogare în
mai multe moduri şi anume:

1. folosind un array numeric;


2. folosind un array asociativ;

3. folosind un array mixt.

Acţiunea de închidere a conexiunii cu serverul MySQL se realizează invocând funcţia: mysql_close( );.
Adăugarea de noi înregistrări într-o tabelă a unei baze de date se face cu comanda INSERT. Cel mai
frecvent mod de introducere a datelor într-un tabel a unei baze de date este preluarea lor dintr-un
formular adecvat structurii acestuia. Sintaxa pentru introducere a datelor într-un tabel a unei baze de
date este:[site30]

INSERT INTO nume_tabel (coloana_1, coloana_2,..., coloana_n) values


('valoare_1','valoare_2',...,'valoare_n');
Modificarea datelor în cadrul unei tabele a unei baze de date presupune realizarea următorilor paşi :

1. conectarea la baza de date şi efectuarea unui SELECT asupra tabelei în funcţie de o condiţie
pentru a se obţine înregistrarea care se doreşte a fi modificată;
2. crearea unui formular în care să se afişeze datele înregistrării care urmează a fi modificate;
3. acţiunea de modificare efectivă care se va realiza cu ajutorul comenzii UPDATE a cărei sintaxă
este :[site30]

UPDATE nume_tabel SET coloana_1='$valoare_1', coloana_2= '$valoare_2',...,


coloana_n='$valoare_n' WHERE condiţie;

Ştergerea datelor dintr-o tabelă a unei baze de date presupune realizarea următorilor paşi:

1. conectarea la baza de date şi efectuarea unui SELECT asupra tabelei în funcţie de o condiţie pentru a
se obţine înregistrarea care se doreşte ştearsă ;
2. acţiunea de ştergere efectivă care se va realiza cu ajutorul comenzii DELETE a cărei sintaxă este
:[site30]
DELETE FROM nume_tabel WHERE condiţie;

O ultimă acţiune ce se impune a fi executată într-un web site este cea de căutare. Această acţiune se
realizează cu ajutorul instrucţiunilor SQL şi a comenzii LIKE. Comanda LIKE are rolul de a căuta o
valoare prin compararea acesteia cu un model. Modelele se formează fie cu caracterul procent

(%) şi un text fie cu caracterul liniuţă de subliniere ( _ ) şi un text. Procentul se foloseşte în cazul în care
se doreşte o căutare pe un spectru mai larg adică, se furnizează ca rezultat al căutării toate construcţiile
care conţin în componenţă textul care înşoţeşte acest caracter neţinându-se cont de numărul de
caractere. Liniuţa de subliniere se foloseşte pentru a indica o potrivire a caracterului de înlocuire cu un
singur caracter.

În cadrul acestui capitol au fost prezentate elemente teoretice însoţite de exemple practice ale limbajului
53
de scripting PHP. Aceste exemple puse cap la cap pot constitui piatra de temelie în procesul de creare a
oricărui web site dinamic complex.

54
Teme pentru verificarea cunoştinţelor

1. Definiţi noţiunea de limbaj PHP.


2. Enumeraţi facilităţile oferite de limbajul PHP.
3. Enumeraţi caracteristicile limbajului PHP.
4. Descrieţi principiul de funcţionare a limbajului PHP.
5. Care este efectul comenzii echo();?
6. Există diferenţe între comanda echo(); şi print();? Dacă da enumeraţile?
7. Ce sunt variabilele PHP? Scrieţi sintaxa şi exemplificaţi.
8. Definiţi noţiunea de constantă PHP?
9. Enumeraţi şi explicaţi 2 funcţii PHP predefinite.
10.Care este efectul funcţie strcmp()?
11.Care este efectul funcţie substr()?
12.Ce acţiuni se pot realiza asupra fişierelor în PHP.
13.Care este mecanismul de creare a unei sesiuni? Exemplificaţi.
14.Care este mecanismul de creare a unei cookies? Exemplificaţi.
15.Creaţi un tablou bidimensional.
16.Creaţi un fişier .html static care să conţină un formular care trimite valorile din cadrul lui
spre un fişier php.
17. Creaţi un fişier .php care să creeze un formular prin care să se trimită informaţia către un
alt fişier
.php.
18. Creaţi un fişier .php care să conţină un formular care să trimită informaţia către el însuşi.
19. Creaţi un fişier php care să conţină un formular cu ajutorul căruia să se culeagă date
despre Studenţi şi să permită inserarea acestor date în tabela cu structura:
IDStud Nume Prenume Adresa An Serie Grupa
Creaţi un fişier php care să conţină un formular cu ajutorul căruia să se modifice datele din
cadrul tabelei Studenţi a cărei structură a fost descrisă anterior.

1.Privilegiile care se pot acorda utilizatorilor sunt în MySQL sunt:



ştergerea serverului; 
 
adăugarea modificarea şi ştergerea datelor dintr-un fişier existent într-un director
 
crearea şi ştergerea unei baze de date;
 
crearea şi ştergerea unei baze de cunoştinţe;
2. Indexii pentru o tabelă în MySql se pot crea astfel:
 
INDEX(nume_coloană_index); adăugat la sfârşitul instrucţiunii CREATE TABLE...
 
INDEX(nume_coloană_index); adăugat la sfârşitul instrucţiunii CREATE DATABASE...
 
INDEX(nume_coloană_index); adăugat la sfârşitul instrucţiunii SELECT
 
INDEX(nume_coloană_index); adăugat la sfârşitul comenzii GRANT.
3.Comanda INSERT are rolul:

de a afişa înregistrările unei tabele a unei baze de date; 

de a şterge înregistrările unei tabele a unei baze de

date;

de a modifica înregistrări într-o tabelă dintr-o baza de

date

de a adăuga înregistrări într-o tabelă dintr-o baza
de date 
4.PHP poate fi folosit pentru scrierea 

55

unor programe stocate pe server ce accesează baze de date. 
 
unor programe stocate pe client ce accesează baze de date.
 
unor coduri sursă care nu pot fi incluse într-o pagină HTML.
 
alt răspuns
5.Comanda SHOW COLUMNS are ca efect:

afişarea înregistrărilor dintr-o tabelă 
 
afişarea legăturilor dintre două sau mai multe tabele

 afişarea structurii unei baze de date 
 
afişarea structurii unei tabele
6.În cadrul unui fişier PHP codul PHP se delimitează de cel HTML cu marcajele

< ? .... ?> 
 
< !... !>
 
//
 
‘\’’
Răspunsuri
1.Privilegiile care se pot acorda utilizatorilor sunt în MySQL sunt:

ştergerea serverului; 
 
adăugarea modificarea şi ştergerea datelor dintr-un fişier existent într-un director
 
crearea şi ştergerea unei baze de date;
 
crearea şi ştergerea unei baze de cunoştinţe;
2. Indexii pentru o tabelă în MySql se pot crea astfel:

INDEX(nume_coloană_index); adăugat la sfârşitul instrucţiunii CREATE TABLE... 
 
INDEX(nume_coloană_index); adăugat la sfârşitul instrucţiunii CREATE DATABASE...
 
INDEX(nume_coloană_index); adăugat la sfârşitul instrucţiunii SELECT
 
INDEX(nume_coloană_index); adăugat la sfârşitul comenzii GRANT.

3.Comanda INSERT are rolul:



de a afişa înregistrările unei tabele a unei baze de date; 
 
de a şterge înregistrările unei tabele a unei baze de date;
 
de a modifica înregistrări într-o tabelă dintr-o baza de date

de a adăuga înregistrări într-o tabelă dintr-o
baza de date 

4.PHP poate fi folosit pentru scrierea

unor programe stocate pe server ce accesează baze de date. 
 
unor programe stocate pe client ce accesează baze de date.
 
unor coduri sursă care nu pot fi incluse într-o pagină HTML.
 
alt răspuns

5.Comanda SHOW COLUMNS are ca efect:



afişarea înregistrărilor dintr-o tabelă 
 
afişarea legăturilor dintre două sau mai multe tabele
 
afişarea structurii unei baze de date
 
afişarea structurii unei tabele
6.În cadrul unui fişier PHP codul PHP se delimitează de cel HTML cu marcajele

< ? .... ?> 
 
< !... !>
56
 
//
 
‘\’’

57
Bibliografie completă a cursului

1. [Abrams2000] Rhonda Abrams, The Successful Business Plan, Running ‘R’ MediaTM, Palo Altro,
California, 2000;
2. [AllenWyatt1998]Allen&Wyatt, Succes în Internet, Editura All Education, 1998;
3. [Amor1999]D.Amor, The E-Business Revolution, Prentice-Hall, 1999;
4. [Anescu2003]V.Anescu, R. Anescu, Comerţul Electronic, Tribuna Economică Nr.4/22.01.2003;
5. [PMGApers1981] P.M.G Apers, Redundant Allocation of Relations in a Communication
Network. In Proc. 5th Berkeley Workshop on Distributed Data Management and Computers
Networks, Berkeley, Calif., 1981, p.245-258;
6. [PMGApers1988]P.M.G Apers, Data allocation in distributed systems, ACM Transaction on
Database Systems, 1988;
7. [Armstrong2001] Steven Armstrong , Advertising on the Internet, Kogan Page, London, 2001,
p.16;
8. [Baltag2001] Vasile Baltag, România şi afacerile electronice,Revista e-Finance supliment Piaţa
Financiară, Februarie 2001, p.2-5;
9. [Belch2002] George E. Belch&Michael A. Belch, Advertising and Promotion, 5th Edition,
McGrow-Hill Irwin, 2002;
10. [Beltz1997]C.Beltz, Reciprocity versus Internet-Induced Liberalization: The Case of
Telecommunications, American Enterprise Institute, Washington D.C.,1997;
11. [Benage2001] Don Benage, Azam Mirza, Visual Studio 6, Editura. Teora, 2001;
12. [Berar-site]Sanda Berar, Sisteme distribuite de baze de date,
http://www.agora.ro/pcrep/pcrep57/21.html;
13. [Berar2000] Sanda Berar, Sistemul decizional al firmei. Perspective economice şi informatice.,
teză de doctorat, septembrie 2000, Cluj-Napoca
14. [Berman1999] M.Berman, G.Scott, etc., Commerce Solution for DNS Enabled Entreprises,
Microsoft Corporation, august 1999;
15. [Binţinţan2001]Petru Binţinţan, Eficienţa economică a investiţiilor, Editura Presa Univiversitară.
Clujeană., Cluj-Napoca, 2001;
16. [Bolun1997] I.Bolun, Iniţiere în reţele Internet, ASEM Chişinău, 1997;
17. [Boian1997]Boian, F. M.,Programarea distribuită în Internet metode şi aplicaţii, Ed.
MicroInformatica, 1997;
18. [BuBois2001]P.BuBois, MySQL, Editura: Teora, 2001;
19. [Bucur2002]Cristina-Mihaela Bucur, Comerţ Electronic, Editura ASE, Bucureşti, 2002;
20. [Butuc2002]Iulia Butuc-Cherchez, Forester Research prezice o explozie a comerţului electronic
european, Ziarul Financiar, 27 August 2002;
21. [Buraga2002] Sabin Buraga, Proiectarea siteurilor Web, Editura Polirom,2002
22. [broşurăC.E.1999]Your European Gateway to Electronic Commerce, broşură editată la iniţiativa
Comisiei Europene, D.G.Intreprinderi october 1999 şi tradusă de Euro Info Centre Bucureşti;
23. [Brown2002] Mark Brown, The User of Banner Advertisements with Pull-Down Menus: A copy
Testing Approach, Journal of Interactive Advertising, Volume 2, Number 2, Spring 2002;
24. [Cameron1997]Debra Cameron, Electronic Commerce – The New Business Platform for the
Internet –, Computer Technology Research Corp., 1997;
25. [ChangCheng1980] S.K. Chang, W.H. Cheng, A Metodology for Structured Database
Decomposition, IEEE Trans. Software Eng., March 1980, p.205-218;
26. [Choy1999] Soon-Yong Choy, Economics of electronic commerce, Editura Macmillan Computer
Publishing, New York, 1999, p.54-48;
27. [Codd1970]E.F.Codd, A Relation Model of Data for Large Shared Data Banks, Comunication of
ACM, 13, 6, 1970, p.377-387;
28. [Cohn1965]P.M. Cohn, Univeral Algebra, Harper an Row, New York, 1965;
29. [ConnollyBeggStrachan2001] T. Connolly, C. Begg, A. Strachan, Baze de date proiectare,
implementare, gestionare, Editura Teora, 2001;
30. [Coulter2001]M. Coulter, Entrepreneurship in Action, Prentice Hall, New Jersey, 2001, p.34;
31. [Cristeasite2001] Valentin Cristea,Gavril Godza,Valeriu Zabalan,Eugen Belea, Ovidiu
Achim,TraianIspir, www.afaceri.net/ articole/Comert_electronic
58
/Platforme_web_comert_electronic.htm, 2001;
32. [Crumlish95] C.Crumlish, AQ Guided Tour of The Internet, Sybex, 1995.
33. [Date1995] C.J. Date, An Introduction to Database Systems, Addison-Wesley Publishing
Company, 1995;
34. [Davenport1999]T.H. Davenport, Process Innovation, Harvard Business School Press, Boston
MA, 1999;
35. [Davenport2000]T.H. Davenport & M.C. Beers, Managing Information About Processes, Journal
of Management Information Systems, 2000;
36. [Darnell2001] R.Darnell, Totul despre HTML 4, Editura Teora,2001, ISBN:973-20-0427-4;
37. [Dell1999]Michael Dell, Direct from Dell. Strategies that Revolutionized the Industry, Harper
Business,New York, martie 1999;
38. [Dorca2003]V. Dorca, Semnătura Electronică va face legea în Comerţul Electronic,
Tribuna Economică.Nr.43/22.01.2003;
39. [Dowdy Foster1982] L.W. Dowdy, D.V. Foster, Comparative Models of the File Assignment
Problem, ACM Comput. Surv., June 1982, p.287-313;
40. [Dukach1992]Seymon Dukach, SNPP:A Simple Network Payment Protocol, MIT LCS, 1992;
41. [Earl1997] M.J. Earl, J.L. Sampler, & J.E. Short, Strategies for Business Process Reengineering:
Evidence from Field Studies, Journal of Management Information Systems, 1997
42. [Ellsworth1994] Jill H Ellsworth., Matthew V. Ellsworth The Internet Business Book, John Wiley
& Sons Inc., New York, 1994;
43. [Foris1994]A. Frois Economia politică, Ed. Humanitas, Bucureşti, 1994, p.293;
44. [Gates1999] Bill Gates, Business-The Speed of Thought:Using a Digital Nervous System,
Warner Bookes,USA,1999;
45. [Gates2000] Bill Gates, @faceri cu viteza gândului, Editura Amaltea, Bucureşti, 2000;
46. [Gârlaşcu2000] Dan Gârlaşcu, Evoluţia Economiei Internet în Europa, Revista e-Finance,
Decembrie 2000;
47. [Gellersite2003] Denis Geller, Definitions of Electronic Commerce “Today”,
http://www.misu.ait.ac.th/NewsAndEvents/newsletterData/iss2no9.pdf, AIT Newsletter, Volum2,
No.9,May30,2003
48. [Godeluck2002]S. Godeluck, Boom-ul Neteconomiei: Cum bulversează Internet-ul regulile
jocului eleconomic, Editura Coresi, Bucureşti, 2002;
49. [Graeme-site] Merral Graeme, PHP/MySQL Tutorial, www. hotwired.com /webmonkey
/databases;
50. [Grätzer1979]G.Grätzer, Universal Algebra, Springer-Verlag, New York, 1979;
51. [Grover1999]V. Grover, S.R. Jeong, W.J. Kettinger, The Implementation of Business Process
Reengineering, Journal of Management Information Systems, 1999;
52. [site7]John Hawksworth, A “New” Economy in Europe?, www. pwcglobal. Com
/extweb/NewCoLth.nsf/docid;
53. [HEDGES2003] Burke Hedges, Afacerea de vis.com, Editura Curtea Veche, 2003 Bucureşti;
54. [Higgins1964] P.J. Higgins, Algebras with a Schema of Operators, Math. Nachr.,27,
1963/64,p.155-132;
55. [Hof1999]Robert.D.Hof, Entretien avec Jeff Bezos, Business Week, 17 martie 1999;
56. [HofferSeverance1975]J. Hoffer, D. Severance, The use of cluster analysis in phisical data base
design, Proc., Int. Conf Very Large Data Bases, ACM, 1975;
57. [Ionescu1969]H. Ionescu, C. Dinescu, V. Burlacu, Teoria grafelor cu unele aplicaţii în economie,
Editura Ştiinţifică, 1969;
58. [site28] Radu Ionescu, Internet, ca afacere, www.bizcity.ro/index.php?x=read;
59. [site29] Radu Ionescu, Cristian Manafu, 5 modele de afaceri pe Internet,
www.bizcity.ro/index.php?x=read;
60. [Kapolnai2002] A. Kapolnai, A. Nemeslaki, R. Pataki, eBusiness strategia vallalati
felsovezetoknek, Editura. Aula, 2002;
61. [Karlapalem1997] K.Karlapalem, N.M.Pun, Query driven data allocation algorithms for
distribute database systems, The 8th International conference on Database and Expert Systems
Applications, Toulouse, 1997;
62. [KasaPop1998]Kasa Zoltan, Pop Horea, Comunicare în Internet, Editura grupul
microInformatica, Cluj-Napoca, 1998,ISBN:973-9215-61-0;
63. [KoganSudit1999] Alex Kogan, Fred Sudit & Miklos A. Varsarhelyi, The Internet living book,
59
Prentice-Hall International 1999;
64. [Luca]Cristian Luca, Evoluţia şi tendinţele comerţului electronic românesc, Revista Internet
Magazin,Nr.6/2003, p:40-42;
65. [LalaniChandak1997]S. Lalani, R. Chandak, Biblioteca programatorului ACTIVE X, Editura
All, 1997,Bucureşti;
66. [Mateescu2003] Bogdan Mateescu, Proiect Enlarge, Revista Internet-Magazin, Nr.6/2003,p.10-
14;
67. [Marc1998]Bacchetta Marc, Le commerce electronique et le role de L’OMC, GENEVE :
ORGANISATION MONDIALE DU COMMERCE (OMC), 1998 - ISBN: 9287021988;
68. [McCatry2002]B. McCarty, PHP4, Editura Teora,Bucureşti, 2002;
69. [MSDN] MSDN;
70. [Muntean2002] Mihaela Muntean, Diana Mogoşanu, Reflecţii privind educaţia viitorului,
Informatică Economică şi Societatea Informaţională, Workshop, Timişoara 2002, p.207-214;
71. [NavatheCeriWiederhold1983] S.B. Navathe, S. Ceri, G. Wiederhold, and J. Dou. Vertical
Partitioning of Algorithms for Database Design, Int Proc. 9th Int. Conf On very Large Data
Dases, Florenxe, Italy, Octomber-November 1983, p.175-277;
72. [Năstase2002]Năstase Floarea, Năstase Pavel, Tehnologia aplicaţiilor web XML-DOM-ASP, Ed.
Economică, Bucureşti, 2002,392 pag., ISBN 973-590-644-9
73. [Negrescu2000] L.Negrescu, Limbajele C şi C++ pentru începători~ Limbajul C, Volum1,Partea
1, Editura Microinformatica,2000,Cluj-Napoca, ISBN 973-9443-82-8;
74. [Niţchi1990]Ş.I. Niţchi, Contribuţii la conceperea, proiectarea şi implementarea bazelor de date,
Universitatea Babeş-Bolyai, 1990;
75. [Niţchi1992] Ş.I. Niţchi, Some remarks about using heterogeneas structures in the computer
theory, Revue d’analyse numerique at de theorie de l’approximation, 21,1992,2, p.147-152;
76. [Niţchi1993]Ş.I. Niţchi, Consideraţii asupra sistemelor informaţionale pentru management şi
afaceri, Studia Universitatis „Babeş-Bolyai” seria Oeconomică,37,1993,1-2,p.115-120;
77. [Niţchi1997]Ş.I. Niţchi, M.Vasrhelyi, Some remarks about heterogeneous business information
management system, The Procedings of the 3rd International Symposium of Economic
Informatics, Bucharest, 1997, p:435-440;
78. [AvramNiţchi1999.1]Rodica Avram-Niţchi, On the intelligent mobile agents used in business,
Information Technology, The Procedings of the Four International Symposium on Economic
Informatics, Bucharest, May 1999, p:822-826;
79. [AvramNiţchi1999.2] R. Avram-Niţchi., Some remarks on the representation of the conceptual
modeling in business information systems by heterogeneous structures, Procedings of the
„Tiberiu Popoviciu” Intinerant Seminar of Functional Equations, Approximations and Convexity,
Ed. Elena Popoviciu, Smirna, 1999, p: 221-228;
80. [Niţchi1999.3] S.I.Niţchi, Esenţial… în comunicarea pe INTERNET şi World Wide Web, Editura
Risoprint, 1999, ISBN 973-9464-22-x
81. [Niţchi2003.1]R. Avram-Niţchi., Ş.I. Niţchi, N.Ghişoiu, Baze de date şi programarea
calculatoarelor, Preprint, Cluj-Napoca, 2003;
82. [Niţchi2004]Rodica Avram-Niţchi, Nicolaie Tomai, Robert Buchmann, Ramona Lacurezean,
Liana Stanca, etc., Birotică, Editura RISOPRINT,Cluj-Napoca 2004,ISBN:973-656-649-8;
83. [Nitchi2003.2] Rodica Avram-Nitchi, Constantin Avornicului, Nicolae Ghişoiu, Sabin Goron,
Lucia Rusu, Dan Sitar-Tăut, Liana Stanca, Iniţiere în informatica economică şi de afaceri, Bazele
informaticii şi Tehnologie informaţională, Editura RISOPRINT,Cluj-Napoca 2003,ISBN:973-
656-540-9;
84. [AvramNitchi2006] Arba Raluca, Avram-Nitchi Rodica , Chiş Sebastian, Coroş Robert,
Lacurezeanu Ramona, Mocean Loredana , Petruşel Răzvan,Popa Silviu, Rusu Lucia, Sitar-Taut
Dan Andrei , Stanca Liana Maria, Tomai Nicolae , Vancea Iuliana Monica, Vlad Miranda,
Informatică economică şi de afaceri, Editura Risoprint, 2006, ISBN:973-751-157-3;
85. [OCDE1997]OECD, Electronic Commerce: Opportunities and Challenges for Government, Paris,
1997.
86. [Patriciu1999]Victor-Valeriu Patriciu, Sisteme electronice de plăţi, PC Report Nr 83 / August
1999;
87. [Paul1999] Charles Paul, Des espaces publicitaires remuneres non plus a l’audience mais a
l’efficacite, in La Tribune,decembrie 1999;
88. [Peypoch1998] R.J. Peypoch, The Case for Electronic Business Communities, Business Horizons,
60
15 Septembrie 1998.
89. [Pleşa2000]D. Pleşa, Domotica, Editura A.S.E., Bucureşti, 2000, p.176-180;
90. [Pop2004]Ioana Pop, Curs Birotică, Editura AcademicPres, Cluj-Napoca 2004, ISBN:973-7950-
43-7;
91. [PopStanca2004] Ioana Pop, Rodica Sobolu, Liana Stanca, Informatică ~lucrări practice~,
Editura AcademicPres, Cluj-Napoca 2004, ISBN:973-7950-59-3;
92. [Radu2002] I. Radu, D. Vlădeanu, Fundamentarea deciziilor complexe prin tehnici de simulare,
93. Editura Economică, 2002;
94. [Răuţ1998]Gheorghe Răuţ, Modele financiar-tranzacţionale în comerţul electronic, PC
World România, nr.6/1998,p.47-53;
95. [Robu2002]Nicolae Robu,etc., Internet ~Infrastructură şi servicii~, Editura Politehică, Timişoara
2002;
96. [Ricart1998]M.A. Ricart, Apache Server Survival Guide, 1998;
97. [Roşca2000] I.Gh.Roşca, N.Ţăpuş şi alţii, Internet & Internet, Concepte şi aplicaţii, Editura
Economică, 2000, ISBN 973-590-398-9;
98. [Sabău2003]Mircea Sabău, Soluţii pentru probleme economice, NET Report Nr 125 / Februarie
2003, www.agora.ro/netreport125/or1.shtml;
98. [ScarlatSoroiu]Mihai Scorţaru, Claudiu Soroiu, Pagini Web cu PHP4,
http://www.ginfo.ro/revista/13_3/internet.pdf
99. [Sankappanavar1981] S.Burris H.P. Sankappanavar, A cours in Universal Algebra, Springer-
Verlag, New-York, 1981;
100. [Stanca2004.1]Liana Stanca, Abordarea e-mall-urilor cu ajutorul algebrelor eterogene,
revista Studia Universitatis Babeş-Bolyai, Oeconomia, XLIX, numărul 1/2004;
101. [Stanca2004.2]Liana Stanca, Application of heterogeneous algebra in the electronic
commerce, revista de la Facultad de Ingenieria , iulie 2004, Chile pag:45-49 ;
102. [Stanca2004.3]Stanca Liana Maria, Suportul economic al afacerilor electronice pe
Internet, Editura PRESA UNIVERSITARA CLUJEANA, Cluj-Napoca,2004, P. 148, ISBN:973-
610-320-X;
103. [Stanca2004.4]Liana Stanca, Virtual Shops-a Necessity, revista Informatică Economică,
Volumul VIII, Numărul 2 (30) /2004, editura INFOREC, Bucureşti, 2004, ISSN 1453-1305,
p:45-48;
104. [Stanca2004.5]Liana-Maria Stanca, Ioana Pop, Simularea afacerilor electronice prin
metoda Monte Carlo, Volumul II al Simpozionului Internaţional Integrarea Europeană şi
competitivitatea economică, Chişinău, 23-24 septembrie 2004, ISBN:9975-75-260-8, p:230-233;
105. [Stanca-teza]Purdea Liana-Maria (căs. Stanca), Contribuţii la conceperea, proiectarea şi
realizarea afacerilor pe Internet, Teză de doctorat, Decembrie 2004, Cluj-Napoca ;
106. [StancaPop2007]Stanca Liana Maria , Pop Ioana , The conceiving and realization of a
successful estimation prototype for a virtual business using the Monte Carlo method and the
statistic interpretation of data, Scopus, Wseas Transactions on information science and
aplications, Italy 2007, P.317-323, ISSN:1790-0832;
107. [Stanca2006]Stanca Liana Maria, The estimation of a virtual shop’s success by using the
Monte Carlo Method, 5th WSEAS International Conference on E-ACTIVITIES'06, Venice,
Italy, WSEAS, ISBN: 960-8457-56-6, Scopus, 2006, P. 195-199
108. [Stanca2004.3]Stanca Liana Maria, Suportul tehnologic al afacerilor electronice pe
Internet, Editura PRESA UNIVERSITARA CLUJEANA, Cluj-Napoca,2007, P. 328, ISBN:978-
973-610-588-3;
109. [Stanca2005]Stanca Liana Maria, Transposing a newsletter into practice through the
PHP language , International Conference on Computational Intelligence for Modelling, Control
and Automation and International Conference on Intelligent Agents, Web Technologies and
Internet Commerce Vol-2 (CIMCA-IAWTIC'05) , IEEE Computer Society, M.Mohammadian,
978-0-7695-2504-4, EI , 2005, P. 321-324
110. [Tudor2000]Tudor Sorin, Informatică Varanta C++, Manual pentru clasa IX,
Editura,L&S INFOMAT, Bucureşti 2000
111. [Ţâmbulea2002]Leon Ţâmbulea, Baze de Date, Centru de învăţare continuă şi învăţământ
la distanţă, Facultatea de Matematică şi Informatică, Cluj-Napoca, 2002;
112. [Vasiu2001] Ioana Vasiu, Criminalitatea Informatică, Editura Nemira, Bucureşti, 2001;
113. [Vasiu2002]Ioana Vasiu, Lucian Vasiu, Informatica juridică şi dreptul informatic 2002,
61
Editura Albastră, Cluj-Napoca,2002;
114. [WaltherLevine2001] Stephen Walther, Jonathan Levine, Programarea în ASP
pentru Comerţ Electronic, Editura Teora, Bucureşti, 2001;
115. [Wasserman1999] Elizabeth Wasserman,”Dreamweaver”, in The Industry Standard, 8
November 1999;
116. [Welling2001] Luke Welling, Laura Thomson, PHP and MySQL Web Development,
SAMS Publishing,2001;
117. [WellingThomson2005] L. Welling, L. Thomson, Dezvoltarea aplicaţiilor Web cu PHP şi
MySQL, Editura Teora, 2005, Bucureşti, ISBN: 1-59496-051-8;
118. [Chip2/2003]Revista Chip Special, Nr.2-2003, Crearea unui Website dinamic;
119. [ApachePHP-site]www.thickbook.com, Apache+PHP4 on Windows, 2002;
120. [microsoft-site]www.microsoft.com;
121. [w3schools-site]www.w3schools.com;
122. [weblogs-site]http://php.weblogs.com
123. [books-site]ftp://ftp.astral.ro/pub/books;
124. http://www.gwp.ro/ro_services_programming.php;
125. [asp-site]www.asp.net;
126. [electronica-site] http://www.electronica-azi.ro/ ar.php;
127. [netconcepts-site] http: // www. netconcepts. com/ news/ php vsasp.php;
128. Internet Indicators, URL: www.internetindicators.com, 2001 (10 August 2001).
129. http://www.academiaromana.ro/pro_pri/doc/st_b03.doc
130. [MySQL-site]www.MySql.com, MySql Reference Manual for version 4.0.0-alpha;
131. [PHP1-site]www.php.net. PHP Manual, Edited by Stig Saether Bakken;
132. [MySQL2002] MySQL Server and Clients, Documantaţie de firmă, MySql AB, 2002.;
133. [PHP2-site]www.phpfreaks.com, PHP and MySQL Web Site Building Tutorial;
134. [site1]http://ro.wikipedia.org/wiki/Server;
135. [site2]http://www.worklance.com/htmltutorial;
136. [site3] http://www.acucalin.ro/curshtml/ch.html;
137. [site4] http://www.infodamina.ro/html;
138. [site5] http://euro.ubbcluj.ro/~alina/cursuri/internet-teorie/;
139. [site6] http://www.etutoriale.ro/articles/127/1/Crearea-formularelor-HTML;
140. [site7] http://www.etutoriale.ro/articles/88/1/Frame-uri-HTML;
141. [site8] http://www.ionitaasan.go.ro/main_page_files/retele/retele2.htm;
142. [site9] http://www.php.maelvi.ro/pgs/tut_mysql_date.php;
143. [site10] http://www.etutoriale.ro/articles/39/1/Tipuri-de-date;
144. [site11] http://www.itim-cj.ro/~jalobean/Cursuri/www.my-sql.go.ro/utilizare.htm# cols
145. [site12] http://ro.wikipedia.org/wiki/Baz%C4%83_de_date
146. [site13] http://office.microsoft.com/ro-ro/access/HA012242471048.aspx?pid=
CH100645691048#Terms
147. [site14] http://www.phpromania.ro/modules.php?name=News&file=article&sid=560
148. [site15] http://www.tutoriale.far-php.ro/index.php? p=Structuri%20de%20control
%20%26 icirc%3Bn%20PHP;
149. [site16] http://www.drogoreanu.ro/tutorials/php2.php
150. [site17] http://www.ase.ro/biblioteca/pagina2.asp?id=cap1
151. [site18] http://documentatiephp.xhost.ro/cap3.php
152. [site19] http://www.etutoriale.ro/articles/93/1/Tutorial-complet-PHP/print/93
153. [site20]http://students.info.uaic.ro/~webgr/php/tipuri-de-date.html#Tablouri

Bibliografie opţională

1. [Boian_97] Boian, F. M, Programarea distribuită în Internet metode şi aplicaţii Ed.


MicroInformatica, 1997; Biblioteca facultăţii
2. [BuBois_01]P.BuBois, MySQL, Editura: Teora, 2001, Biblioteca facultăţii
62
3. [Darnell_01]R.Darnell, Totul despre HTML 4, Editura Teora, 2001, Biblioteca facultăţii
4. [Welling_05]L. Welling, L. Thomson, Dezvoltarea aplicaţiilor Web cu PHP şi MySQL,
Editura Teora, 2005, Bucureşti, ISBN: 1-59496-051-8; Biblioteca catedrei
5. [Chip_03]Revista Chip Special, Nr.2-2003, Crearea unui Website dinamic; Biblioteca
catedrei
6. [site1]www.thickbook.com, Apache+PHP4 on Windows, 2002; reţea Internet
7. [site2]www.MySql.com, MySql Reference Manual for version 4.0.0-alpha; reţea Internet
8. [site3]www.php.net, PHP Manual, Edited by Stig Saether Bakken; reţea Internet
9. [site4]www.phpfreaks.com, PHP and MySQL Web Site Building Tutorial; reţea Internet
10. [site5]http://interfete-web.clubcisco.ro/site/index.php/glosar-de-termeni
11. [site6]http://www.designlabs.ro/glosar-internet.php

63
Glosar

Index page [site5]- Termen sinonim cu "home page". Multe pagini sunt denumite index.html
sau index.php pentru că acestea sunt paginile pe care un server web le va returna unui browser ce
face o cerere către o adresă (și nu către un anumit fișier de la acea adresă), în mod implicit

Link text [site5]- O porțiune pe care se poate da click pentru a accesa un link, reprezentată prin
text. Se mai numește și "anchor text" de la tag-ul HTML <a> (anchor).

META tags[site5] - Tag-uri HTML localizate în secțiunea <HEAD> a unei pagini web care
specifică informații relevante pentru motoarele de căutare. Două dintre cele mai utilizate tag-uri
sunt "Keywords" și "Description". Multe motoare de căutare ignoră tag-urile META din cauză
că au fost mult abuzate în trecut. Totuși, Google folosește descrierea din tag-ul "Description"
când afișează pagina ca rezultat al unei căutări. De asemenea, "Robots" poate specifica faptul că
nu se doreşte ca o pagină să fie indexată de către motoarele de căutare.

Browser[site6] -Un browser este un program care rulează pe calculatorul clientului care doreşte
să vizioneze un site web. Browserul se conectează la serverul site-ului, copiază conţinutul pe
calculatorul clientului, îl interpretează şi îl afişează.

Cookie[site6] -un fişier ce stochează cantităţi de informate de dimensiuni reduse şi cu o anumită


durată de viaţă. Un site poate salva cookie-uri pe calculatorul unui vizitator pentru a salva
anumite setări sau opţiuni pe care vizitatorul le-a efectuat la un anumit moment dat, astfel încât
utilizatorul nu va mai trebui să le reintroducă. Prin această metodă sunt salvate şi numele de
utilizator şi parola la un anumit site, astfel încât la următoarea vizită, utilizatorul este autentificat
automat. Deşi informaţia din cookie este criptată, ea poate fi decriptată cu destulă uşurintă.

Cuvant cheie (KEYWORD) [site6] - un index pentru o bază de date care identifică o anumită
informaţie sau document. Căutarea după cuvinte cheie este cea mai folosită metodă de căutare pe

Internet

HTML (Hyper Text Markup Language) [site6] - un limbaj de descriere, structurare şi


formatare a paginilor web. Majoritatea paginilor de pe Internet sunt scrise folosind HTML, de
obicei împreună cu CSS, care este un limbaj de formatare.
HTTP (Hyper Text Transfer Protocol) [site6] - protocolul (metoda) standard de transfer de
date dintre un browser web si un server.

Script[site6] -Un program scris într-un limbaj simplificat de programare, numit şi limbaj de
script. Exemple de limaje de script sunt PHP,JSP,JavaScript, VBScript.

Server web (web server)[site6] -Un computer conectat la Internet, ce găzduieşte pagini web şi
le furnizeaza vizitatorilor. Un server dedicat găzduieşte un singur site web. Un server ne-dedicat
găzduieşte mai multe pagini web. Serverele dedicate sunt mai rapide, dar şi considerabil mai
scumpe.

SMTP (Simple Mail Transfer Protocol) [site6] -un protocol (set de reguli) folosit de anumite
sisteme server-client de e-mail pentru copierea mesajelor de la client la server.

PHP [site5] - limbaj de scripting gratuit, destinat iniţial dezvoltării interfeţelor web dinamice şi
64
extins apoi şi pentru utilizarea în aplicaţii grafice. Acronimul PHP vine de la "Personal Home
Page", numele oficial al limbajului de scripting lansat în 1995 de Rasmus Lerdorf.
Implementarea principală este realizată actual de "The PHP Group", versiunea cea mai recentă
fiind 5.2.6

Scurtă biografie a titularului de curs

Lect. Dr. Liana Stanca doctor în Economie Cibernetică şi Statistică Economică din anul 2005.
Din 2001 licienţiată în Informatică (Facultatea de Matematică şi Informatică, secţia Informatică
din cadrul UBB Cluj-Napoca,), iar din anul 1999 licenţiată în Studii Europene. Studii de
specializare: master în Informatică Economică şi Societate Informaţională din cadrul
Universitătii Babeş Bolyai în anul 2002-2003.

Domenii de competenţă: baze de date şi programare, infomatică economică, programare web


statistică şi matematică.. Competenţele de cercetare ştiinţifică sunt demonstrate prin publicarea a
2 cărţi unic autor şi 8 în colaborare, a peste 35 de lucrări ştiinţifice în publicaţii recunoscute şi
participarea la peste 36 de comunicări ştiinţifice în cadrul unor sesiuni din ţară şi străinătate.
Membru în comitete de organizare sau ştiinţifice ale unor conferinţe Rewier în cadrul conferintei
internaţionale IAWTC şi WSEAS

Membru în 6 proiecte de cercetare.

ŞEF CATEDRA TITULAR DE DISCIPLINĂ

Prof.dr.Gheorghe Cosmin Silaghi Lect.Dr. Liana Stanca

65