Sunteți pe pagina 1din 65

Specializarea: Informatic Economic

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

I. Informaii 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
Cod: EBI0093
Pagina web a cursului: http://www.econ.
ubbcluj.ro
An studiu: Anul 3, semestru 5
Tip: Obligatoriu
Tutore: Lect.Dr. Liana Stanca
E-mail secundar: liana.stanca@econ.
ubbcluj.ro

Nume: Lect.Dr. Liana Stanca


Birou: 432, sediul FSEGA
Telefon: 0264-418 655
Fax: 0264-418 655
E-mail:
liana.stanca@econ.ubbcluj.ro
Consultaii: Conform cu orarul afiat la sala
432

Condiionri i cunotine prerechizite


Cursul nu are condiionri prerechizite. Cunotinele prerechizite care pot facilita asimilarea
materialului sunt legate de programare la nivel de baz i reele de calculatoare. Sugerm ca nainte de
parcurgerea materialului s se identifice urmtoarele cunotinele prerechizite:
structurile de programare de baz: protocol TCP/IP, SMTP, HTTP, modelul Client-Server
conceptele de programare de baz: reele de calculatoare,
modelele de procese de producie software din perspectiva proiectrii;
documentaia necesar proiectrii sistemelor informatice.

Descrierea cursului
Cursul prezint justificarea economic deoarece are ca scop prezentarea unei tehnologi cu ajutorul
crora se pot realiza instrumentele necesare implementrii de afaceri electronice. Se ncepe cu o parte
introductiv care prezint conceptele de baz necesare pentru nelegerea modului de funcionare i
implicit de proiectare i implementare a instrumentelor necesare pentru desfurarea afacerilor
electronice. Se definesc conceptele de baz (vezi glosarul de termeni). Se descriu tehnnologii Web de
proiectare i implemetare a instrumentelor vitale n desfurarea unei afaceri electronice.
Piaa muncii din Romnia ofer un segment semnificativ pentru angajarea de programatori web la
companiilor software. Pe baza cunotinelor asimilate att n cadrul acestei dicipline ct i n cadrul
disciplinelor preponderent economice studenilor li se ofer posibilitatea de a-i demara propria afacere.
Competene dobndite prin absolvirea disciplinei:
1. absolvenii disciplinei sunt specialiti n informatic economic cu abiliti de programare i
tratare a excepiilor bazndu-se pe obiecte i clase;
2. nsuirea abilitilor de concepere, proiectare i implementare a modelelor de afaceri electronice
cu ajutorul limbajelor HTML i PHP, ceea ce le creaz posibilitatea ncadrrii n domeniul
statisticii i informaticii economice
3. fundamentarea necesarului de resurse umane, materiale i financiare n raport cu cerinele
obiectivelor fixate de activitile specifice programrii afacerilor on-line;
4. au compena necesar de a dezvolta aplicaii specifice afacerilor electronice;
5. au compena necesar de a optimiza metodele de selecie a alternativelor de dezvoltare a unei
afaceri on-line;.
6. dobndesc deprinderi de analiz proiectare i testare a modelelor de afaceri electronice specifice
putnd deveni consultani n acest domeniu;
7. dobndesc deprinderi de msurare a efeicienei afacerilor on-line;
8. pot concepe, proiecta, implementa i testa att pagini web statice ct i pagini web dinamice n
spe un model de afacere electronic;
2

- fundamentarea necesarului de resurse umane, materiale i financiare n raport cu cerinele obiectivelor


fixate de activitile 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 nvmnt la distan: https://portal.portalid.ubbcluj.ro/
Modul1 : NOIUNI FUNDAMENTALE PENTRU CONCEPEREA, PROIECTAREA I
IMPLEMENTAREA UNEI APLICAII ELECTRONICE
1.1 Reeaua Internet - concept i evoluie
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 funcionare 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- definiie, proiectare
3.6. Operaii asupra bazelor de date n MySQL
Modul4:PREZENTAREA LIMBAJULUI DE SCRIPTING PHP
4.1 Limbajului PHP~noiuni fundamentale
4.2. Principiul de funcionare 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. Funcii
4.9. Fiiere
4.10. Stocarea datelor n sistemul utilizatorului cu PHP
4.11. PHP i formulare HTML
Bibliografie obligatorie
Bibliografie opional
Pentru paginarea temelor, recomandm consultarea cuprinsului din partea a doua a materialului de fa.
Formatul i tipul activitilor implicate de curs
Cursul va fi prezentat prin activiti tutoriale periodice programate conform orarului facultii, afiat pe
site-ul http://econ.ubbcluj.ro.

Prin adresele de e-mail oferit sau la sediul facultii, titularul i tutorii cursului stau la dispoziia
studenilor pentru consultaii on-line sau fa n fa n afara activitilor periodice preprogramate. Se
ncurajeaz studiile de caz legate de locul de munc al acelor studeni care sunt deja angajai n
domeniul testrii software.
Activitile tutoriale sunt, pentru studentul la distan, facultative i nu afecteaz nota acestuia, obinut
strict prin forma indicat: examen scris i prezentarea unui proiect ce are ca tem conceprerea,
proiectarea i implementarea unei afaceri virtuale pe baza cunotinelor asimilate n cadrul cursului de
fat Totui, ncurajm participarea interactiv la activitile 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 facultii
2.[Stanca_04] Stanca L.,Suportul economic al afacerilor electronice, Editura Presa Universitar
Clujean, 2004 Biblioteca facultii
3.[McCarty_02] McCarty, PHP 4, Editura Teora 2002 Biblioteca catedrei
[Graeme_site] Graeme M.,PHP/MySQL Tutorial www. hotwired.com /webmonkey databases reea
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
nceptorului,
3D
MEDIA
COMMUNICATIONS,2011.
Materialele sunt accesibile la biblioteca facultii, la biblioteca catedrei sau pot fi puse la dispoziie
de ctre titularul de curs.
Materiale i instrumente necesare pentru curs
Calculator, materialul bibliografic, software liceniat i free necesar cursului i anume triad-ul ApacheMySql-PHP puse la dispoziie de titularul cursului.
Calendar al cursului
Sunt estimate 3 ntlniri preprogramate pe semestru, cu datele i locaiile afiate pe site-ul facultii la
nceputul semestrului. Premergtor fiecrei ntlniri se recomand parcurgerea materialului de fa, pe
module pentru a asigura cursivitatea discuiilor. Coninutul acestor ntlniri va fi, n ordine:
Prima ntlnire discuii pe marginea modulelor I, II;
A doua ntlnire discuii pe marginea modulelor II, III,
A treia ntlnire discuii pe marginea modului IV.
Politica de evaluare i notare (orientativ - 1 pagin)
Evaluare practic 50% din not:
Coninut:
Dezvoltarea unui proiect care s conin o aplicaie sotfware necesar derulrii unei afaceri electronice
la alegere. Proiectul va conine:
o aplicaie destinat clientului (partea de front-end);
o aplicaie destinat administratorului afacerii (partea de back-end)
o baz de date care conine toate datele necesare pentru realizarea celor 2 aplicaii.
Evaluare teoretic 50% din not
Coninut:
Test gril cu ntrebri, de dificultate i pondere n not echitabile (30 ntrebri de 0,3 punct pe
ntrebare).
4

Nivelul minim pentru promovarea examenului este dat de obinerea notei 5 la fiecare din cele dou pri
(practic i teoretic).
Ambele evalurii vor avea loc la datele programate pentru examen, la sediul facultii. Notele vor fi
acordate n aceeai zi, comunicate personal fiecrui student cu posibilitate de contestare imediat.
Nu se vor accepta proiecte practice sau participri la examen la alte date dect cele programate.
Elemente de deontologie academic
Tentativele de fraudare att la examen scris ct i n dezvoltarea proiectului practic vor fi pedepsite prin
anularea examenului i aplicarea regulamentului instituional. Nu este admis n timpul examenului
utilizarea mijloacelor de comunicaie. Contestaiile se vor soluiona n maxim 24 de ore de la afiarea
rezultatelor.
Studeni cu dizabiliti
Titularul cursului si tutorii i afirm disponibilitatea, n limita posibilitilor, de a adapta la cerere,
coninutul i metodelor de transmitere a informaiilor, precum i modalitile de evaluare (examen oral,
examen on line) n funcie de tipul dizabilitii cursantului. Vom urmri facilitarea accesului egal al
tuturor cursanilor la activitile didactice.
E-mail de contact pentru situaii deosebite i suport acordat studenilor cu dizabiliti:
liana.stanca@econ.ubbcluj.ro
Strategii de studiu recomandate
Recomandm n ordine:
parcurgerea materialului de fa i contactarea tutorilor pentru orice nelmuriri;
parcurgerea bibliografiei obligatorii;
cercetarea individual pe tema cursului, folosind Internetul;
parcurgerea documentaiilor on-line www.php.net, dev.mysql.com;

Cuprins
Modul1 : NOIUNI FUNDAMENTALE PENTRU CONCEPEREA, PROIECTAREA I
IMPLEMENTAREA UNEI APLICAII ELECTRONICE ...................................................................... 8
1.1 Reeaua Internet - concept i evoluie .................................................................................................. 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 funcionare 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- definiie, proiectare .................................................................................................... 35
3.6. Operaii asupra bazelor de date n MySQL....................................................................................... 36
Test de verificare a cunotinelor: ............................................................................................................ 38
Modul4:PREZENTAREA LIMBAJULUI DE SCRIPTING PHP .......................................................... 39
4.1 Limbajului PHP~noiuni fundamentale ............................................................................................. 40
4.2. Principiul de funcionare 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. Funcii .............................................................................................................................................. 49
4.9. FIIERE ............................................................................................................................................ 50
4.10. Stocarea datelor n sistemul utilizatorului cu PHP ......................................................................... 52
4.11. PHP i formulare HTML ................................................................................................................ 53
Bibliografie obligatorie ............................................................................................................................ 57
Bibliografie opional .............................................................................................................................. 62

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 nsuirea tehnicilor de programare web care sunt vitale pentru crearea de aplicaii performante
sub platformele Windows.
-Se ofer programatorului toate informiile necesare pentru stpnirea limbajului HTML cu scopul de a
putea fi folosit n combinaie cu limbajul de scripting PHP.
Se ofer programatorului toate cunotinele necesare pentru crearea unor aplicaii web complexe. Se
ncepe cu abordarea MySql pentru a se furniza informaiile necesare pentru crearea de baze de date
relaionale 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 noiunilor
de clieni 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.

2. Suportul de curs
MODULUL 1 NOIUNI FUNDAMENTALE PENTRU CONCEPEREA, PROIECTAREA
I IMPLEMENTAREA UNEI APLICAII ELECTRONICE
2.1.1. Scopul i obiectivele modulului
Scopul acestui modul este familiarizarea cursantului cu termenul de reea Internet, cu principiului de
funcionare a modelului clasic de aplicaii web Client-Server, cu prezentarea limbajelor de scripting pe
parte de server i cu Serverul Apache .
Ca obiective, se vor atinge urmtoarele:
1.
Familiarizarea cu conceptele folosite n reeau INTERNET i evoluia acestei reele
2.
Fixarea principiilor de funcionare a modelului Client-Server
3.
Oferirea unei imagini de ansamblu asupra limbajelor de scripting pe parte de server
4.
Asimilarea noiunii 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 evidenierea conceptului
legate de reeau Internet care stau la baza aplicaiilor web.
Al doilea subcapitol are ca scop descrierea principiul de funcionare 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.

Recomandri privind studiul:


1. Sunt necesare cunotine teoretice de algoritmic i programare;
2. Studierea conceptelor prezentate n vederea utilizrii lor pe parcursul celorlalte capitole
Rezultate ateptate:
1. Asimilarea conceptelor de baz legate de aplicaiile electronice.
2. Studenii trebuie s neleag i s asimileze pricipiile de baz ale afacerilor electronice

2.1.3. Coninutul informaional detaliat


2.1.3 .1Reeaua Internet - concept i evoluie
Internet-ul este definit ca o colecie larg de reele sau ca o reea de reele [AllenWaytt1998].
Amndou definiiile sunt exacte dar insuficiente pentru a defini cu exactitate reeaua Internet.
Elaborarea unei definiii complexe pentru reeaua Internet se dovedete a fi o munc laborioas
deoarece persoane diferite o percep sub aspecte diferite fapt ce a avut ca rezultat apariia n literatura de
specialitate a unui numr mare de definiii i accepiuni ale Internet-ului. Dup prerea autoarei, avnd
n vedere scopul prezentei lucrri, 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 dect media.
n concepia economitilor [Godeluck2002] apariia Internet-ului a schimbat radical natura creterii
economice ducnd la apariia unei noi economii bazate pe caliti intrinseci ale reelei i concentrate
asupra unui nou gen de ntreprinderi.
La baza Internet-ului se afl cercetrile demarate n 1958 de ctre Departamentul de Aprare al
Armatei Americane, denumit ARPA. ARPA avea misiunea de a efectua, printre altele, cercetri n
domeniul tehnologiilor de reea i telecomunicaiilor. Aceast reea lega cele mai importante
calculatoare din Statele Unite prin intermediul liniilor nchiriate.
n anul 1962, noul conductor al ageniei, Dr. J.C.R. Liecklider, a adoptat o serie de msuri care au
condus la mutarea treptat a acestei organizaii (ARPA) n sectorul civil, n special n mediul universitar
[Bucur2002].
n anul 1969, Departamentul Aprrii S.U.A., prin Agenia pentru Proiecte de Cercetare Avansat
(ARPA), a creat o reea experimental de comutare de pachete, bazat pe linii telefonice
[AllenWaytt1998]. Liniile telefonice erau ideale pentru recepionarea i transmiterea informaiilor prin
comutare de pachete. Din aceast colecie iniial de reele s-a nscut ARPANet, unul dintre strmoii
Internet-ului. ARPANet permitea oamenilor de tiin, cercettorilor i personalului militar din diverse
locuri s comunice prin pot electronic sau prin convenii pe calculator, n timp real.
De la jumtatea deceniului VII i pn n prezent preocuprile cercettorilor s-au ndreptat cu precdere
spre arhitecturile de reele i spre gsirea rspunsului la urmtoarea ntrebare Cum se pot furniza
servicii de comunicaii prin intermediul unui sistem de reele
interconectate? [Robu2002]. Rezultatele cercetrilor au condus la dezvoltarea tehnologiilor interreea, la modele de sisteme cu mai multe nivele de protocoale de comunicare-operare i la paradigma
interaciunii 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 reea, deschiznd calea transferului de soft-uri sau de documente
[Godeluck2002]. n acelai 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 su prin intermediul FTP-ului. Tot n anul 1972 a fost
nfiinat la New York, organizaia International Networking Group sub conducerea lui Vinton
Cerf. Scopul principal al acestei organizaii a fost acela de a crea o reea de reele, 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 inovaie n domeniu i anume newsgroups, adic grupurile de discuie
electronic.
n anii 80, reelele conectate la ARPANet au continuat s se extind. n anul 1982, ARPANet s-a unit
cu MILNet, care era o reea militar, ct i cu alte reele. [AllenWaytt1998] Reeaua Internet s-a nscut
ca urmare a reuniunii acestor reele. Pe msur ce tot mai multe colegii i companii de cercetare se
conectau la Internet, rolul ARPA s-a diminuat. Arhitectura i protocoalele dezvoltate n cadrul reelei
ARPA pn n anii 1979 stau la baza Internet-lui [Robu2002]. Din varianta sa de nceput, Internet-ul de
azi nu mai pstreaz dect conceptul de transmisie a informaiei sub form de pachete.
n anul 1989, Pentagonul i retrage subveniile, aciune ce va avea ca rezultat dispariia ARPANET9

ului. n aceast perioad oamenii din ntreaga lume intr n posesia NET-ului ca urmare a revoluiei
microinformaticii. Rezultatele acestei revoluii se vor concretiza n faptul c, att ntreprinderile ct 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 cretere a veniturilor pentru toate firmele care s-au adaptat noului mediu de
desfurare a afacerilor. Internet-ul lrgete cmpul de aciune al comercianilor [Choy1999] i nltur
barierele de intrare n acest cmp, chiar i pentru ntrepriderile mici i mijlocii. El ofer consumatorilor
posibilitatea alegerii celor mai competitive produse de pe piaa global. n noul context Internet-ul s-a
transformat treptat ntr-un mediu de afaceri. Acest lucru a fost posibil datorit crerii i stabilirii unei
legturi ntre telecomunicaii i computere. Unul dintre cele mai importante caracteristici ale acestui
instrument este faptul c informaia circul uor 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 aplicaiilor electronice i
serviciilor Internet. Clientul, n general, ruleaz pe calculatorul utilizatorului i este folosit pentru a
accesa informaii sau alte aplicaii din cadrul reelei Internet. Exemplul de client este browser-ul care
poate ndeplini cu succes urmtoarele sarcini:[site17]

emite cererile i recepioneaz datele care se vor afia;

formateaz documentele pe baza tag-urilor HTML;

afieaz documentele.
Serverul [site17] ruleaz, n general, pe un calculator centralizator sau aflat la distan, furniznd sau oferind
informaii/servicii clienilor. Exemple de servere folosite n prezent sunt: Apache, IIS i etc.
Clientul i serverul se pot gsi pe acelai calculator, n cazul n care se utilizeaz mecanisme de
comunicaie local sau pe calculatore diferite, atunci cnd se folosesc mecanisme de comunicaie n
reea. (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), buctria restaurantului
va fi sistemul de fiiere din care serverul web va alege fiierele cerute de clieni. Aceast comparaie
este posibil deoarece i serverul web i chelnerul au aceeai funcie principal: aceea de a servi.
Un server web este un program care ruleaz pe un calculator, ateapt pe un port o conexiune TCP
venit de la un client i servete acestuia pagini web folosind protocolul HTTP. [site31]
Serverul web este un software, un program de sine stttor, un executabil cu o funcie 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 fiierului index.html aparinnd


subdomeniului ubbcluj ;

http://localhost:8080/exemplu/exemplu1.html: pentru a accesa fiierul exemplu1.html din

directorul exemplu de pe maina local, prin intermediul serverului care ascult pe portul 8080;

https://90.86.22.1/exemplu.php: adresarea securizat a fiierului exemplu.php folosind


IP-ul mainii gazd.
Clientul folosit pentru accesarea serverului web poate fi att un browser ct i un alt program capabil
s se conecteze la un port TCP (de exemplu: telnet, ftp, etc.).
Browserul [site31] este un program folosit la afiarea de coninut web. Acesta se impune s poat s
interpreteze pagini HTML, s afieze imagini i alte forme de coninut multimedia, s foloseasc
referine (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 urmtorilor pai:
[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 mainii pe care ruleaz serverul web prin interogri 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 ctre server specificnd fiierul dorit: GET
/exemplu.html.
7.
Serverul web rspunde trimind fiierul dorit sau o eroare corespunztoare n cazul n care
trimiterea nu este posibil (lipsa fiierului, drepturi de acces insuficiente etc.). Aici conexiunea
dintre client i server se ncheie.
8.
Browser-ul analizeaz fiierul primit i l afieaz corespunztor.
Browser-ele cele mai cunoscute i deci cele mai folosite sunt: Microsoft Internet Explorer, Mozilla,
Netscape, Opera, Lynx, etc.
Rolul serverului web este, aa cum s-a precizat mai spus acela de a servi fiiere. n principal aceste
fiiere sunt n format HTML, PHP, ASP i etc. Serverul web poate s serveasc i alte fiiere: imagini,
sunete, animaii, arhive etc. Fiierele care se pun la dispoziia navigatorului se afl stocate ntr-un
director vzut ca rdcin de ctre web server (exemplu de strucutr de directoare este: /var/www/html/
pentru serverul web Apache). Acest director se specific n configuraia serverului i n el se vor stoca
fiierele i structura de subdirectoare pe care le va folosi serverul web n cutarea unui fiier cerut de
ctre un client. Servirea unui fiier se efectueaz dac fiierul specificat exist, dac este accesibil de
ctre serverul web i dac drepturile de acces nu interzic acest lucru. n cazul nendeplinirii uneia dintre
aceste condiii, serverul va trimite un cod de eroare sau o pagin predefinit care s informeze despre
eroarea aprut. De multe ori, fiierele pe care trebuie s le serveasc depind de alte programe externe
de generare de cod (CGI, ASP, JSP, PHP). Fiierele care necesit astfel de prelucrri vor fi generate de
programul extern, a crui rezultat va fi un fiier HTML nou creat. Acest fiier va fi transferat serverului
web, pe care acesta poate s-l serveasc ca pe orice alt fiier. Acest proces st la baza tuturor site-urilor
dinamice i este absolut necesar pentru pagini al cror coninut necesit modificri n funcie 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. Coninutul dinamic i
prelucrarea logic depesc posibilitile limbajului HTML fapt ce a determinat apariia i dezvoltarea
limbajelor de scripting. Limbajele de scripting incluse ntre tag-urile HML permit lucrul cu variabile,
construcii logice i interogri ale bazelor de date. n plus, scripturile pot fi folosite cu miniaplicaii i
controale.
Limbajele de scripturi [microsoft-site] sunt limbaje simple, concepute pentru operaii speciale i care
sunt asociate unor aplicaii sau funcii. Un script este un program alctuit dintr-un set de instruciuni,
elaborate n cazul nostru printr-un limbaj de scripting, destinat unui utilitar sau a unei aplicaii. Exemple
de astfel de limbaje sunt Perl, PHP,VBScript i JScript. n procesul de construire a paginilor web cu
PHP, se pot folosi att JScript ct 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 aplicaii care folosesc controale ActiveX,
servere de automatizare i miniaplicaii Java.
Principiile de baz ale limbajului VBScript sunt urmtoarele:

pune la dispoziia dezvoltatorilor care folosesc limbajul VB o modalitate de dezvoltare pentru


Web la nivelul serverului i al clientului;

aduce n Web un limbaj de scripting uor de folosit i de neles;

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. Dei, are mai puine posibiliti dect limbajele complete orientate spre obiecte, precum
C++ sau Java, JScript este un instrument mai mult dect suficient pentru scopul n care a fost creat, i
anume, dezvoltarea de aplicaii pentru browsere Web, care folosesc controale ActiveX, miniaplicaii
Java sau servere de automatizare. JScript nu permite scrierea aplicaiilor independente i are posibiliti
limitate pentru citirea sau scrierea fiierelor.
PHP este un limbaj de programare pentru server. Codul PHP poate fi integrat n interiorul codului
HTML. Scriptul PHP va fi apoi procesat de ctre server care va returna un fiier HTML. Acest tip de
interaciune permite executarea unor operaii complexe.
Scriptarea [microsoft-site] este o modalitate relativ simpl de adugare a coninutului dinamic la o
pagin PHP, mult mai simpl dect folosind interfeele CGI (Common Graphic Interface). Scriptarea
ofer posibilitatea de dezvoltare a coninutului dinamic mai multor persoane dect oricare alte
instrumente, protocoale i specificaii 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 pn n acest moment, se observ uor c aplicaiile WEB reprezint att prezentul
ct i viitorul. Acestea funcioneaz pe baza unei arhitecturi client-server aa cum s-a artat n acest
capitol. Aplicaiile 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 arta o pagin WEB.
Majoritatea prelucrrilor efectuate de aplicaiile Web, au loc pe server. O aplicaie specific, numit
server Web, va asigura comunicarea cu browserul. Un server de baze de date relaionale stocheaz
informaiile pe care le va accesa aplicaia. n final mai este nevoie de un limbaj care s intermedieze
interogrile ce apar ntre serverul Web i serverul de baze de date. Acest limbaj va mai fi utilizat i
pentru a executa anumite operaii asupra informaiilor care vin dinspre i spre serverul Web.
2.1.3.4. Server APACHE
Server-ele Web au ca funcionalitate de baz, recepionarea de cereri anonime de la clieni i furnizarea
de informaii ntr-o manier dorit a fi eficient i rapid [Ricart1998]. n fapt, un server Web este un
daemon care accept conexiuni conform protocolului HTTP, rspunznd cererilor recepionate de la
clieni. Ca i alte protocoale utilizate n Internet, protocolul HTTP (HyperText Transfer Protocol) este
un protocol de tip cerere-rspuns, bazat pe TCP/IP, destinat transferurilor informaiilor hipermedia.
Apache folosete 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, ocupnd 53,76% din pia procent care a continuat s
creasc direct proporional cu trecerea anilor i pn n prezent.
Proiectul Apache reprezint dezvoltarea unui soft colaborativ care urmrete cearea i utilizarea unui
Web Server puternic i robust. Proiectul era condus de ctre voluntari din ntreaga lume. Acest grup de
voluntari folosete Internet-ul pentru comunicare, planificarea i dezvoltarea server-ului i a
documentaiei de rigoare. Ei sunt cunoscui sub denumirea de Grupul Apache (Apache Group). n plus,
sute de utilizatori au contribuit cu idei, coduri i documentaie 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 puin de un an de la formare Apache a depit HTTD (HTTP Daemon) [Ricart1998].
Apache furnizeaz o implementare robust a protocolului HTTP. Apache rmne o platform pe baza
creia indivizii i instituiile pot s construiasc sisteme n scopuri experimentale i nu numai. De
obicei, faptul c o companie deine o pia este considerat ca un avantaj economic. Aceasta ar nsemna,
n acest caz, ca respectiva companie s dein toate protocoalele prin care se fac tranzaciile n Internet.
Dar, World Wide Web nu este n proprietatea nimnui, iar aceast proprietate a protocoalelor trebuie
prevenit tocmai din aceast cauz. Existena unei implementri 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 pltete pentru un produs software, nu va dori
dup aceea s-i repare defectele.
Dorina creatorilor Apache, dup cum se specific n site-ul Grupului Apache2 este ca platforma s fie
folosit de ct mai mult lume (companii mari sau mici, instituii de cercetare, coli, Intranet-uri) i s
se acopere ct mai multe domenii de activitate.
Ce se petrece pe server atunci cnd se introduce n bara de adrese a browser-ului
http://www.localhost/proiectphp/Index.php de exemplu. Cnd se acioneaz tasta Enter browser-ul
trimite ctre serverul de HTTP http://localhost/proiectphp, o cerere afieaz coninutul directorului
proiectphp dac se mai adaug i Index.php atunci se afieaz coninutul 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 ctre alte aplicaii i servite
ca HTML browser-ului clientului. n momentul n care se cere o pagin cu extensia .html de pe
server, Apache o servete 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 cnd se
cere o pagin cu extensia .php, serverul Apache va trimite mai departe cererea ctre PHP. PHP preia
cererea, ruleaz codul din program i dac vede c se cer informaii din baza de date MySQL, o
acceseaz, extrage informaiile cerute i construiete 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 att sub Unix ct i sub Windows dup preferinele fiecruia.

http://www.netcraft.com/survey

http://www.apache.org
13

Teme pentru verificarea cunotinelor


1.Internet-ul este definit ca:

reea local de reele ;

ca o ca o colecie larg reea de reele

ca o reuniune de calculatoare pe arie medie de extindere

ca o platform pentru o colecie de calculatoare

2.TCP (Transmission Control Protocol) are ca funcie primar

corectarea erorilor i secvenierea transportului.

transmiterea mesajelor n format electronic pe Internet

transmiterea de pachete de la surs la destinaie

definirea modului prin care vor dialoga clientul i serverul


3.Trsturile limbajului HTML sunt:

Dependena de platform, Structurarea riguroas a documentelor, Hipertext

Independena de platform, restructurarea riguroas a documentelor,Hiperlink

Hipertext, Independena de platform, Structurarea riguroas a documentelor

Interferena cu platforma , Structurarea riguroas a serverelor, Hiperdocument

Rspunsuri
1.Internet-ul este definit ca:

reea local de reele ;

ca o ca o colecie larg reea de reele

ca o reuniune de calculatoare pe arie medie de extindere

ca o platform pentru o colecie de calculatoare

2.TCP (Transmission Control Protocol) are ca funcie primar

corectarea erorilor i secvenierea transportului.

transmiterea mesajelor n format electronic pe Internet

transmiterea de pachete de la surs la destinaie

definirea modului prin care vor dialoga clientul i serverul


3.Trsturile limbajului HTML sunt:

Dependena de platform, Structurarea riguroas a documentelor, Hipertext

Independena de platform, restructurarea riguroas a documentelor,Hiperlink

Hipertext, Independena de platform, Structurarea riguroas a documentelor

Interferena 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 Facultii
[Stanca_04] Stanca L.,Suportul economic al afacerilor electronice, Editura Presa Universitar Clujean,
2004 pag:5-20, Biblioteca Facultii
[Buraga_05] Buraga S,Proiectarea site-urilor WEB-Design i funcionalitate, Editura Polirom, 2005,
Biblioteca facultii, pag.57-90

14

MODULUL 2 PREZENTAREA ELEMETELOR DE BAZ ALE LIMBAJULUI HTML


2.1. Scopul i obiectivele modulului
n cadrul activitilor de proiectrii i realizrii siteurilor i portalurilor Web un rol decisiv l joac
limbajul HTML. Dup descoperierea elementelor de baz a modului de funcionare a spaiului
electronic se impune prezentarea n cadrul acestui modul a noiunilor de baz i avanstate ale limbajului
HTML. Conceptele de baz abordate n cadrul acestui modul sunt:

Trsturilor 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. nsuirea tag-urilor de formatare la nivel de text
5. nsuirea tag-urilor Hyperlink, liste
6. Prezentarea tag-uri de definire a diverselor obiecte
Recomandri privind studiul:
1. Studierea conceptelor prezentate n vederea utilizrii lor pe parcursul celorlalte capitole.
2. Asimilarea conceptelor de baz legate de dezvoltarea proiectelor web statice care stau la
baza dezvoltrii proiectelor web dinamice prezentate n capitolele urmtoare.
Rezultate ateptate:
1. Studenii trebuie s fie capabili s i prezinte cunotinele teoretice de natur coerent i
consistent.
2. Studenii 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 noiunile de baz a mediului virtual, a limbajelor de
scripting pe parte de serveri nu n ultimul rnd a principiului de funcionare a modelului client-server.
Pe baza acestor noiuni se vor creiona toate cellate noiuni prezentate n modulele viitoare.
2.3. Schema logic a modulului
Acest modul este compus din apte subcapitole: primul subcapitol are ca scop evidenierea conceptului
de baz ale limbajului HTML iar n cellate ase subcapitole sunt prezentatea pe rnd elemnte de limbaj
HTML.

15

2.4.Coninutul informaional detaliat


2.4.1. Elemente de limbaj HTML
Web-ul este rodul ntlnirii 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 concordanei documentelor pe reea, fiecare document primind
echivalentul unui numr de telefon nregistrat oficial ntr-un anuar. Trecerea de la un document la altul
se va face prin accesarea legturilor de tip hypertext. Tim Berners Lee este creatorul limbajului HTML,
care permite scrierea unui text n cadrul cruia se insereaz legturi ascunse ctre alte pagini, care
cuprind la rndul lor legturi ctre alte pagini. Aceste legturi sunt ntr-un numr extrem de mare, fiind
asemuite cu o pnz de paianjen. Hypertext Transfer Protocol (HTTP) este resursa care permite
ncrcarea paginilor solicitate de utilizator pe ecranul calculatorului su. Apariia acestui protocol este
considerat de majoritatea specialitilor n domeniu, ca o etap decisiv n procesul descentralizrii
cunoaterii, proces iniiat de apariia Internet-ului. HTTP a fcut posibil vizitarea site-urilor i
navigarea prin spaiul virtual.
n literatura de specialitate exist o serie de definiii pentru site-uri Web dintre care s-a ales cea care se
potrivete cel mai bine temei prezentei abordri, aceasta fiind:
Pagina Web-Document din World Wide Web este alctuit dintr-un fiier HTML i din fiierele
asociate pentru grafic i scripturi, aflate ntr-un anumit director de la o anumit main (fiind astfel
identificabile printr-o adres URL). De obicei, o pagin Web conine legturi la alte pagini Web.
[Microsoft1999] Primul document dintr-un site web se numete pagina de baz ~ index sau home page.
Ea servete ca punct de plecare ntr-un sistem hipertext [Microsoft1999] sau, cu alte cuvinte, ea se
deschide cnd 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 cruia se descrie formatul primar n
care documentele sunt distribuite i vizualizate pe Web. Trsturile limbajului HTML sunt:[site2]
1.
Independena de platform care nseamn c un document poate fi afiat n mod
asemntor pe computere diferite (deci cu font, grafic i culori diferite), lucru vital pentru un public
int att 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 cuvnt, fraz, imagine sau alt element al documentului vzut
de ctre un client poate face referin la un alt document, ceea ce simplific mult navigarea ntre
multiplele pagini web sau chiar n interiorul aceleiai pagini web.
Deci, HTML definete structura i modul de afiare a informaiei ntr-o pagin web, prin intermediul
unor marcaje i a atributelor acestora.
Un document HTML apare ca un text ce conine o serie de construcii delimitate de simbolurile < i
>. Aceste construcii specific indicaii speciale adresate navigatorului (browser-ului) Web. Orice
construcie care apare ntre simbolurile < i > o vom numi marcaj, tag sau instruciune.
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 seciuni, i anume:
1.
seciunea de antet a documentului delimitat de tag-urile: <HEAD>...</HEAD>,
care cuprinde o colecie de informaii despre document care nu sunt afiate n browser;
2.
seciunea de corp a documentului delimitat de tag-urile: <BODY>...</BODY>,
care cuprinde coninutul propriu-zis al paginii HTML, adic ceea ce se va afia n browser.
Deci, un document HTML are urmtoarea structur:
<HTML>
<HEAD>....</HEAD>
<BODY>....</BODY>
</HTML>
Tag-ul <BODY> are rolul de a delimita partea principal a unui document HTML i poate conine
atributele de formatare a acestuia
Tag-urile care pot fi folosite n interiorul seciunii antet sunt:
<TITLE>text</TITLE> ~ se folosete pentru a da un titlu documentului HTML. Acesta va fi afiat n
bara de titlu a browser-ului.
Tag-ul <META> este folosit pentru a oferi mai multe informaii 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 proprietile care
controleaz nfiarea 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 legturile joac rolul principal, deoarece aceastea dau posibilitatea vizitatorului
de a naviga printre paginile acestuia. Legturile sunt introduse ntr-o pagin web prin intermediul tagului <A></A> numit anchor [site2][site33].
O legtur se poate utiliza n urmtoarele trei moduri:
I. pentru a crea o legtur ctre un alt document prin intermediul atributului HREF.
II. Tag-ul <A> se poate folosi pentru lansarea n execuie a unei aplicaii de expediere a
mesajelor electronice, serviciul Internet mailto: urmat de adresa e-mail.
III. pentru a crea o legtur ctre o etichet din cadrul aceluiai document, prin utilizarea
atributului NAME. Primul pas n cadrul acestei aciuni este alegerea zonei din pagina Web spre care se
dorete s se sar la activarea legturii 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 apariie 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 folosete pentru a defini o list neordonat n cadrul creia
elementele sunt introduse prin marcajul <LI> </LI>.
3. Tag-urile <DL> </DL> se folosesc pentru introducerea unui set de definiii, referine sau
indexuri. Fiecare termen al listei este iniiat de eticheta <DT> (definition term), iar
semnificaia asociat este iniiat de eticheta <DD> (definition description). Fiecare definiie
ncepe pe un rnd 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 dorete a fi un
exemplu de utilizare a tuturor tipurilor de liste nvate, fapt pentru care coninutul acesteia s-a creat n
conformitate cu scopul propus. Pagina care se creaz se numete Exemplul5.html i are urmtorul 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 arta 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>. Numrul de celule definite reprezint numrul de coloane ale tabelului. ntr-o celul se
pot introduce text, imagini, liste, paragrafe, formulare, linii orizontale, tabele, etc.. Tag-ul
<TH>...</TH> se folosete pentru a defini prima linie a tabelei, aa numita linie antet. Tag-ul
<CAPTION>...</CAPTION> se folosete pentru a da un titlu tabelului
Imaginile [site4] [KasaPop1998] se definesc cu tag-ul <IMG> care nu prezint tag de sfrit. Acest tag
prezint atributul src care se folosete pentru a afia o imagine ntr-un site web. Valoarea acestui atribut
este adresa imaginii care se dorete s se afieze n site-ul Web. Imaginile se salveaz n mod
obligatoriu cu extensiile GIF i JPEG.
Formularele[KasaPop1998] se definesc cu tag-urile <FORM>...</FORM> crora li se ataeaz
parametri specifici care definesc metodele de transmitere i tratare a datelor. Un formular poate conine
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 afiare [site5].
Atributele tag-ului <FORM> sunt:[site6]
1.
METHOD care poate lua una din valorile GET sau POST. n majoritatea cazurilor cnd se
dorete s se transmit informaiile 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 parial, care specific o cale relativ spre pagina cerut (de
exemplu intregistrare.php). ntre tag-urile <FORM>... </FORM>se pot introduce urmtoarele
obiecte:
1.
Casete cu text [site6] [site2] [KasaPop1998] se folosesc pentru a obine diverse informaii.
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 informaii i se definete astfel:
<INPUT TYPE="RESET" VALUE="RESETARE">
3.
Suprafeele
cu
text
[site6]
[KasaPop1998]
se
creaz
cu
tag-urile
<TEXTAREA>...<TEXTAREA>.
Textul introdus ntre cele dou tag-uri va aprea 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 prezentnd
aceleai atribute cu deosebirea c atributul TYPE ia valoarea Radio, atributul Name devine obligatoriu,
ca n exemplul urmtor:
<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 afiarea n cadrul aceleiai ferestre a browser-ului a mai
multor documente HTML n acelai timp. Fiecare pagin Web deschis n fereastra browser-ului se
numete frame, iar fiecare frame se comport independent fa de celelalte frame-uri.
<FRAMESET> are rolul de a aduga 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
suprafaa de pe ecran pe care fiecare linie/coloan o va ocupa. [site7]
Tagul <FRAME> definete un singur cadru dintr-un <FRAMESET>. Acest tag nu are etichet de
sfrit, adic </FRAME>. Sintaxa acestui tag este:
<FRAME [name=][src=][behavior][appearance]>
n continuare se vor crea trei pagini web care vor conine pe rnd trei tipurile de frame-uri care se pot
crea ca n exemplele urmtoare:
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 mprit 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 mprit 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 mprit pe orizontal i vertical ca n Figura 2.5.
23

Figura 2.5. Pagina web Exemplul11.html


Pe baza noiunilor prezentate n cadrul acestei pi 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
Modificrile HTML5: [Mark Pilgrim]
1. se folosete doar o simpl form pt DOCTYPE astfel:
<!DOCTYPE html>.
Intenionat nu conine nici o precizare pentru a putea fi folosit n versiunile viitoare de HTML.
2. se rein 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 mbuntete 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 implicai 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 uoar 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 coninut, poate fi un tag spre alt coninut asemntor. Elementul <aside>
este destinat utilizrii pentru a marca lateralele.(arhivele pe acelai coninut). Elementul <section> este
o seciune generic a documentului sau a aplicaiei, cum este de exemplu un capitol. Elementul < article
> este o seciune independent a unui document, pagin sau site.Acest ultim element este potrivit pentru
link-uri spre coninutul unor articole de tiri de pe blog, posturi pe forumuri sau pentru comentarii
individuale.
Funcii noi ale lui HTML5: [Mark Pilgrim]
1.
elementul canvas pt desen
2.
elementele video i audio pentru redarea fiierelor de muzic
3.
suport mai bun pentru stocri 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 atta timp ct o fila sau fereastr a browser-ului
rmne 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 excepia 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 cnd se repornete browser-ul web i /
sau calculatorul).
-memorarea datelor fr limit de timp(datele sunt disponibile o zi, o sptmn,sau ani.)
n HTML5, datele nu se transmit pentru fiecare cerere la server, ele sunt trimise doar atunci cnd sunt
cerute. Caracteristici att locale i sesiune de depozitare sunt acceptate n urmtoarele browsere web:
Internet Explorer 8 +, Firefox 3.5 +, Safari 4.0 +, Chrome si Opera 2.0 + 10.5 +.

25

Teme pentru verificarea cunotinelor


1.
2.
3.

Care este structura unui document HTML?


Care este tag-ul care permite inserarea unei imagini ntr-un document HTML?
Creai o pagin care s fie mprit n dou cadrane verticale n primul cadran s existe o list
ordonat iar n al doilea cadran s existe o imagine.
4.
Creai o pagin care s conin un tabel de forma:

5. Creai o pagin HTML care s conin un tabel de forma:

6. Creai o pagin HTML care s conin un formular de forma:

7.

Creai o pagin HTML care s conin o list ordonat identic cu lista prezentat n imaginea
urmtoare:

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

Rspunsuri
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 Facultii
2.[Stanca_04] Stanca L.,Suportul economic al afacerilor electronice, Editura Presa Universitar
Clujean, 2004, Biblioteca Facultii
3.[Darnell_01]R.Darnell, Totul despre HTML 4, Editura Teora, 2001, Biblioteca catedrei 4.[Mark
Pilgrim] Mark Pilgrim, HTML5 ghidul nceptorului, Editura 3D MEDIA COMMUNICATIONS,2011.
27

MODULUL 3. MYSQL SERVER


3.1.Scopul i obiectivele modulului
Scopul acestui modul este de a prezenta toate noiunile teoretice i practice necesare pentru nvarea
principiilor de baz n lucrul cu bazele de date. Conceptele de baz prezentate n cadrul prezentului
modul sunt:

Modalitatea de funcionare a unui server de baze de date

Baza de date-definiie i proiectare

Tipuri de date MySQL

Operaii 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 funcionare a unui server de baze de date
3. Cunoaterea tipurilor de date MySQL
4. Crearea unei baze de date
5. nsuirea operaiilor clasice ce se execut asupra unei baze de date n MySQL.
Recomandri privind studiul:
1. Studierea conceptelor prezentate n vederea utilizrii lor pe parcursul celorlalte capitole.
2. Asimilarea conceptelor de baz legate de conceperea, proiectarea i implementarea
bazelor de date care stau la baza dezvoltrii proiectelor web dinamice prezentate n
capitolele urmtoare
Rezultate ateptate:
1. Studenii trebuie s fie capabili s i prezinte cunotinele teoretice de natur coerent i
consistent.
2. Studenii 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 att noiuni legate de mediul virtual i modul de
funcionare al acestuia ct 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. Coninutul informaional detaliat


3.4.1. MySQL concepte de baz, caracterisitci
MySQL este cel mai popular sistem de management pentru baze de date relaionale deoarece este opensource. MySQL Server a fost creat pentru a lucra cu baze de date mai rapid dect soluiile deja existente
la ora actual pe pia [Graeme-site].
Facilitile oferite de MySQL sunt variate, dintre care se vor preciza urmtoarele [BuBois2001]:

posibilitatea accesului concurent la date de ctre un numr nelimitat de utilizatori;

capacitatea de a gestiona pn la 50000000 de nregistrri i chiar mai multe;

execuia foarte rapid a comenzilor, poate chiar cea mai rapid din cele existente pe pia;

sistem uor i eficient de gestiune a drepturilor utilizatorilor;

este gratuit, fapt ce a atras extinderea fr precedent a folosirii acestui server de baze de date.

MySQL este un sistem de gestiune a bazelor de date. Pentru a aduga, insera i procesa datele
memorate pe un calculator este nevoie de un astfel de sistem de gestiune a datelor. Avnd n vedere c
toate calculatoarele sunt destinate pentru memorarea informaiilor, managementul bazelor de date joac
un rol decisiv, att n gestiunea datelor ca activitate de sine stttoare, ct i n cadrul aplicaiilor ample
[BuBois2001].
MySQL este un sistem multiuser (permite s fie folosit concomitent de mai muli utilizatori) i
multithread (prezint mai multe fire de execuie). Utilizeaz SQL, limbajul standard de interogare a
bazelor de date.[WellingThomson2005]
MySQL este un sistem de gestiune a bazelor de date relaionale. Tabelele sunt conectate prin relaii
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 alctuit dintr-un server SQL
multithread care are faciliti pentru mai muli utilizatori, mai multe programe i biblioteci client,
instrumente de administrare i un numr mare de interfee de programare. Avnd n vedere c MySQL
suport o gam variat de produse software, exist posibilitatea ca multe din limbajele de programare
deja folosite de anumii utilizatori s suporte deja interfaa cu acest produs [BuBois2001].
Orice main care dorete s proceseze interogri 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 primete pe un port particular (3306) eventualele cereri de conexiune
29

ale unui client care trimite cereri ctre o baz de date via MySQLd. Acest client poate fi un script n
PHP care, graie modelului DBI, poate trimite o cerere ctre baza de date prin intermediul serverului
MySQL, sau chiar clientului command-line MySQL. Clientul MySQL este o interfa interactiv pentru
trimiterea de comenzi ctre 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 experiena n
folosirea sa, acumulat de-a lungul anilor i-a spus cuvntul. MySQL ofer astzi un set complet i util
de funcii. 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 funcionare a unui server de baze de date pentru Web
Funcionarea unui server de baze de date pentru Web, n cazul nostru MySQL, implic existena a dou
elemente: un browser Web i un server. ntre aceste dou elemente se impune s existe un canal de
comunicare. Serverul de Web funcioneaz n moduri diferite n urmtoarele situaii:
[WellingThomson2005]

n cazul n care server-ul lucreaz cu pagini de web statice, un browser Web (clientul)
formuleaz cererea ctre server, iar serverul trimite napoi un rspuns.

n cazul n care server-ul lucreaz cu pagini web dinamice care preiau datele dintr-o baz de date
i le afieaz se realizeaz urmtorii pai: [WellingThomson2005]

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

server-ul web recepioneaz cererea i transfer fiierul ctre motorul PHP, n cazul nostru,
pentru prelucrare;

motorul php ncepe analiza paginii. n interiorul unei pagini web dinamice exist o comand
care realizeaz legtura la baza de date i execut interogrile pe care le trimite serverului

MySql;

serverul MySQL recepioneaz interogarea bazei de date i o prelucreaz, iar apoi trimite
rezultatele motorului PHP;

motorul PHP afieaz 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 afieaz rezultatul dorit de
acesta.
3.4.3. Tipuri de date SQL
Crearea unei baze de date relaionale presupune crearea unuia sau mai multor tabele legate ntre ele. n
procesul de creare a unui tabel are loc stabilirea numelor cmpurilor acestuia ct i a tipurilor de date
prin care unui utilizator i se indic ce date are voie s introduc n acestea. n funcie de tipurile de date
alese pentru fiecare coloan a tabelei se aloc pe disc un spaiu de memorie. n aceast situaie este
indicat o cunoatere aprofundat a acestora, deoarece acest fapt va permite creatorului tabelei s aleag
tipul de date potrivit pentru fiecare coloan a tabelei astfel nct aceasta s ocupe un spaiu de memorie
optim pe disc i n acelai timp s rspund nevoilor utilizatorilor acesteia. De exemplu, dac se dorete
s se defineasc un cmp Vrsta n cadrul unei tabele Elevi este bine ca acesta s fie de tipul
TINYINT deoarece acesta se definete pe un interval numeric ce cuprinde valoarea numeric care poate
fi introdus ntr-un astfel de cmp. Un individ poate tri n intervalul (0,100) aa cum s-a observat pn
n momentul de fa. Pentru fiecare nregistrare introdus n tabela Elevi pentru cmpul Vrsta se va
aloca 1 byte de memorie.
Tipurile de date folosite n procesul de creare a tabelelor din cadrul bazelor de date MySql, spaiul 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

TINYINT

ntregi de dimensiune foarte


mic
cu semn
fr semn
ntregi de dimensiune mic
cu semn
fr semn

SMALLINT

MEDIUMINT

Valori

ntreg de lungime medie


cu semn
fr semn

INT sau INTEGER

ntreg de lungime normal.


cu semn

BIGINT

fr semn
ntreg de dimensiune mare.
cu semn

1
[-128;127]
[0,255]
2
[-32768,32767]
[0; 65535]
3
[-8388608; 8388607]
[ 0;16777215]
4
[-2147483648;2147483647]
[0; 4294967295]
8
[-9223372036854775808;
9223372036854775807]
[0;18446744073709551615]
[1.175494351E-38
3.402823466E+38]

fr semn

Numr n virgul mobil care nu


poate fi fr semn avnd precizie
simpl sau dubl. Precizia poate
merge pn la 24 de zecimale
REAL sau DOUBLE
Numr n virgul mobil, de
[2.2250738585072014E-308,
dubl precizie care nu poate fi
1.7976931348623157E+308]
fr semn. Precizia poate merge
pn la 53 de zecimale.
NUMERIC sau
Numr n virgula mobil care nu [2.2250738585072014E-308,
DECIMAL
poate fi fr semn.
1.7976931348623157E+308]
Tabel 3.1. Tipuri de date numerice [site9][site10][site11]
FLOAT

Bytes

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


Format
Tipul de dat
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- cmpul de acest tip poate conine o cantitate variabil de informaie 2^16-1 (64k-1).
Cutarea ntr-un cmp de acest tip este case sensitive, adic se face disticie ntre litere mari i cele
mici;
31


TEXT- asemntor cu BLOB dar nu este case sensitive;

VARCHAR similat cu tipul TEXT cu deosebirea c pentru un cmp de acest tip se poate
specifica
numrul 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,...). Numrul maxim de valori pe care l poate avea este 65535.
Valoare implicit este NULL
SET(valoare1,valoare2,...). Numrul 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 urmtoarele 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- definiie, proiectare
O baz de date reprezint o modalitate de stocare a unor informaii (date) pe un suport extern, cu
posibilitatea regsirii acestora. Cel mai rspndit model de baz de date este numit entitate-relaie n
care datele sunt memorate n tabele legate ntre ele. [site12] Pentru a putea stabili legturi 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 alctuite din cmpuri, adic coloane care sunt unice i din linii care
conin valorile introduse n cmpuri. Liniile unei tabele se numesc nregistrri 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 urmtoarelor principii:[site13]
1. identificarea scopului bazei de date;
2. identificarea i mprirea informaiilor n tabele corespunztoare;
3. definirea cheilor primare astfel nct acestea s poat determina n mod unic o nregistrare;
4. identificarea cheilor secundare;
5. stabilirea legturilor ntre tabele;
6. eliminarea datelor redundante.
ntre tabelele unei baze de date, dup stabilirea cheilor primare, respectiv secundare se pot defini trei
tipuri de legturi, i anume:[site11]
1.
unu-la-unu fiecrei valori din cmpul, care ndeplinete rolul de cheie primar, n tabela
printe i corespunde o singur nregistrare n tabela la care este legat;
2.
una-la-mai-multe fiecrei valori din cmpul care ndeplinete rolul de cheie primar, n tabela
printe, i corespund mai multe nregistrri 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 cmpul care ndeplinete rolul de cheie primar,
n tabela printe i corespund mai multe nregistrri din tabela la care este legat.

3.4.6. Operaii asupra bazelor de date n MySQL


O regul de baz n MySql este c majoritatea comenzilor tastate n monitorul MySQL de clieni pentru
a fi transmise serverului se termin cu ;. Caracterul ; indic server-ului de baze de date MySql c sa terminat introducerea unei comenzi i deci o poate procesa i afia rezultatul.
Crearea unei aplicaii Web dinamice, n marea majoritate a lor, implic crearea unei baze de date
alctuit 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 dorete 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 aciunii de tastare a comenzii de creare a bazei de date, magazin, s-a afiat 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 afia un mesaj de eroare.
Vizualizarea bazelor de date existente pe server-ul Mysql de ctre 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 propoziia i c se poate trece la procesarea
cererii. Rezultatul procesrii comenzii de mai sus este afiarea 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 urmtor n procesul de creare a unei baze de date l constituie crearea tabelelor ce o compun.
Comanda de crearea a unui tabel are urmtoarea sintax:
CREATE TABLE nume_tabel (nume_cmp tip_cmp);
n procesul de creare a unui tabel activitile sunt:
1. denumirea cmpurilor;
2. alegerea unui tip de date potrivit pentru fiecare cmp;
3. definirea atributelor pentru fiecare cmp n parte;
4. stabilirea coloanei care va juca rolul de cheie primar sau secundar cu ajutorul creia se va
stabili legtura ctre alte tabele ale bazei de date. Indexii
pentru o tabel se pot crea astfel:
1. fie adugnd la sfritul instruciunii 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 nregistrri se face prin comanda INSERT care are urmtoarea sintax
[Chip2/2003]:
INSERT INTO nume_tabel (cmp1, cmp2, cmp3) values (valoare1, valoare2, valoare3);
Comanda SELECT se folosete pentru a afia toate nregistrrile dintr-o tabel astfel:
mysql>SELECT * FROM nume_tabel;
Comanda SELECT se folosete pentru a afia toate nregistrrile dintr-o tabel astfel:
mysql>SELECT * FROM nume_tabel;

Figura 3.2. nregistrrile din cadrul tabelei Produse


Modificarea coninutului unei nregistrri se face utiliznd comanda UPDATE care are
sintaxa[Chip2/2003]
UPDATE nume_tabel SET nume_coloan1=`noua valoare a coloanei 1`,
nume_coloan2=`noua valoare a coloanei 2` WHERE condiii
tergerea nregistrrilor dintr-o tabel se face prin comanda DELETE care are urmtorea sintax
[Chip2/2003]:
DELETE FROM nume_tabel WHERE condiii;
n cadrul prezentului capitol au fost expuse comenzi MySQL cu ajutorul crora 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 vnzarea de componente de calculatoare, componente de
calculatoare i nu numai.

34

Test de verificare a cunotinelor:


Ce este MySQL? Definii acest concept.
Enumerai cteva faciliti oferite de MySQL.
Enumerai principalele motive pentru folosirea pe scar larg a MySQL.
Explicai mecanismul de funcionare a unui server Web.
Enumerai tipurile de date numerice cunoscute. Dai un exemplu de asociere a unui tip de date
pentru un cmp al unei tabel.
6. Enumerai tipurile de date calendaristice cunoscute.
7. Enumerai grupurile n care se mpart de irurile de caractere?
8. Definii conceptul de baz de date.
9. Definii conceptul de relaie ntre tabele.
10. Enumerai i explicai tipurile de relaii ce se pot stabili ntre dou sau mai multe tabele ale unei
baze de date.
11. Creai o baza de date numit Facultate. Baza de date s fie alctuit din dou tabele una numit
Studeni i cealalt numit Examene. Relaia ntre cele dou tabele s fie de unu la mai muli
definit prin cmpul IDStud
Structura tabelei Studenti
IDStud
Nume
Prenume Adresa
An
Serie
Grupa
1.
2.
3.
4.
5.

Structura tabelei Examene:


IDStud

Materie

Tip_Exam Nota

a. S se insereze 5 nregistrri n fiecare tabel. b.S


se vizualizeze structura tabelelor.
c.S se vizualizeze nregistrrile fiecrei tabele.
d.S se modifice coninutul celei de a doua nregistrare din fiecare tabel. e.S
se adauge nc trei nregistrri la fiecare tabel.
f.S se tearg toate nregistrrile din tabela Examene pentru care Nota este 7.
1. Funciile mysql_connect(); i mysql_select_db(); trebuie

apelate ntotdeauna cnd se termin lucrul cu bazele de date

apelate ntotdeauna cnd se transmit datele dintr-o pagin php ntr-o alt pagin php

apelate ntotdeauna cnd se ncepe lucrul cu bazele de date

apelate ntotdeauna cnd se ncepe crearea tabelelor html

2.Modificarea datelor unei nregistrri dintr-o tabel a unei baze de date se face cu comanda :

INSERT

UPDATE

SELECT

DELETE

Rspunsuri

1. Funciile mysql_connect(); i mysql_select_db(); trebuie

apelate ntotdeauna cnd se termin lucrul cu bazele de date

apelate ntotdeauna cnd se transmit datele dintr-o pagin php ntr-o alt pagin php

apelate ntotdeauna cnd se ncepe lucrul cu bazele de date


35

apelate ntotdeauna cnd se ncepe crearea tabelelor html

2.Modificarea datelor unei nregistrri 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 noiunile 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 :

noiuni fundamentale de funcionarea ale lui PHP

Accesul la paginile PHP i crearea acestora

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

Funcii

Fiiere

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 funcionare a unui pagini PHP
3. Cunoaterea structurilor de control i a principiilor de funcionare a acestora
4. nsuirea modului de lucru cu baze de date n MySQL din cadrul unei pagini PHP
5. Crearea de pagini dinamice complexe
Recomandri privind studiul:
1. Studierea conceptelor prezentate n vederea utilizrii 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 ateptate:
1. Studenii trebuie s fie capabili s i prezinte cunotinele teoretice de natur coerent i
consistent.
2. Studenii 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 noiuni legate de mediul virtual i modul de funcionare al
acestuia, elemente de limbaj HTML.i modul de concepere, proiectare i implementarea a bazelor de
date n MySQL. Pe baza acestor cunotine n cadrul acestui modul se pot prezenta noiunile 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
funcionare PHP

Elemente de limbaj
PHP

HTML+PHP+MYSQL

Site-uri web dinamice


Portaluri Web

Fig.4.3.1 Structura modulului 3


4.4. Coninutul informaional detaliat
4.4.1 Limbajului PHP~noiuni 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. Aplicaiile PHP sunt uor de configurat pentru exploatare. PHP asigur timpi de rspuns
competitivi la rularea aplicaiilor Web, asigurnd n acelai timp securitatea informaiilor i transparena
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 relaionale 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 comunitii on-line, acesta
fiind i motivul creterii explozive a numrului de site-uri bazate pe acest limbaj.
Limbajul PHP ofer urmtoarele faciliti [Welling2001]:
1. manipularea coninutului paginilor web;
2. transmiterea header-elor HTTP pentru autentificare;
3. setarea cookie-urilor;
4. redirecionarea utilizatorilor;
5. asigurarea spargerii (paser) fiierelor XML;
6. crearea i manipularea imaginilor, animaiilor i a PDF-urilor;
7. conectarea la un server de e-mail.
38

4.4.2. Principiul de funcionare a limbajului PHP


Modul de funcionare a limbajului PHP este urmtorul: browser-ul trimite ctre server-ul Web o cerere
HTTP pentru un fiier PHP. Server-ul recunoate c fiierul cerut conine cod PHP, n consecin va lansa
parser-ul PHP, care va primi la intrare fiierul respectiv. Parser-ul va identifica secvenele PHP, care n
cadrul codului HTML sunt cuprinse ntre marcajele <? i ?> i le va interpreta. Tot ce nu este cod PHP
este trimis spre ieirea standard fr nici o prelucrare. Codul PHP poate scrie la rndul su n ieirea
standard prin comenzile prestabilite cum ar fi echo sau print. n final serverul Web interceptez ieirea
standard a parser-ului i transfer totul browser-ului care a cerut pagina [McCarty2002].
PHP, i ntr-o anumit msur i alte limbaje Web, prezint urmtoarele caracteristici [Welling2001]:

este interpretativ;

execuia este rapid deoarece interpretorul este inclus n server-ul Web, prin urmare nu se
cheltuiesc resurse cu configurarea;

este bogat n faciliti, coninnd numeroase funcii utile;

are o sintax simpl, variabilele nu trebuie declarate, tipul acestora


se stabilete la
iniializarea lor cu o valoare i n plus numele de funcii sunt intuitive.
Crearea paginilor PHP se reduce la editarea unui fiier PHP care se poate realiza n orice editor de texte:
Notepad, editoare PHP, etc. i acesta poate conine:

text;

tag-uri HTML sau XML;

comenzi i instruciuni PHP;

comenzi i instruciuni MySQL.


Pe parcursul dezvoltrii fiierului, n fereastra editorului de texte Notepad se va aciona comanda Save a
meniului EDIT dup fiecare modificare adus fiierului, apoi Refresh n browser pentru reflectarea
modificrilor astfel efectuate (folosirea butoanelor Back i Forward din browser trebuie s fie urmat
de asemenea de Refresh). Cu condiia ca fiierele s fie salvate corect, iar URL-urile locale s fie scrise
corect, pentru fiecare pagin PHP la care se lucreaz simultan trebuie deschis cte 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 dorete ca paginile unui site Web s se pstreze ntr-un subdirector creat n rdcina 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 opiunea View source a acestuia, i se observ c se afieaz doar ieirile scriptului (text, cod
HTML, etc.), nu i codul PHP care genereaz ieirile.

4.4.2.1. Accesul la paginile PHP i afiarea 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 afiarea rezultatelor unei funcii, a valorilor unei
variabile, a elementelor unui tablou, a mesajelor text, a valorilor introduse de utilizator n cmpurile
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 folosete comenzile print i echo pentru
afiarea n browser a unui pagini web statice ce va conine dou mesaje text.
Exemplu:
<html>
<head>
<title>Exemplu de afisare
variabile</title> </head>
<body>
<?php

valorilor

39

unei

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 cnd fiierul de mai sus este solicitat de un utilizator, server-ul Web va recunoate fiierul
ca fiind o pagin PHP datorit faptului c are extensia .php. nainte de a trimite fiierul ctre browser-ul
utilizatorului server-ul Web va prelucra scriptul din fiier. n cazul exemplului anterior, scriptul din
fiier 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 ieirea PHP care ajunge
la browser, poate fi vizualizat cu comanda Source a meniului View, iar rezultatul va fi:
<html><head><title>Exemplu de afisare
variabile</title> </head><body>
Comanda de afisare a datelor pe ecran <br>
Limbajul PHP</body></html>

valorilor

unei

4.4.3. Variabilele PHP


Variabilele PHP nu trebuie declarate ci sunt create automat n momentul primei utilizri. n acest
moment li se definete tipul de date. Aceast facilitate permite programatorului posibilitatea dezvoltrii
rapide a unor aplicaii complexe. Odat ce o variabil a fost creat ea poate fi folosit oriunde n
program, cu excepia funciilor, unde trebuie inclus explicit n zona local de alocare prin funcia
global. Sintaxa unei variabile PHP este:
$nume_variabil=valoare;
unde valoare poate fi de orice tip.
n continuare se prezint o pagin PHP care conine 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 afieaz pe ecran textul
//Rezultatul adunarii este:urmat
// de valoare variabilei $aduna adic 2
</body> </html>
Fiierul de mai sus a fost salvat n directorul htdocs a server-ului Apache cu numele Varibile1.php.
n cadrul acestui fiier variabila $a a fost iniializat cu 1, deci aceasta este de tip numeric. Variabila
$aduna a primit valoarea variabilei $a la care s-a adunat valoare 1. Instruciunea print (la fel se putea
folosi instruciunea echo) s-a folosit n cadrul fiierului de mai sus pentru a afia n browser textul
Rezultatul adunrii este: urmat de valoarea variabilei $aduna adic 2.

40

Comentariile se realizeaz cu semnul // n cazul n care se comenteaz pe un singur rnd. n cazul n


care se dorete inserarea n codul surs a unui cometariu pe mai multe rnduri se folosete 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 adevr TRUE
sau FALSE. Acest tip se folosete, n general, pentru a face diferite verificri 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 afiate pe ecran, n
caz contrar se va returna FALSE i date despre acesta nu se vor putea afia n browser.
5.Array [WellingThomson2005] [Chip2/2003] se utilizeaz pentru extragerea mai multor date de
acelai tip. Un array poate fi considerat ca fiind un tablou n care fiecrei valori i corespunde un
numr, adic un indice (o poziie).
Variabilele superglobale sunt: [WellingThomson2005]
o
$_SERVER este un tablou ce conine variabile de mediu ale serverului;
o
$_GET este un tablou ce conine variabile transferate scriptului prin metoda GET;
o
$_POST este un tablou ce conine variabile transferate scriptului prin metoda POST;
o
$_COOKIE este un tablou ce conine blocuri cookie;
o
$_FILES este un tablou ce conine variabile legate de ncrcarea fiierelor;
o
$_REQUEST este un tablou ce conine toate variabilele introduse de utilizator, inclusiv
coninutul intrrilor din $_GET, $_POST i $_COOKIE;
o
$_SESSION este un tablou ce conine 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 informaii 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 fiierului php accesat.
O constant are un tip i o valoare. Att tipul, ct i valoare, sunt determinate de caracterele care intr
n componena constantei. Valoare unei constante nu poate fi schimbat n timpul execuiei 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 execuiei 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 funcia define().

41

4. 4.5. OPERATORI
Interpretorul PHP permite folosirea a nou tipuri diferite de operatori. Acetia opereaz asupra unor
expresii (una, doua sau trei) i furnizeaz ca rezultat o alt expresie care este rezultatul operaiei
corespunztoare.[site14]
Operatorii aritmetici acioneaz asupra a doi sau mai muli operanzi. Acetia sunt: [site14]
[WellingThomson2005] [Chip2/2003]

adunare ('+');

scdere ('-');

nmulire ('*');

mprire ('/');

restul mpririi ('%').

Operatorii relaionali se folosesc n procesul de compararea a dou valori, variabile, constante, etc.
Expresiile n care acetia apar au ca rezultat valori logice (true sau false). Aceti 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 definete prin semnul == i se folosete pentru a compara dou
valori, expresii, etc.
3. Operatorul diferit este definit prin semnul != i se folosete n acelai 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 condiional se definete prin semnul '?'. Acest operator are sintaxa:
expresie1?expresie2:expresie3
Operatorul condiional 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 . Operaia de atribuire a concatenrii este definit prin semnul .=
Operatorii logici se folosesc n cazul n care se lucreaz cu valori de adevr. Aceti 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 iniial de adevr e FALSE
i FALSE dac valoarea iniial este TRUE.
3.
Operatorul sau logic este || (OR) returneaz TRUE dac oricare din valorile verificate e TRUE.
Returneaz FALSE doar dac amndou valorile verificate sunt FALSE.
4.
Operatorul i logic este: && (AND) returneaz FALSE dac oricare dintre valori este FALSE
(sau dac amndou sunt FALSE) i n caz contrar returneaz TRUE
4.4.6. Structurile de control
n cadrul unei pagini web care folosete scripturi PHP fr s existe o delimitare clar, impus de PHP
pentru zona de declaraii i zona de instruciuni aa cum se ntmpl n alte limbaje de programare cum
42

ar fi, de exemplu, activitatea de declarare a variabilelor i constantelor se reduce la iniialializarea 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
instruciunilor. Ordinea n care se execut instruciunile n cadrul scripturilor definete aa numita
structur de control a acestora.
Structurile de control complexe prezente n PHP sunt:

structura alternativ care se realizeaz cu ajutorul instruciunii IF;

structura repetitiv condiionat anterior care se realizeaz cu ajutorul instruciunilor WHILE,


FOR i FOREACH;

structura repetitiv condiionat posterior care se realizeaz cu ajutorul instruciunii DOWHILE;

structura selectiv care se realizeaz cu ajutorul instruciunii SWICH.

instruciuni folosite n cadrul ciclurilor care ofer o flexibilitatea mare n programarea n PHP
sunt:
CONTINUE, BREAK i RETURN.
Instruciunea expresie se obine scriind punct i virgul dup o expresie. Deci, formatul acestei
instruciuni este: [Negrescu2000]
expresie;
n cazul n care componenta instruciunii expresie este o expresie de atribuire aceast instruciune se
transform n instruciune de atribuire [Negrescu2000],
Instruciunea break; se folosete cnd se dorete s se ntrerup forat execuia unui ciclu i trecerea la
urmtoarea instruciune existent imediat dup acesta. Aceast instruciune poate fi folosit n cadrul
instruciunilor WHILE, DO-WHILE, FOR, FOREACH i SWITCH.
Instruciunea continue. se poate utiliza numai n corpul unui ciclu, avnd ca efect abandonarea iteraiei
curente. Sintaxa ei este:[Negrescu2000] [WellingThomson2005]
continue;
Efectul acestei instruciuni este:[Negrescu2000;]
1.
n corpul instruciunilor WHILE, DO-WHILE, se ntrerupe iteraia curent i se trece la
evaluarea condiiei care stabilete continuarea sau terminarea ciclului.
2.
n corpul instruciunilor FOR, FOREACH, se ntrerupe iteraia curent i se trece la executarea
pasului de reiniializare.
Instruciunea return;[Negrescu2000] [WellingThomson2005] este o instruciune de revenire dintr-o
funcie cu urmtoarele dou formate:
a. return;
b. return $expresie;
Primul format al acestei instruciuni se folosete n corpul unei funcii care nu returneaz nici o valoare,
dar la ntlnirea acestei instruciuni se iese forat din ea.
Cel de al doilea format se folosete n cadrul unei funcii care ntoarce o valoare la ieirea din aceasta
$expresie deinnd valoarea ntoars de funcie.
Instruciunea exit; [WellingThomson2005] are rolul de a opri execuia ntregului script PHP. Aceast
instruciune se folosete n depistarea i corectarea erorilor din cadrul unui script PHP. Instruciunea
declare [WellingThomson2005] se folosete la stabilirea directivelor de executare/rulare a unui cod
surs. Pn n prezent a fost implementat o singur directiv de executare, numit ticks care se
stabilete astfel: ticks=n (se permite rularea n cadrul unui cod surs a unei funcii dup fiecare n linii de
cod) Sintaxa acestei instruciuni este:
declare(directiv){ set instruciuni;}
Instruciunile include(); i require(); sunt echivalente i au rolul de a insera coninutul unui fiier n
cadrul unui scipt PHP n locul acestora. Diferena dintre cele dou instruciuni este c n caz de eroare
require(); va produse o eroare fatal, n timp ce construcia include(); va afia un mesaj de eroare.

43

4.4.7. Tablouri
n majoritatea limbajelor prin tablou se nelege o mulime de date de acelai tip cu acceai structur.
Tablourile sunt alctuite din elemente i indici. n PHP i nu numai, tipurile cele mai utilizate de
tablouri sunt: tablouri unidimensionale i bidimensionale. n cadrul unui tablou activitile care se pot
realiza sunt:
1.Crearea tablourilor n PHP se realizeaz prin atribuirea explicit a unei valori fiecrui elemet al
acestuia, cu funciile array();. Sintaxa funciei array(); este:[site21]
array( [index=>] value, ... );
unde
index poate fi de tipul integer sau
string; valoare poate fi de orice tip.
Funcia array(); permite crearea n dou moduri a tablourilor i anume:
a)Primul mod de creare a unui tablou cu funcia array const n omiterea parametrului opional numit
indice, existent n sintaxa acesteia, rezultatul fiind urmtorul:
<?php $oamenii_la_masa = array(Ionel,Maria,Viorel) ;?>
Funcia array(); este de fapt o construcie a limbajului PHP la fel ca echo. n exemplul de mai sus s-a
creat un tablou numit $oamenii_la_masa care conine 3 elemente de tipul string.
b) Al doilea mod de creare a unui tablou cu funcia array(); const n folosirea parametrului opional
numit indice, existent n sintaxa acesteia, rezultatul fiind urmtorul:
<?php $oamenii_la_masa = array (33=>Ionel, 2=>Maria, 7=>Viorel ) ;?>
Deci, indici tabloului nu vor fi 0,1 i 2 ci cei precizai de cel care creaz tabloul. n exemplul anterior
indicii tabloului vor fi 33, 2, 7.
Tablourile n PHP mai pot fi create fr utilizarea funciei array(); prin atribuirea explicit de valori
fiecrui element al acestuia, ca n urmtoarul 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. ?>
Aciunea de creare unui tablou n PHP se mai poate efectua cu ajutorul funciei range();. Aceast
funcie are rolul de a crea un tablou sortat cresctor 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 urmtoarea sintax:
$nume_tablou[indice]=valoare ;//indice poate fi att de tipul ntreg
// ct i de tipul string
Sau $nume_tablou[]=valoare;
n cazul tabloului creat n exemplele anterioare dac se dorete s se modifice valoarea existent pe
poziia 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);
// afieaz datele din tabel mpreun cu indicii acestora ?>

3.tergerea[site21] unui tablou se face cu ajutorul funciei unset();. Dac se dorete 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 afia doar primele 2 elemente ale tabloului ?>
4. Copierea datelor din tabloul $oamenii_la_masa n tabloul $oamenii_la_masa1 se face utiliznd
operatorul de atribuire astfel:
<?php $oamenii_la_masa1 =$oamenii_la_masa;?>
5.Afiarea datelor dintr-un tablou se face folosind construcia echo, numele tabloului i indicii pe care sau memorat elementele tabloului ca n exemplul urmtor :
< ?php $oamenii_la_masa = array(Ionel,Maria,Viorel)
echo "$oamenii_la_masa[0] $oamenii_la_masa[1] $oamenii_la_masa[2]"; ?>
Afiarea 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]";?>
Afiarea datelor se mai poate realiza cu ciclul FOREACH, destinat n principal prelucrilor datelor unui
tablou, a crei sintax i mod de execuie a fost prezentat anterior. Acest ciclu va avea nevoie de o
variabil n care se vor depune pe rnd fiecare element al unui tablou i pe care o va afia, 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 funciei 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 formnd 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. Afiarea i parcurgerea elementelor unui tablou multidimensional
Afiarea elementelor unui tablou multidimensional att n PHP ct i n alte limbaje de programare
necesit folosirea a dou ciluri FOR cu ajutorul crora s se parcurg att linile ct i coloanele acestuia.
Aceast aciune se poate realiza ca n exemplul urmtor :
<?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 folosii n prelucarea datelor din tablouri


PHP prezint operatori care acioneaz att asupra variabilelor care, au fost prezentate n paginile
anterioare ct i asupra tablourilor. Operatorii care acioneaz asupra tablourilor sunt:
[WellingThomson2005]

operatorul reuniune care este reprezentat prin +. Efectul acestui operator este c se adaug la
sfritul primului tablou elementele tabloului de pe a doua poziie eliminndu-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 aceleai elemente i n aceeai ordine, altfel returneaz FALSE.

operatorul diferit reprezentat ! = sau <> returneaz TRUE dac tablourile conin elemente
diferite, altfel returneaz FALSE.

operatorul ! = = returneaz TRUE dac tablourile care sunt comparate nu conin aceleai
elemente pe aceleai poziii, altfel returneaz FALSE.
4.4.8. Funcii
O funcie este un ansamblu alctuit din tipuri de date, variabile, constante i instruciuni scrise n
46

vederea unei anumite prelucrri(calcule, citiri, scrieri) i care pot fi rulate doar dac sunt apelate dintrun script PHP. Sintaxa unei funcii este:
nume_funcie( list parametrilor formali)
{
corp funcie;
}
unde:
list de parametrilor formali este de forma: $nume_parametru1,
$nume_parametru2,...,$nume_parametru n
Observaie. O funcie poate s prezinte o list vid de parametri
formali. corp funcie este alctuit din dou pri :

partea de declaraii n care se precizeaz variabilele locale;

partea de instruciuni care conine instruciunile pe care le execut funcia respectiv.


O funcie poate fi definit oriunde n cadrul unui script. n interiorul unei funcii pot s apar orice
secven valid de cod care include definirea unor alte funcii. O funcie poate fi apelat nainte de
definirea acesteia ntr-un script. Argumentele unei funcii trebuie separate prin virgul i, implicit,
acestea sunt transmise prin valoare. Pentru ca funcia s returneze un rezultat se folosete construcia
return; care primete ca parametru o expresie care reprezint valoarea ntoars de funcie. n momentul
n care este ntlnit construcia return;, execuia funciei se ncheie. [ScarlatSoroiu]
4.4.8.1. Funcii cu numr variabil de parametri
n PHP se pot defini funcii care au un numr nedeterminat de parametri. Aceste funcii se definesc la
fel ca cele prezentate anterior, dar pentru a putea accesa parametri se vor folosi urmtoarele funcii
predefinite: [ScarlatSoroiu]

func_num_args(); - returneaz numrul parametrilor funciei care a apelat-o. Dac aceast


funcie este apelat din exteriorul unei funcii definite de utilizator se va genera un mesaj de avertizare.

func_get_arg(arg_num);- returneaz valoarea parametrului care se afl pe poziia arg_num n


lista de parametri; primul parametru are numrul de ordine 0; dac este apelat din exteriorul unei
funcii definite de utilizator se va genera un mesaj de avertizare;

func_get_args();- returneaz un tablou unidimensional care conine valorile parametrilor pe


care funcia apelant i-a primit; dac aceast funcie este apelat din exteriorul unei funcii definite de
utilizator se va genera un mesaj de avertizare. n continuare se vor prezenta exemple de utilizare a
acestor funcii.
4.4.8.2. Funcii predefinite
Funciile predefinite se mpart n urmtoarele categorii:
1. Funciile 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 numrul x, ridicat la puterea specificata n;

sqrt(x) returneaz rdcina ptrat a lui x.


2. Funciile 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 spaiile albe dintr-un ir primit ca
parametru.
3.
string ltrim(string sir)[site19] are rolul de a elimina spaiile albe din stnga irului primit ca
parametru.
4.
string rtrim(string sir)[site19] are rolul de a elimina spaiile albe din dreapta irului primit ca
parametru.
5.
int count(string sir)[site19] are rolul de a numra elementele unui ir primit ca parametru i
returneaz numrul 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 subir, din
irul primit ca parametru ncepnd cu poziia n i avnd lungimea m, n caz c m este specificat. Din
cauz c parametrul m este specificat n sintaxa funciei ntre paranteze ptrate nseamn c este
opional, deci poate lipsi i atunci se afieaz toate caracterele irului sir primit ce parametru ncepnd
cu poziia n.
8.
string htmlspecialchars (string sir, [, int citare]) [McCatry2002] convertete toate caracterele
speciale primite ca parametru n entiti HTML
3.
1.
2.
3.
4.

Funciile calendaristice sunt: [McCatry2002][ [Chip2/2003]


strftime(a) returneaz data curent, formatat conform coninutului parametrului a;
date() returneaz ora, luna, anul precum i alte elemente ale datei curente n funcie de context ;
now() returneaz data i ora curent.
hour(t) returneaz ora din cadrul parametrului. Valorile parametrului pot fi n intervalul [0-23].

4.4.9. FIIERE
Prelucrarea datelor dintr-un fiier presupune realizarea urmtoarelor aciuni:
1.
deschiderea/crearea fiierului;
2.
scrierea sau citirea sau adugarea sau citire i scriere, etc de date n fiier;
3.
nchiderea fiierului.
n cele ce urmeaz se prezit cteva funciiPHP de prelucrarea a fiierelor aflate pe parte de server.
Funcia fopen(); are rolul de a deschide fiierul primit ca parametru. Sintaxa acestei funcii este:
[McCatry2002]
fopen(nume_fiier, mod_deschidere);
unde:
nume_fiier conine fie numele, fie calea fizic, fie adresa fiierului care se dorete s se deschid.
mod_deschidere este nlocuit cu una din valorile de mai jos care reprezint modul n care va fi deschis
fiierul specificat n nume_fiier:
r are rolul de a deschide fiierul doar pentru citire;
r+ are rolul de a deschide fiierul n citire i scriere;
w are rolul de a deschide fiierul pentru scriere;

w+ are rolul de a deschide fiierul pentru citire i scriere, iar n cazul n care acesta nu exist l
creaz;
a are rolul de a deschide fiierul pentru a aduga la sfritul acestuia informaii; a+ are rolul de a
deschide fiierul pentru a aduga la sfritul acestuia informaii. n cazul n care acestea nu
exist nu l creaz;
t are rolul de a deschide fiierul n mod text ;
b are rolul de a deschide fiierul n mod binar.
Aciunea de deschidere a unui fiier n scriere, adic introducerea de date n acesta se realizeaz cu
funciile: fwrite(); care definete scrierea n fiier sau fputs(); care definete scrierea unui ir n fiier.
Sintaxa funciei fwrite(); este: [WellingThomson2005]
int fwrite(resource handle, string sir[,int lungime]);
unde:
resource handle conine valoarea returnat de funcia fopen(); sir este irul ce se va scrie n fiier;
lungime este un parametru opional care indic numrul maxim de octei care pot fi scrii n fiier. Orice
fiier deschis n vederea prelucrrii datelor acestuia se nchide cu funcia fclose(); dup efectuarea
48

tuturor aciunilor dorite de programator. Sintaxa funciei este: fclose(resource handler);


Funcia fclose(); va returna TRUE n caz de succes i FALSE n caz de insucces. n general aceast
funcie se execut cu succes. Deci, nu se impune cu strictee tratarea erorilor care pot aprea la
nchiderea fiierelor cu aceast funcie.
4.4.9.1. Citirea dintr-un fiier
Odat fiierul creat acesta poate fi deschis n citire. n literatura de specialitate [WellingThomson2005]
[McCatry2002] [site19] exist mai multe funcii care permit citirea datelor dintr-un fiier creat, una
dintre cele mai des folosite funcii fiind fread();. Sintaxa funciei fread(); este:
string fread(resource handler, int lungime);
unde:
resource handle conine valoarea returnat de funcia fopen();
lungime numrul maxim de octei citii sau dac fiierul este mai mic dect valoarea precizat, citirea se
va face pn la sfritul acestuia. Existena parametrului lungime n sintaxa acestei funcii implic o
citire arbitrar a coninutului unui fiier.
4.4.9.2. Afiarea coninutului unui fiier
PHP prezint funcii care au rolul de a citi i afia pe ecran coninutul unui fiier precizat. Aceste funcii
sunt:
1. readfile(); care deschide fiierul i afieaz n browser coninutul acestuia dup care l nchide.
Funcia returneaz un ntreg care reprezint numrul de octei citii din fiierul precizat ca parametru.
Sintaxa acestei funcii este:
int readfile(string nume_fis, [int calea,[ resource context]]);
unde
nume_fis este numele fiierului care se deschide;
calea este un parametru opional reprezentnd calea spre fiierul care se dorete deschis i citit;
resource context se folosete n cazul n care se deschide un fiier aflat la distan folosind protocolale
HTTP sau FTP.
2. fpassthru(); este o funcie care necesit mai nti deschiderea explicit a fiierului cu funcia fopen(),
deoarece aceast funcie primete ca parametru pointerul la fiier returnat de funcie funcia fopen();.
Rezultatul execuiei funciei fpassthru(); este afiarea n browser a coninutului fiierului de la poziia
pointerului pn la sfritul acestuia, aciune urmat de nchiderea automat a fiierului fr a mai fi
nevoie s se invoce explicit funcia fclose();. Sintaxa funciei este:
fpassthru(resource handler);
unde
resource handle conine valoarea returnat de funcia fopen();
Aceast funcie returneaz TRUE dac operaia de citire a fost efectuat cu succes i FALSE n caz
contrar.
4.4.9.3. tergere fiier
Funcia unlink(); are rolul de a terge fiierul primit ca parametru. Aceast funcie returneaz TRUE
dac tergerea fiierului s-a putut realiza, n caz contrar returneaz FALSE. Sintaxa funciei este:
49

unlink(nume_fis);
unde
nume_fis poate fi numele fiierului sau ntreaga cale pn la fiierul dorit.
Deschiderea, prelucrarea datelor, nchiderea, tergerea unui fiier nu poate fi realizat dac acesta nu
exist. n PHP funcia file_exists(); verific existena unui fiier. Aceast funcie returneaz TRUE dac
numele fiierului primit ca parametru exist i FALSE n caz contrar. Sintaxa acestei funcii este:
file_exists(nume_fis);
unde
nume_fis poate fi numele fiierului sau ntreaga cale pn la fiierul dorit.
4.4.10. Stocarea datelor n sistemul utilizatorului cu PHP
Utilizarea unui web site de ctre un utilizator presupune realizarea unor aciuni succesive care trebuie
memorate pentru a oferi acestuia informaia de care are nevoie, dar protocolul HTTP nu ofer o astfel
de facilitate fapt pentru care a aprut noiunea de cookie respectiv sesiune cu ajutorul crora se pot
pstra aceste informaii pe calculatorul utilizatorului.
4.4.10.1. Sesiunile
Ultimele versiuni de PHP, adic versiunea a patra i urmtoarele, ofer suport inclus pentru sesiuni.
Scopul lor de baz este de a reine informaiile care trebuie transmise de la o pagin la alta ntr-o
aplicaie 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 informaiile trebuie s se apeleze funcia predefinit de deschidere,
creare sau reiniializare a sesiunii. Sintaxa acestei funcii este: [WellingThomson2005] [site27]
[McCatry2002]
session_start();
Acest funcie creaz i pornete o sesiune n cazul n care nu exist niciuna dar n cazul n care aceasta
exist o reiniializeaz. Informaiile din sesiune sunt pstrate pe server n directorul pentru fiiere
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 (pn 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 prsete 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 funciei unset();. Sintaxa acestei comenzi este:
[WellingThomson2005] [site27] [McCatry2002]
void unset(mixed variabila);
Efectul funciei 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
Preferinele utilizatorului sunt nite parametri care permit unei pagini Web s fie ajustat conform unei
dorine specifice. Se subliniaz c noiunea de cookie este utilizat generic ca bloc de date. n prezenta
abordare se va utiliza aceast noiune n sensul uzual din WWW [Microsoft1999]: ...bloc de date pe
care un server Web l stocheaz ntr-un sistem client. Cnd utilizatorul revine la site-ul Web respectiv,
50

browser-ul trimite serverului o copie a prjiturii. Prjiturile sunt utilizate pentru a identifica utilizatorii,
pentru a instrui server-ul s transmit o versiune personalizat a paginii Web cerute, pentru a prezenta
informaii referitoare la contul utilizatorului i pentru operaii 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 conine 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 funcia setcookie();. Aceast funcie 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 apelnd funcia setcookie(); cu numele blocului care se dorete a fi
ters i se atribuie parametrului expires o dat din trecut, ca n urmtorul 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 browserele lor. PHP tocmai din acest considerent folosete metoda dual bloc cookie/URL.
4.4.11. PHP i formulare HTML
Web-ul a dobndit un plus de interactivitate prin utilizarea programelor create, folosind interfae 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 att a informaiilor standard coninute n antetul HTTP al cererii ct i
informaii n alte dou moduri i anume:

printr-un formular <FORM> ;


ca un ir de cereri adugate la sfritul URL-ului.

51

Figura 4.4.11. Model Client-Server care folosete PHP adaptare dup[LalaniChandak1997]


Formularele HTML, afiate ntr-un browser, numite i intrri 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 funcie de scopul programului
rulat de server acesta poate genera un rspuns de tip HTML, pe care serverul l trimite ctre browser cu
scopul de al afia utilizatorului. Mecanismul de funcionare a prelucrrii 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 informaiile pe care utilizatorul le introduce, n cmpurile
formularului. Server-ul prelucreaz i transmite datele primite din formular: fie unei alte pagini web
statice care le afieaz 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 ntlnesc trei metode de baz pentru colectarea informaiei din formulare HTML, i
anume :

un fiier .html static conine un formular care trimite valorile sale ctre un fiier php.

un fiier .php poate s creeze un formular care s trimit informaia ctre un alt fiier .php.

un fiier .php poate s creeze un formular care s trimit informaia chiar ctre fiierul php care
conine formularul.
Datele dintr-un formular existent ntr-o pagin Web sunt transferate ctre server utiliznd numele
fiierului php ca valoare pentru atributul ACTION i preciznd una din metodele GET sau POST
ca valoare pentru atributul METHOD a tag-ului <FORM>. Elemetele formularului au asociate cte un
nume cruia 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 nite array-uri care
conin toate datele transmise din formular cu una din cele dou metode.
4.4.11.2. Accesul la bazele de date relaionale din pagini PHP
PHP include o bibliotec de funcii care furnizeaz o interfa cu sistemul MySQL. Folosind aceste
funcii, un programator PHP poate obine accesul la datele rezidente ntr-o baz de date MySQL i le
poate modifica.
Majoritatea interaciunilor cu o baz de date se desfoar dup un model secvenial 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 funcia mysql_connect( ), a crei sintax este urmtoarea[PHP2-site]:
mysql_connect (nume_gazd, nume_utilizator, parol);
2. Conectarea cu succes la baza de date permite realizarea de interogri SQL, urmate de obinerea
52

accesului la rezultatele interogrilor i apoi se execut operaii nonSQL:


mysql_query($interogare);.
Funcia mysql_query(); execut interogarea primit ca parametru i returneaz TRUE dac interogarea
a fost efectuat cu succes i FALSE n caz contrar. Aceast funcie se atribuie unei variabile n care se
depune valoarea returnat de aceasta numit identificator de resurse.
Funcia mysql_num_rows(); se folosete n cazul n care se dorete s se determine numrul de rnduri
returnate n urma interogrii unei tabele.
Funcia mysql_fetch_array(); care permite s se acceseze valorile din tabelul returnat de interogare n
mai multe moduri i anume:
1.
2.

folosind un array numeric;


folosind un array asociativ;

3.

folosind un array mixt.

Aciunea de nchidere a conexiunii cu serverul MySQL se realizeaz invocnd funcia: mysql_close( );.
Adugarea de noi nregistrri 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 urmtorilor pai :
1. conectarea la baza de date i efectuarea unui SELECT asupra tabelei n funcie de o condiie
pentru a se obine nregistrarea care se dorete a fi modificat;
2. crearea unui formular n care s se afieze datele nregistrrii care urmeaz a fi modificate;
3. aciunea de modificare efectiv care se va realiza cu ajutorul comenzii UPDATE a crei sintax
este :[site30]
UPDATE
nume_tabel
SET
coloana_1='$valoare_1',
coloana_n='$valoare_n' WHERE condiie;

coloana_2=

'$valoare_2',...,

tergerea datelor dintr-o tabel a unei baze de date presupune realizarea urmtorilor pai:
1. conectarea la baza de date i efectuarea unui SELECT asupra tabelei n funcie de o condiie pentru a
se obine nregistrarea care se dorete tears ;
2. aciunea de tergere efectiv care se va realiza cu ajutorul comenzii DELETE a crei sintax este
:[site30]
DELETE FROM nume_tabel WHERE condiie;
O ultim aciune ce se impune a fi executat ntr-un web site este cea de cutare. Aceast aciune se
realizeaz cu ajutorul instruciunilor SQL i a comenzii LIKE. Comanda LIKE are rolul de a cuta 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 folosete n cazul n care
se dorete o cutare pe un spectru mai larg adic, se furnizeaz ca rezultat al cutrii toate construciile
care conin n componen textul care noete acest caracter neinndu-se cont de numrul de
caractere. Liniua de subliniere se folosete pentru a indica o potrivire a caracterului de nlocuire cu un
singur caracter.
n cadrul acestui capitol au fost prezentate elemente teoretice nsoite 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
oricrui web site dinamic complex.

54

Teme pentru verificarea cunotinelor


Definii noiunea de limbaj PHP.
Enumerai facilitile oferite de limbajul PHP.
Enumerai caracteristicile limbajului PHP.
Descriei principiul de funcionare a limbajului PHP.
Care este efectul comenzii echo();?
Exist diferene ntre comanda echo(); i print();? Dac da enumeraile?
Ce sunt variabilele PHP? Scriei sintaxa i exemplificai.
Definii noiunea de constant PHP?
Enumerai i explicai 2 funcii PHP predefinite.
Care este efectul funcie strcmp()?
Care este efectul funcie substr()?
Ce aciuni se pot realiza asupra fiierelor n PHP.
Care este mecanismul de creare a unei sesiuni? Exemplificai.
Care este mecanismul de creare a unei cookies? Exemplificai.
Creai un tablou bidimensional.
Creai un fiier .html static care s conin un formular care trimite valorile din cadrul lui
spre un fiier php.
17. Creai un fiier .php care s creeze un formular prin care s se trimit informaia ctre un
alt fiier
.php.
18. Creai un fiier .php care s conin un formular care s trimit informaia ctre el nsui.
19. Creai un fiier php care s conin un formular cu ajutorul cruia s se culeag date
despre Studeni i s permit inserarea acestor date n tabela cu structura:
IDStud
Nume
Prenume
Adresa
An
Serie
Grupa
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.

Creai un fiier php care s conin un formular cu ajutorul cruia s se modifice datele din
cadrul tabelei Studeni a crei structur a fost descris anterior.
1.Privilegiile care se pot acorda utilizatorilor sunt n MySQL sunt:

tergerea serverului;

adugarea modificarea i tergerea datelor dintr-un fiier existent ntr-un director

crearea i tergerea unei baze de date;

crearea i tergerea unei baze de cunotine;

2. Indexii pentru o tabel n MySql se pot crea astfel:

INDEX(nume_coloan_index); adugat la sfritul instruciunii CREATE TABLE...

INDEX(nume_coloan_index); adugat la sfritul instruciunii CREATE DATABASE...

INDEX(nume_coloan_index); adugat la sfritul instruciunii SELECT

INDEX(nume_coloan_index); adugat la sfritul comenzii GRANT.

3.Comanda INSERT are rolul:

de a afia nregistrrile unei tabele a unei baze de date;

de a terge nregistrrile unei tabele a unei baze de

date;
de a modifica nregistrri ntr-o tabel dintr-o baza de

date

de a aduga nregistrri 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 rspuns

5.Comanda SHOW COLUMNS are ca efect:

afiarea nregistrrilor dintr-o tabel

afiarea legturilor dintre dou sau mai multe tabele

afiarea structurii unei baze de date


afiarea structurii unei tabele

6.n cadrul unui fiier PHP codul PHP se delimiteaz de cel HTML cu marcajele

< ? .... ?>

< !... !>

//

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

tergerea serverului;

adugarea modificarea i tergerea datelor dintr-un fiier existent ntr-un director

crearea i tergerea unei baze de date;

crearea i tergerea unei baze de cunotine;

2. Indexii pentru o tabel n MySql se pot crea astfel:

INDEX(nume_coloan_index); adugat la sfritul instruciunii CREATE TABLE...

INDEX(nume_coloan_index); adugat la sfritul instruciunii CREATE DATABASE...

INDEX(nume_coloan_index); adugat la sfritul instruciunii SELECT

INDEX(nume_coloan_index); adugat la sfritul comenzii GRANT.

3.Comanda INSERT are rolul:

de a afia nregistrrile unei tabele a unei baze de date;

de a terge nregistrrile unei tabele a unei baze de date;

de a modifica nregistrri ntr-o tabel dintr-o baza de date

de a aduga nregistrri 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 rspuns

5.Comanda SHOW COLUMNS are ca efect:

afiarea nregistrrilor dintr-o tabel

afiarea legturilor dintre dou sau mai multe tabele

afiarea structurii unei baze de date

afiarea structurii unei tabele

6.n cadrul unui fiier 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, Comerul 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, Romnia i afacerile electronice,Revista e-Finance supliment Piaa
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. [Bininan2001]Petru Bininan, Eficiena economic a investiiilor, Editura Presa Univiversitar.
Clujean., Cluj-Napoca, 2001;
16. [Bolun1997] I.Bolun, Iniiere n reele Internet, ASEM Chiinu, 1997;
17. [Boian1997]Boian, F. M.,Programarea distribuit n Internet metode i aplicaii, Ed.
MicroInformatica, 1997;
18. [BuBois2001]P.BuBois, MySQL, Editura: Teora, 2001;
19. [Bucur2002]Cristina-Mihaela Bucur, Comer Electronic, Editura ASE, Bucureti, 2002;
20. [Butuc2002]Iulia Butuc-Cherchez, Forester Research prezice o explozie a comerului electronic
european, Ziarul Financiar, 27 August 2002;
21. [Buraga2002] Sabin Buraga, Proiectarea siteurilor Web, Editura Polirom,2002
22. [brourC.E.1999]Your European Gateway to Electronic Commerce, brour editat la iniiativa
Comisiei Europene, D.G.Intreprinderi october 1999 i tradus de Euro Info Centre Bucureti;
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, Semntura Electronic va face legea n Comerul 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, Bucureti, 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 gndului, Editura Amaltea, Bucureti, 2000;
46. [Grlacu2000] Dan Grlacu, Evoluia 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, Bucureti, 2002;
49. [Graeme-site] Merral Graeme, PHP/MySQL Tutorial, www. hotwired.com /webmonkey
/databases;
50. [Grtzer1979]G.Grtzer, 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 Bucureti;
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 aplicaii n economie,
Editura tiinific, 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, Evoluia i tendinele comerului electronic romnesc, Revista Internet
Magazin,Nr.6/2003, p:40-42;
65. [LalaniChandak1997]S. Lalani, R. Chandak, Biblioteca programatorului ACTIVE X, Editura
All, 1997,Bucureti;
66. [Mateescu2003] Bogdan Mateescu, Proiect Enlarge, Revista Internet-Magazin, Nr.6/2003,p.1014;
67. [Marc1998]Bacchetta Marc, Le commerce electronique et le role de LOMC, GENEVE :
ORGANISATION MONDIALE DU COMMERCE (OMC), 1998 - ISBN: 9287021988;
68. [McCatry2002]B. McCarty, PHP4, Editura Teora,Bucureti, 2002;
69. [MSDN] MSDN;
70. [Muntean2002] Mihaela Muntean, Diana Mogoanu, Reflecii privind educaia viitorului,
Informatic Economic i Societatea Informaional, Workshop, Timioara 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. [Nstase2002]Nstase Floarea, Nstase Pavel, Tehnologia aplicaiilor web XML-DOM-ASP, Ed.
Economic, Bucureti, 2002,392 pag., ISBN 973-590-644-9
73. [Negrescu2000] L.Negrescu, Limbajele C i C++ pentru nceptori~ Limbajul C, Volum1,Partea
1, Editura Microinformatica,2000,Cluj-Napoca, ISBN 973-9443-82-8;
74. [Nichi1990].I. Nichi, Contribuii la conceperea, proiectarea i implementarea bazelor de date,
Universitatea Babe-Bolyai, 1990;
75. [Nichi1992] .I. Nichi, Some remarks about using heterogeneas structures in the computer
theory, Revue danalyse numerique at de theorie de lapproximation, 21,1992,2, p.147-152;
76. [Nichi1993].I. Nichi, Consideraii asupra sistemelor informaionale pentru management i
afaceri, Studia Universitatis Babe-Bolyai seria Oeconomic,37,1993,1-2,p.115-120;
77. [Nichi1997].I. Nichi, 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. [AvramNichi1999.1]Rodica Avram-Nichi, 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. [AvramNichi1999.2] R. Avram-Nichi., 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. [Nichi1999.3] S.I.Nichi, Esenial n comunicarea pe INTERNET i World Wide Web, Editura
Risoprint, 1999, ISBN 973-9464-22-x
81. [Nichi2003.1]R. Avram-Nichi., .I. Nichi, N.Ghioiu, Baze de date i programarea
calculatoarelor, Preprint, Cluj-Napoca, 2003;
82. [Nichi2004]Rodica Avram-Nichi, 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 Ghioiu, Sabin Goron,
Lucia Rusu, Dan Sitar-Tut, Liana Stanca, Iniiere n informatica economic i de afaceri, Bazele
informaticii i Tehnologie informaional, Editura RISOPRINT,Cluj-Napoca 2003,ISBN:973656-540-9;
84. [AvramNitchi2006] Arba Raluca, Avram-Nitchi Rodica , Chi Sebastian, Coro Robert,
Lacurezeanu Ramona, Mocean Loredana , Petruel Rzvan,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 pli, PC Report Nr 83 / August
1999;
87. [Paul1999] Charles Paul, Des espaces publicitaires remuneres non plus a laudience mais a
lefficacite, in La Tribune,decembrie 1999;
88. [Peypoch1998] R.J. Peypoch, The Case for Electronic Business Communities, Business Horizons,
60

15 Septembrie 1998.
89. [Plea2000]D. Plea, Domotica, Editura A.S.E., Bucureti, 2000, p.176-180;
90. [Pop2004]Ioana Pop, Curs Birotic, Editura AcademicPres, Cluj-Napoca 2004, ISBN:973-795043-7;
91. [PopStanca2004] Ioana Pop, Rodica Sobolu, Liana Stanca, Informatic ~lucrri practice~,
Editura AcademicPres, Cluj-Napoca 2004, ISBN:973-7950-59-3;
92. [Radu2002] I. Radu, D. Vldeanu, Fundamentarea deciziilor complexe prin tehnici de simulare,
93. Editura Economic, 2002;
94. [Ru1998]Gheorghe Ru, Modele financiar-tranzacionale n comerul electronic, PC
World Romnia, nr.6/1998,p.47-53;
95. [Robu2002]Nicolae Robu,etc., Internet ~Infrastructur i servicii~, Editura Politehic, Timioara
2002;
96. [Ricart1998]M.A. Ricart, Apache Server Survival Guide, 1998;
97. [Roca2000] I.Gh.Roca, N.pu i alii, Internet & Internet, Concepte i aplicaii, Editura
Economic, 2000, ISBN 973-590-398-9;
98. [Sabu2003]Mircea Sabu, Soluii pentru probleme economice, NET Report Nr 125 / Februarie
2003, www.agora.ro/netreport125/or1.shtml;
98. [ScarlatSoroiu]Mihai
Scoraru,
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, SpringerVerlag, New-York, 1981;
100.
[Stanca2004.1]Liana Stanca, Abordarea e-mall-urilor cu ajutorul algebrelor eterogene,
revista Studia Universitatis Babe-Bolyai, Oeconomia, XLIX, numrul 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:973610-320-X;
103.
[Stanca2004.4]Liana Stanca, Virtual Shops-a Necessity, revista Informatic Economic,
Volumul VIII, Numrul 2 (30) /2004, editura INFOREC, Bucureti, 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 Internaional Integrarea European i
competitivitatea economic, Chiinu, 23-24 septembrie 2004, ISBN:9975-75-260-8, p:230-233;
105.
[Stanca-teza]Purdea Liana-Maria (cs. Stanca), Contribuii 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 shops 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:978973-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, Bucureti 2000
111.
[mbulea2002]Leon mbulea, Baze de Date, Centru de nvare continu i nvmnt
la distan, Facultatea de Matematic i Informatic, Cluj-Napoca, 2002;
112.
[Vasiu2001] Ioana Vasiu, Criminalitatea Informatic, Editura Nemira, Bucureti, 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, Bucureti, 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 aplicaiilor Web cu PHP i
MySQL, Editura Teora, 2005, Bucureti, 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, Documantaie 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 opional

1.
2.

[Boian_97] Boian, F. M, Programarea distribuit n Internet metode i aplicaii Ed.


MicroInformatica, 1997; Biblioteca facultii
[BuBois_01]P.BuBois, MySQL, Editura: Teora, 2001, Biblioteca facultii
62

[Darnell_01]R.Darnell, Totul despre HTML 4, Editura Teora, 2001, Biblioteca facultii


[Welling_05]L. Welling, L. Thomson, Dezvoltarea aplicaiilor Web cu PHP i MySQL,
Editura Teora, 2005, Bucureti, 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; reea Internet
7.
[site2]www.MySql.com, MySql Reference Manual for version 4.0.0-alpha; reea Internet
8.
[site3]www.php.net, PHP Manual, Edited by Stig Saether Bakken; reea Internet
9.
[site4]www.phpfreaks.com, PHP and MySQL Web Site Building Tutorial; reea Internet
10.
[site5]http://interfete-web.clubcisco.ro/site/index.php/glosar-de-termeni
11.
[site6]http://www.designlabs.ro/glosar-internet.php
3.
4.

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 ctre o adres (i nu ctre un anumit fiier de la acea adres), n mod implicit
Link text [site5]- O poriune pe care se poate da click pentru a accesa un link, reprezentat prin
text. Se mai numete i "anchor text" de la tag-ul HTML <a> (anchor).
META tags[site5] - Tag-uri HTML localizate n seciunea <HEAD> a unei pagini web care
specific informaii relevante pentru motoarele de cutare. Dou dintre cele mai utilizate tag-uri
sunt "Keywords" i "Description". Multe motoare de cutare ignor tag-urile META din cauz
c au fost mult abuzate n trecut. Totui, Google folosete descrierea din tag-ul "Description"
cnd afieaz pagina ca rezultat al unei cutri. De asemenea, "Robots" poate specifica faptul c
nu se dorete ca o pagin s fie indexat de ctre motoarele de cutare.
Browser[site6] -Un browser este un program care ruleaz pe calculatorul clientului care dorete
s vizioneze un site web. Browserul se conecteaz la serverul site-ului, copiaz coninutul pe
calculatorul clientului, l interpreteaz i l afieaz.
Cookie[site6] -un fiier ce stocheaz cantiti 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 setri sau opiuni pe care vizitatorul le-a efectuat la un anumit moment dat, astfel nct
utilizatorul nu va mai trebui s le reintroduc. Prin aceast metod sunt salvate i numele de
utilizator i parola la un anumit site, astfel nct la urmtoarea vizit, utilizatorul este autentificat
automat. Dei informaia din cookie este criptat, ea poate fi decriptat cu destul uurint.
Cuvant cheie (KEYWORD) [site6] - un index pentru o baz de date care identific o anumit
informaie sau document. Cutarea dup cuvinte cheie este cea mai folosit metod de cutare 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 gzduiete pagini web i
le furnizeaza vizitatorilor. Un server dedicat gzduiete un singur site web. Un server ne-dedicat
gzduiete 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 iniial dezvoltrii interfeelor web dinamice i
64

extins apoi i pentru utilizarea n aplicaii 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 licieniat n Informatic (Facultatea de Matematic i Informatic, secia Informatic
din cadrul UBB Cluj-Napoca,), iar din anul 1999 liceniat n Studii Europene. Studii de
specializare: master n Informatic Economic i Societate Informaional din cadrul
Universittii Babe Bolyai n anul 2002-2003.
Domenii de competen: baze de date i programare, infomatic economic, programare web
statistic i matematic.. Competenele de cercetare tiinific sunt demonstrate prin publicarea a
2 cri unic autor i 8 n colaborare, a peste 35 de lucrri tiinifice n publicaii recunoscute i
participarea la peste 36 de comunicri tiinifice n cadrul unor sesiuni din ar i strintate.
Membru n comitete de organizare sau tiinifice ale unor conferine Rewier n cadrul conferintei
internaionale IAWTC i WSEAS
Membru n 6 proiecte de cercetare.

EF CATEDRA

TITULAR DE DISCIPLIN

Prof.dr.Gheorghe Cosmin Silaghi

Lect.Dr. Liana Stanca

65

S-ar putea să vă placă și