Sunteți pe pagina 1din 98

UNIVERSITATEA BABE-BOLYAI

FACULTATEA DE TIINE ECONOMICE I GESTIUNEA AFACERILOR


Str. Teodor Mihali, nr. 58-60, 400591, Cluj-Napoca, Romnia Tel: 0264 418655; Fax: 0264 412570 E-mail: econ@econ.ubbcluj.ro

Suport tutorial de curs


Anul III Semestrul 5

PROIECTAREA I REALIZAREA SITE-URILOR I PORTALURILOR WEB

Cluj-Napoca 2009

I. Informaii generale
Date de identificare a cursului Date de contact ale titularului de curs: Nume: Lector 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 Date de identificare curs i contact tutori: 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

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: - absolvenii disciplinei sunt specialiti n informatic economic cu abiliti de programare i tratare a excepiilor bazndu-se pe obiecte i clase; - nsuirea abilitilor de concepere, proiectare i implementare a modelelor de afaceri electronice cu ajutorul limbajelor HTML,XHTML i PHP, ceea ce le creaz posibilitatea ncadrrii n domeniul statisticii i informaticii economice

fundamentarea necesarului de resurse umane, materiale i financiare n raport cu cerinele obiectivelor fixate de activitile specifice programrii afacerilor on-line; au compena necesar de a dezvolta aplicaii specifice afacerilor electronice; au compena necesar de a optimiza metodele de selecie a alternativelor de dezvoltare a unei afaceri on-line;. dobndesc deprinderi de analiz proiectare i testare a modelelor de afaceri electronice specifice putnd deveni consultani n acest domeniu; dobndesc deprinderi de msurare a efeicienei afacerilor on-line; pot concepe, proiecta, implementa i testa att pagini web statice ct i pagini web dinamice n spe un model de afacere electronic; 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 2.1. Elemente de limbaj HTML 2.2. Structura unui document HTML 2.3. Tag-uri de formatare a textului 2.4.Stiluri fundamentale de formatare a textului 2.5. Hyperlink-uri 2.6. Liste n site-uri Web 2.7.Marcaje pentru obiecte Modulul3:PREZENTAREA ELEMETELOR DE BAZ ALE LIMBAJULUI XHTML 3.1. Scopul i obiectivele modulului 3.4.1. Caracteristicile XHTML 3.4.2.Editoarele de fiiere XHTML 3.4.3 Sintaxa Limbajului 3.4.4 Tipuri de date XHTML 3.4.5. Structura documentelor XHTML 3.4.9.Formulare 3.4.10 Cadre Modul4:MYSQL SERVER 4.1. MySQL concepte de baz, caracterisitci 4.2. Modul de funcionare a unui server de baze de date pentru Web

4.3. Tipuri de date SQL 4.4. Privilegii acordate utilizatorilor 4.5. Baze de date- definiie, proiectare 4.6. Operaii asupra bazelor de date n MySQL Modul5:PREZENTAREA LIMBAJULUI DE SCRIPTING PHP 5.1 Limbajului PHP~noiuni fundamentale 5.2. Principiul de funcionare a limbajului PHP 5.3. Variabilele PHP 5.4. Variabile i constante 5.5. Operatori 5.6. Structurile de control 5.7. Tablouri 5.8. Funcii 5.9. Fiiere 5.10. Stocarea datelor n sistemul utilizatorului cu PHP 5.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 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 Apache-MySql-PHP puse la dispoziie de titularul cursului. Calendar al cursului Sunt estimate 3 ntlniri preprogramate pe semestru, cu datele i locaiile afiate pe siteul 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). 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 MODULUL 1. NOIUNI FUNDAMENTALE PENTRU CONCEPEREA, PROIECTAREA I IMPLEMENTAREA UNEI APLICAII ELECTRONICE.............................................................................................................1 0 1.1.1. Scopul i obiectivele modulului ................................................................. 10 1.1.2. Schema logic a modulului ........................................................................ 10 1.1.3. Coninutul informaional detaliat ............................................................. 11 1.1.3 .1Reeaua Internet - concept i evoluie ..................................................... 11 1.1.3.2 Modelul CLIENT-SERVER ................................................................... 12 1.1.3.3 Limbaje de scripting pe parte de server ................................................. 14 1.1.3.4. Server APACHE ...................................................................................... 15 MODULUL 2. PREZENTAREA ELEMETELOR DE BAZ ALE LIMBAJULUI HTML ............................................................................................................................ 19 2.2. Scurt recapitulare a conceptelor prezentate anterior .............................. 20 2.3. Schema logic a modulului ........................................................................... 20 2.4.Coninutul informaional detaliat ................................................................. 20 2.4.1. Elemente de limbaj HTML ........................................................................ 20 2.4.2. Structura unui document HTML .............................................................. 21 2.3.3 Tag-uri de formatare a textului .................................................................. 22 2.4.4.Stiluri fundamentale de formatare a textului ........................................... 25 2.4.5. Hyperlink-uri .............................................................................................. 25 2.4.6. Liste n site-uri Web ................................................................................... 26 2.4.7.Marcaje pentru obiecte ............................................................................... 30 MODULUL 3 PREZENTAREA ELEMETELOR DE BAZ ALE LIMBAJULUI XHTML..........................................................................................................................37 3.1. Scopul i obiectivele modulului .................................................................... 38 3.2. Scurt recapitulare a conceptelor prezentate anterior .............................. 38 3.3. Schema logic a modulului ........................................................................... 38 3.4.Coninutul informaional detaliat ................................................................. 39 3.4.1. Caracteristicile XHTML ............................................................................ 39 3.4.2.Editoarele de fiiere XHTML ..................................................................... 41 3.4.3 Sintaxa Limbajului ...................................................................................... 41 3.4.4 Tipuri de date XHTML ............................................................................... 43 3.4.5. Structura documentelor XHTML ............................................................. 44 3.4.8Cadre.............................................................................................................. 48 3.4.9.Formulare ..................................................................................................... 51 MODULUL4 MYSQL SERVER.................................................................................53 4.1.Scopul i obiectivele modulului ..................................................................... 54 4.2. Scurt recapitulare a conceptelor prezentate anterior .............................. 54 4.3. Schema logic a modulului ........................................................................... 54 4.4.1. MySQL concepte de baz, caracterisitci ................................................ 55

4.4.2. Modul de funcionare a unui server de baze de date pentru Web ......... 56 4.4.3. Tipuri de date SQL ..................................................................................... 57 4.4.4. Privilegii acordate utilizatorilor ................................................................ 59 4.4.5. Baze de date- definiie, proiectare ............................................................. 59 4.4.6. Operaii asupra bazelor de date n MySQL ............................................. 60 Test de verificare a cunotinelor: ....................................................................... 63 MODULUL 5 PREZENTAREA LIMBAJULUI DE SCRIPTING PHP...............65 5.2. Scurt recapitulare a conceptelor prezentate anterior .............................. 65 5.3. Schema logic a modulului ........................................................................... 66 5.4.1 Limbajului PHP~noiuni fundamentale .................................................... 66 5.4.2. Principiul de funcionare a limbajului PHP............................................. 67 5.4.3. Variabilele PHP .......................................................................................... 69 5.4.4. Variabile i constante ................................................................................. 69 4. 4.5. OPERATORI ............................................................................................. 71 5.4.6. Structurile de control ................................................................................. 72 5.4.7. Tablouri ....................................................................................................... 74 5.4.8. Funcii ......................................................................................................... 79 5.4.9. FIIERE ...................................................................................................... 80 5.4.10. Stocarea datelor n sistemul utilizatorului cu PHP ............................... 82 5.4.11. PHP i formulare HTML ......................................................................... 84 Bibliografie complet a cursului ........................................................................................................... 90 Bibliografie opional ............................................................................................................................. 96

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 1.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 ClientServer, 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 1.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. Reea Internet

Model Client-Server

Server Apache

Limbaje de scripting pe parte de server

Fig.1.1. Structura modulului 1 Recomandri privind studiul:

10

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 1.1.3. Coninutul informaional detaliat 1.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 inter-reea, la modele de sisteme cu mai multe nivele de protocoale de comunicare-operare i la paradigma interaciunii de tip client-server.

11

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 ARPANET-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 sa 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. 1.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;

12

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 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

13

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. 1.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.

14

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. 1.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

15

[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 URLul i a stabili protocolul de conectare n cazul de fa: http://localhost. Conform statisticii realizate de Netcraft 1, 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 Apache 2 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
1
2

http://www.netcraft.com/survey

http://www.apache.org,

16

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.

17

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

18

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.

19

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. Elemente de limbaj HTML

Structura unui document HTML

Liste

Hyperlink

Obiecte HTML

Tag-uri de formatare fizic i logic a textului

Imagini, Frame-uri, Forme Fig.2.3.1 Structura modulului 2 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,

20

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. 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>

21

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.3.3 Tag-uri de formatare a textului n cadrul unei pagini Web, ca i n orice document creat cu un editor de texte cum ar fi, de exemplu, n Word aceasta poate s conin un text mprit pe capitole. Titlurile capitolelor i a paginii se precizeaz cu tag-ul <Hn>. Tag-ul <P> se folosete pentru a mpri textul existent n cadrul unui document HTML n paragrafe. Tag-ul <HR> are rolul de a inserara linii orizontale n cadrul unui document HTML. Tag-ul <CENTER>...</CENTER> are ca efect alinierea pe centru a materialul (text, imagini, tabele, liste, etc.) introdus ntre aceste tag-uri. Tag-ul <NOBR>...</NOBR> are ca efect afiarea textului cuprins ntre aceste tag-uri pe un singur rnd indiferent de lungimea lui. Deci, textul nu poate fi rupt n mai multe linii ca n cazul folosirii tag-ului <P>...</P>. Tag-ul <PRE>...</PRE> afieaz textul scris ntre cele dou tag-uri pstrnd formatrile efectuate n editorul de documente HTML. Tag-ul <DIV>...</DIV> se folosete n cazul n care se dorete mprirea unui document HTML ntr-o serie de seciuni. Tag-ul <FONT>...</FONT> se folosete pentru a schimba caracteristicile fontului din cadrul textului unei pagini web. ul de culori utilizat. n continuare se va da un exemplu de pagin web n care se vor folosi toate tagurile de formatare a textului unei pagini web prezentate pn n acest moment. Aceast pagin se dorete a fi un exemplu de utilizare a tag-urilor de formatare a textului ntr-un document HTML fapt pentru care coninutul acesteia s-a creat n conformitate cu scopul propus. Pagina care se creaz se numete Exemplu2.html i are urmtorul cod surs:

<html> <head> <title>Tag-uri de Formatare a textului</title><br> </head> <body bgcolor="yellow"> <H1> Exemple de utilizare a tag-ului &lt;Hn> </H1> <H1> Heading 1 definit cu tag-ul &lt;!-- H1 --> </H1> <H2> Heading 2 definit cu tag-ul &lt;!-- H2 --> </H2> <H3> Heading 2 definit cu tag-ul &lt;!-- H3 --> </H3> <H4> Heading 2 definit cu tag-ul &lt;!-- H4 --> </H4>

22

<H5> Heading 2 definit cu tag-ul &lt;!-- H5 --> </H5> <H6> Heading 2 definit cu tag-ul &lt;!-- H6 --> </H6> <H2> Exemple de utilizare a tag-ului &lt;P> cu alinierea acestora la stanga,centru si dreapta </H2> <p align="left">Aici se introduce continutul paragrafului 1</p> <p align="center">Aici se introduce continutul paragrafului 2</p> <p align="right">Un comentariu este definit de tagul <b>&lt;!-- textul comentariului -> </b><br></p> <H2> Exemple de utilizare a tag-ului &lt;HR > cu alinierea acestora la stanga, centru si dreapta si stabilirea lungimii, grosimii, culorii, umbrei</H2> <p> Linia urmatoare are lungimea de 100%, grosimea predefinita, culoarea rosie, aliniata la stanga si nu are umbra. <hr width=100% align="left" color="#ff0000" noshade> <p> Linia urmatoare are are lungimea de 50%, grosimea de 6 cm, culoarea verde, aliniata pe centru si nu are umbra. <hr width=50% size=5 align="center" color="#00ff00" noshade> <p> Linia urmatoare are are lungimea de 30%, grosimea de 10 cm, culoarea albastra, aliniata la dreapta si are umbra. <hr width=30% align=left size=10 color="#0000ff" shade=60%> <H2> Exemple de utilizare a tag-ului &lt;CENTER> </H2> <center> Text afisat in mijlocul paginii web. In cadrul acestui tag pot fi cuprinse toate tag-urile HTML</center> <H2> Exemple de utilizare a tag-ului &lt;NOBR> </H2> <NOBR> Acest tag are ca efect afisarea textului cuprins ntre aceste tag-uri pe un singur rnd indiferent de lungimea lui. Deci textul nu poate fi rupt n mai multe linii ca n cazul folosirii tag-ului &lt;P> </NOBR> <H2> Exemple de utilizare a tag-ului &lt;PRE> </H2> <PRE> Acest tag afieaz textul scris ntre cele dou tag-uri pastrand formatarile efectuate n editorului de documente HTML. Acest tag are un singur atribut, si anume, width. Acest atribut indica numrul de caractere dintr-o linie. </PRE> <H2> Exemple de utilizare a tag-ului &lt;ADDRESS> </H2> <center> la <ADDRESS>Pentru mai multe informatii contactati-m&atilde; liana_stanca@exemplu.ubbcluj.ro</ADDRESS> <ADDRESS>Adresa sediului firmei: str. Tureni nr.5; Tel:(0264)909090</ADDRESS> </center> <H2> Trecerea fortata la un nou rand se face utilizand tag-ul &lt;BR> </H2> <p>Crearea fortata a unei noi linii <br> intr-o pagina web <br> se face folosind tagul&lt;br></p> <H2> Exemple de utilizare a tag-ului &lt;DIV> </H2> <DIV>Acest tag se foloseste in cazul in care se doreste impartirea unui document HTML intr-o serie de diviziuni.</div> <DIV align="right">Aici s-a definit o noua sectiune cu tag-ul &lt;DIV> aliniata la dreapta.</div> <H2> Exemple de utilizare a tag-ului &lt;DIV> in care s-a inclus tag-ul

23

&lt;FONT></H2> <DIV><FONT face="Monotype Corsiva, serif, monospace" size=5 color="Red"> Exemplu de utilizare a tag-ului &lt;FONT> cu setarile face="Monotype Corsiva, serif, monospace" size=5 color="Red" .</font></div> </body></html> Lansarea n browser a paginii Exemplu2.html creat pe baza codului sursa anterior va arta ca n Figura 2.1. prezentat n cele ce urmeaz:

24

Figura 2.1. Pagina web Exemplul2.html 2.4.4.Stiluri fundamentale de formatare a textului n cadrul documentelor HTML se pot folosi dou categorii de instruciuni de formatare, i anume:[KasaPop1998] 1. Instruciuni de formatare fizic, care impun browser-ului un anumit tip de formatare a textului definit de ctre autorul documentului HTML. Cele mai des folosite astfel de instruciuni sunt tag-urile: <I>,<B>,<U> care reprezint standarde de formatare a textului n aproape toate editoarele de text. 2. Instruciuni de formatare logic, prin care se sugereaz browser-ului c decizia de formatare a textului i aparine lui i nu intr n sarcina autorului documentului HTML sunt: <CITE>...</CITE>;<EM>...</EM>;<SAMP>...</SAMP> <!--Comentarii--> textul cuprins ntre delimitatorii <!-- i --> nu este procesat de browser i se numete comentariu. Comentariul are rolul de a explica codul surs existent ntr-un fiier, n cazul nostru de tip HTML, pentru o nelegere mai bun a lui att de ctre proprietar ct i de ctre persoanele care l vor citi. 2.4.5. 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 tag-ului <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.

25

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.6. Liste n site-uri Web Elementele listelor se introduc ntre marcajele <LI> </LI> ("list item"). Modul de apariie al 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. Tagurile <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>

26

<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 <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>

27

<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:

28

29

Figura 2.2. Pagina web Exemplul5.html

2.4.7.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.

30

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 tagurile <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> 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:

31

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 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>

32

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.

33

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.

34

Teme pentru verificarea cunotinelor 1. Care este structura unui document HTML? 2. Care este tag-ul care permite inserarea unei imagini ntr-un document HTML? 3. 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:

35

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

36

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

37

MODULUL 3 PREZENTAREA ELEMETELOR DE BAZ ALE LIMBAJULUI XHTML 3.1. Scopul i obiectivele modulului n cadrul activitilor de proiectrii i realizrii siteurilor i portalurilor Web un rol important l joac limbajul XHTML. Dup descoperierea noiunilor de baz i avanstate ale limbajului HTML se impune prezentarea limbajului XHTML. Conceptele de baz abordate n cadrul acestui modul sunt: Trsturilor caracteristice ale limbajului XHTML; Structurii unei pagini HTML ; Rolul documentelor XHTML Prezentarea modulelor XHTML. Sintaxa XHTML Obiective acestui modul sunt: 1. Asimilarea caracteristicilor limbajului XHTML 2. Descrierea structurii unui document XHTML 3. nsuirea tag-urilor de formatare la nivel de text 4. nsuirea tag-urilor Hyperlink, liste 5. Prezentarea tag-uri de definire a diverselor obiecte Recomandri privind studiul: 3. Studierea conceptelor prezentate n vederea utilizrii lor pe parcursul celorlalte capitole. 4. Asimilarea conceptelor de baz pentru realizarea unor documente web valide indiferent de tipul browserelor pe care le folosesc utilizatorii. Rezultate ateptate: 3. Studenii trebuie s fie capabili s i prezinte cunotinele teoretice de natur coerent i consistent. 4. Studenii trebuie s poat proiecta i implementa un proiect de pagin web scris cu XHTML de mare complexitate. 3.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. n modul al 2-lea s-a impus pezentarea limabjului HTML necesar pentru dezvoltarea unei pagini web statice complexe. Dezvoltarea unor proiecte mari a impus apariia pe pia a unui nou limbaj numit XHTML care are la baz limbajul HTML 4.0. 3.3. Schema logic a modulului Acest modul este compus din apte subcapitole: primul subcapitol are ca scop evidenierea conceptului de baz ale limbajului XHTML iar n cellate ase subcapitole sunt prezentatea pe rnd elemnte de limbaj XHTML.

38

Tipuri de date XHTML

3.4.Coninutul informaional detaliat 3.4.1. Caracteristicile XHTML XHTML Extensible HyperText Markup Language a fost dezvoltat de Consoriul WEB pe baza limbajului HTML 4.0 cu ajutorul sintaxei limbajului XML 1.0. Limbajul XHTML este un limbaj declarativ nu un limbaj de programare. Limbajul folosete marcaje descriptive pentru definirea modului de prezentare i a structurii logice a unui document WEB. [9][7][1][2][8] Rolul limbajului XHTML este de a nlocui limbajul clasic HTML fiind o recomandare a organizaiei W3C. Prima versiune a limbajului a fost lansat n 26 ianuarie 2000 i revizuit 1 august 2000, fiind prezentat n 3 variante care definesc 3 tipuri de documente : XHTML1.0. Strict (-documentele de acest tip nu conin elemente sau atribute demodate) ; XHTML 1.0. Tradiional (-documentele de acest tip conin elemente sau atribute HTML demodate) XHTML 1.0. Frameset (-documentele de acest tip se folosesc n situaiile n care se dorete utilizarea cadrelor).[9][7][8][1][2] Versiunea XHTML Basic a fost publicat n 19 dec 2000 i include un set minimal de module XHTML. Rolul principal al acestei versiuni era de a servi documente hipertext destinate clienilor WEB Aceast versiune nu suport setul complet de module XHTML ex. Telefoane mobile,PDA[9] n 31 mai 2001 apare Module-Based XHTML care definete un nou tip de documente XHTML. n 2006 apare XHTML 2.0. care modific structura i semantic a unor module definite n versiunea 1 i se adaug noi module XML Events i FORMs.[7][9] Observaie: Browsere le afieaz corect informaia chiar i atunci cnd nu se respect constrngerile de XML sau XHTML, dar atunci cnd se dorete ca informaia s poate fi corect interpretat de ageni software, crowlere, motoare de cutare sau browsere pentru dispozitive mobile este obligatoriu s se respecte toate recomandarile propuse de W3C n acest domeniu. Familia de documente XHTML este proiectat pentru :[9][8][10][2] 1. a realiza separarea prezentrii (realizat exclusiv prin CSS) de structura logic a coninutului propriu-zis. Avantajul este dat de faptul c paginile vor fi ntreinute mai uor i nu n ultimul rnd va crete interoperabilitatea i accesibilitatea pe diverse platforme 2. documentele XHTML pot fi extinse prin includerea de exemplu a ecuaiilor matematice editate cu limbajul MathML, grafic vectorial cu limbajul SVG 3. XHTML este un limbaj extensibil deoarece permite introducerea de noi module.

Elemete XHTML

DTD

Pagin web creat cu XHTML

Fig.Structura modului 2

39

XHTML conine mare parte din funcionalitatea de care are nevoie un dezvoltator web. n unele scopuri XHTML este prea complex iar in altele prea simplu. Desprind XHTML n module, W3C (World Wide web Consortium) a creat seturi mici de elemente bine definite care pot fi utilizate separat pentru diferite dispozitive sau combinate cu alte standarde XML n aplicaii mult mai complexe.[9] Cu ajutorul modulelor XHTML, designerii pot s:[9] aleag elementele care sunt suportate de un dispozitiv simplifice XHTML pentru dispozitive mai mici extinde XHTML pentru aplicaii complexe prin adugarea de funcionaliti XML (ca spre exemplu MathML, SVG, Voce si Multimedia) defineasc profile XHTML ca XHTML Basic (un subset al XHTML pentru dispozitive mobile) W3C a mprit XHTML n 28 module:[9] Numele modulului Descriere Modulul Applet Definete elementul applet la care s-a renunat* Modulul Base Definete elementul base Modulul Basic Forms Definete elementele basic forms Modulul Basic Tables Definete elementele basic table Modulul Bi-directional Text Definete elementul bdo Modulul Client Image Map Definete elementele browser side image map Modulul Edit Definete elementele de editare del si ins Modulul Forms Definete toate elementele folosite in formulare (forms) Modulul Frames Definete elementele frames Modulul Hypertext Definete elementul a Modulul Iframe Definete elementul iframe Modulul Image Definete elementul img Modulul Intrinsic Events Definete atributele eveniment ca onblur si onchange Modulul Legacy Definete elementele i atributele la care s-a renunat* Modulul Link Definete elementul link Modulul List Definete elementele de lista ol, li, ul, dd, dt, si dl Modulul Metainformation Definete elementul meta Modulul Name Identification Definete atributul name la care s-a renunat Modulul Object Definete elementele object i param Modulul Presentation Definete elementele de prezentare ca spre exemplu b si i Modulul Scripting Definete elementele script i noscript Modulul Server Image Map Definete elementele pe parte se server image map Modulul Structure Definete elementele html, head, title si body Modulul Style Attribute Definete atributul style Modulul Style Sheet Definete elementul style Modulul Tables Definete elementele utilizate n tabele Modulul Target Definete atributul target

40

Modulul Text Definete elementele de text ca p i h1 * elementele la care s-a renuntat nu ar trebuie utilizate n XHTML. Documente XHTML au nevoie de urmtoarele instrumente de baz:[9][8][2] 1. un editor de text simplu, pentru crearea i salvarea documentelor XHTML; 2. un instrument de validare XHTML, pentru verificarea sintaxei i structurii documentelor XHTML; 3. un navigator Web, pentru vizualizarea i testarea documentelor XHTML. Validarea trebuie s fie considerat ca o etap important n procesul de redactare al codului XHTML. Pentru a verifica dac este valid sau nu codul XHTML creat manual, se utilizeaz aplicaia de validare W3C W3C validator: http://validator.w3.org/file-upload.html [8][9] 3.4.2.Editoarele de fiiere XHTML Exist multe unelte pentru editarea de fiiere XHTML, de la simplele editoare text cu sintax colorat i pn la posibilitatea de a valida online un ntreg sit sau pagina web [4]. Exemple de editoare pentru scrierea de pagini HTML i XHTML:[4][5] Macromedia Dreamweaver, Notepad, softul de la http://savannah.nongnu.org/projects/xhtmltools/ XMLBuddy http://www.download.com/XMLBuddy/3000-7241_4-10422909.html?tag=lst-0-5 HTML Tidy http://tidy.sourceforge.net/#docs etc. Documentele XHTML se salveaz ca fiiere text Ascii sau Unicod cu extensia html sau htm. Elementul(tag-ul) este componenta structural de baz a documentelor XHTML. Tag-urile se clasific pe baza funciilor lor : [Anghel_2008] 1.tag pentru corp 2. tag pentru antet 3.4.3 Sintaxa Limbajului Limbajul XHTML impune un standard riguros propriu XML n cea ce privete sintaxa utilizat n scrierea documentelor, reguli folosite sunt precizate n specificaia XHTML 1.1. [Anghel_2008][9][8] - fiecare element va avea obligatoriu marcaj de deschidere <element> nsoit de cel de nchidere </element>. - marcajele sunt denumite tag-uri sau etichete -marcajele de nchidere pot fi eliminate n cazul elementelor vide prin includerea lui slash la sfritul marcajelor de deschidere precedat de un spaiu, ex: [Anghel_2008] <img src= ex.jpg /> Numele elementelor XHTML nu pot conine spaii i nu pot ncepe cu numr. XHTML la fel ca XML este case sensitive. Elementele XHTML tb scrise cu litere mici ex: <table border= 1 > Elementele se clasific n elemete vide : br, img, input. i elemente nevide :<p><b> Obseravie : Elementele necunoscute introduse ntr-o pag web sunt ignorate de browser n momentul procesrii documentului XHTML lunnd n considerare i afind numai coninutul acestora. n XHTML elementele nevide pot fi imbricate, fiecare pereche de marcaje trebuie inclus n interiorul altei perechi. Aceast regul este cunoscut ca LIFO, adic

41

ultimul marcaj deschis este primul nchis. [9][8][1][2]Ex : <p> Exemplu de nchidere marcaj <b> XHTML</b></p> Reguli pentru atribute :[9][8][1][2] - trebuie incluse ntre ghilimele fie iruri de caractere fie numere - numele atributelor se scriu cu litere mici ; - dac un atribut are o valoare incorect aceasta este nlocuit cu valoare implicit - atributele fra valori sunt : readonly, noresize, noshade. Se scriu astfel: nume=nume Ex: readonly= readonly, noresize= noresize, noshade= noshade. <img src=ex.jpg width=200 heoght=200 /> Atributele pot fi clasificate astfel:[9][8][1][2] 1. Atribute comune de baz care sunt: id, class i title. Atributul id (identificator) se utilizeaz de ctre scripturile pe parte de client. (JavaScript) n scopul selectrii elementelor XHTML, pentru aplicarea regulilor de formatare CSS sau pt construirea unor relaii ntre elemente. Valoarea atributului id tb s fie unic.[2][9][8] a. Atributul class stabilete pt un element numele unei clase sau un set de clase. Acelai nume poate fi atribuit unui numr neprecizat de elemente. n cazul unui set de nume acestea se separ prin spaii albe. Acest atribut se folosete pt aplicarea regulilor de formatare CSS. b. Atributul title se folosete pentru a furniza informaii utilizatorului valoarea sa fiind afiat n cele mai multe browsere ca tooltip-uri. 2. Atribute comune pt internaionalizare sunt :[9][8][2][10] a. xml :lang- specific limbajul de baz utilizat pt valorile atributelor i coninutul elementului. b. dir-precizeaz direcia de baz a textului putnd lua vaorile : ltr(left to right), rtl(right to left) 3. Atribute comune pentru evenimente de mouse sunt: onclick, onmouse, onmouseup, onmouseover, onmousemove, onmouseout. evenimente de tastatur: onkeypress, onkeydown i onkeyup.[9][8][2] 4. Atributul de stil comun elementelor XHTML este: style prin care se specific informaii de formatare CSS pt elementul curent. Acest atribut combin coninutul cu formatare. Entiti reprezint o poriune de text (ir de caractere sau simbol) care are asociat un nume. Se folosesc n documentele XHTML pt generarea simbolurilor speciale, matematice, caractere rezervate, diacritice. Entitile se acceseaz prin intermediul construciei: &nume_entitate ; sau &#nume; Ex : &copy ; sau &#169 ; este caracterul dedicat copyright. Caracterul alpha : &alpha ; sau &#945 ; Caracterul > : &gt ; sau &#62 ;[9][8][7][2] Comentarii sunt utilizate pt a oferi informaii despre coninutul unei pagini WEB, utile proiectantului paginii, neafiate n browser. Sintax : < ! text comentariu se poate ntnde pe mai multe rnduri sau pe un sg rnd !> Spaiile albe, tab i newline sunt ignorate.[9][8][2] Documentele XHTML sunt valide dac respect sintaxa stabilit de recomandrile Consoriului Web. Pentru validare documentelor XHTML dup crearea lor se utilizeaz instrumentul Validator pus la dispoziie de W3C la adresa http://validator.w3.org sau aplicaia gratuit Tidy(http://tidy.sourceforge.net/) . Aplicaia Tidy poate fi folosit pentru a converti paginile HTML n XHTML. Aplicaia Tidy este o

42

aplicaie n linie de comand. Exist i o versiune grafic a aplicaiei Tidy numit gui_tidy care poate fi descrcat de la adresa http://www.paehl.de/tidy/. Aplicaia gui_tidy precizeaz erorile de sintax existente n documentul supus validrii precum i varianta corect a acestora. [Anghel_2008] 3.4.4 Tipuri de date XHTML Tipuri de date XHTML pentru valorile atributelor XHTML sunt : [Anghel_2008] 1. iruri de caractere 2. URI sunt case sensitive (pri ale acestora nu sunt case sensitive(ex :numele mainilor)) 3. Culori : care se reprezint fie ca un numr hexazecimal : #000000(negru), #ffffff(alb) fie ca nume de culoare : ex : black, alb etc. Observatie: Folosirea atributelor pt specificarea culorilor este descurajat deoarece pe diverse platforme aceeai culoare nu arat la fel. n XHTML 1.0 Strict nu sunt incluse aceste atribute. 4.Lungimi :pixeli, procent din spaiul orizontal sau vertical disponobil, lungimi relative de ex : 1*, 2* i 3* poriunii corespunztoare i se aloc 20 pixeli, 40 pixeli i respectiv 60 pixeli. 5. MIME sau coninut : ce conine o resurs : text/html (browserul proceseaz resursa ca i cum ar fi un document HTML), image/png, image/gif, text/css i video/mpeg. Tipul MIME al documentelor XHTML (=tipuri de continut): text/HTMLbrowswerul va procesa documentul ca un document HTML; application/XHTML+XML-browserul va procesa documentul utilizand reguli sintactice XHTML; text/XML sau application/XML-pot fi precizate pentu documente din familia XML, inclusive XHTML Date script sunt datele incluse ntre marcajele <script> </script>. Coninutul acestor taguri nu se interpreteaz de browser ci de ctre motorul limbajului de script. [Anghel_2008] Date de stil sunt datele incluse ntre marcajele <style> </style>. Browserele nu interpreteaz coninutul ca marcaj XHTML[Anghel_2008] Nume de cadre int trebuie s nceap cu un caracter alfabetic (a-z ,A-Z) browserul ignornd numele care nu respect aceast regul. _blank, _self, _parent,_top.[9][8][7][2] XHTML permite o mai bun structurare i nelegere a coninutului informaiei de diverse programe software dar i de ctre dispozitive mobile care au cunoscut o dezvoltare fantastic i unde browserele se dezvolt, doar beneficiind de resurse mai puine si limitate in comparatie cu un sistem desktop. Pentru dispozitivele mobile siteurile sunt mai simple iar multe dintre acestea nu sunt afiate corespunztor i datorit faptului c nu respecta recomandarile XHTML 1.0. [Anghel_2008][2] Deci, XHTML este limbajul binecunoscut HTML, dar scris cu reguli XML care se dorete a fi pasul urmtor n dezvoltarea WWW-ului. Se dorete ca att utilizatorii de pe calculatoare normale ct i cei care folosesc dispozitive mobile s poat accesa orice sit web fr probleme. De asemenea folosind XHTML multe produse software sau ageni pot folosi informaiile de pe site-uri intr-un mod corect.

43

3.4.5. Structura documentelor XHTML Orice document HTML trebuie s aib un singur nod rdcin i acela trebuie s fie <html>.Un document XHTML se compune din trei pri principale: [Anghel_2008][2] declaraia DOCTYPE seciunea <head> seciunea <body> Exemplu de document XHTML: <!DOCTYPE ...> <html xmlns="http://www.w3.org/1999/xhtml"> <head> //tag folosit pentru diverse informaii, pentru motoarele de cutare i nu numai <title>Title paginii</title> </head> <body> </body> </html> Observaie: Declaraia DOCTYPE nu face parte din documentul XHTML propriu-zis, deci nu va avea un tag de nchidere i nici nu se supune regulii "litere mici". Atributele joac un rol important ca i elementele i au parte de un tratament la fel ca i elementele n privina literelor cu care sunt scrise. Orice document XHTML conine o referin ctre fiierul DTD care l valideaz i are urmtoarea structur: <!DOCTYPE link_catre_fisierul_dtd> //calea catre fisierul .dtd [Anghel_2008] <html xmlns="http://www.w3.org/1999/xhtml"> //trebuie pus namespace-ul pentru a specifica locaia specificaiei pentru xhtml Exemplu de <!DOCTYPE ...> : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Coninutul site-urile i structurarea informaiei sunt dou trsturi importante, dar acum se pune accent i pe prezentarea acestora, pe stil, pe culori i pe mbinarea lor. In prezent aceste lucruri sunt realizate cu ajutorul limbajului CSS .[7] Un exemplu simplu de document XHTML[9] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title> Primul document XHTML</title> </head> <body> <h1> Primul document XHTML</h2> <p>un paragraf simplu</p> </body> </html>

44

3.4.6. Document Type Definitions Document Type Definitions (DTD) cu alte cuvinte definitiile tipului de document au rolul de a:[9][2] 1. specifia sintaxa unei pagini web n SGML 2. fi utilizate de aplicaiile SGML, ca i HTML, pentru a specifica reguli pentru documente de diverse tipuri, incluznd un set de elemente i declaraii de entiti 3. indica limba n care e scris documentul i sintaxa de marcaj XHTML Un DTD este un fiier text ce conine reguli prin intermediul crora sunt stabilite elementele i atributele, valorile acestora, modul de apariie a elemetelor i atributelor, relaiile dintre elemente i atribute, adic structura unui document XHTML. Declaraia DOCTYPE este folosit de browser web pentru a identifica versiunea limbajului XHTML folosita n scrierea documentului, mai precis setul de elemente care pot fi utilizate. n situaia n care sunt folosite elemete neaparinnd versiunii XHTML declarate este posibil ca browserul web s nu le proceseze n maniera n care se ateapt proiectantul.[9][2][7] Exist trei definiii DTD pentru XHTML:[9] STRICT TRANSITIONAL FRAMESET XHTML 1.0 Strict se utilizeaz cnd se doresc marcaje clare, fr dezordine n cod. Se folosete mpreun cu CSS. Include elemente i atribute la care nu s-a renunat nc i care nu apar n frameset-uri. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> XHTML 1.0 Transitional se folosete atunci cnd se dorete folosirea unor trsturi HTML. Include elementele DTD strict i atributele la care s-a renunat. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> XHTML 1.0 Frameset se folosete atunci cnd se dorete utilizarea Frameurilor HTML Frames pentru a mpri pagina n mai multe zone. Include elementele din DTD transitional plus elementele de frame-uri. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> Observaie : Trebuie adugat urmtoarea declaraie DOCTYPE n fiecare pagina pentru a fi validat ca fiind corect n XHTML: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3.4.7. Clasificarea elementelor XHTML Elementul(Tag-ul)-este componenta structural de baz a documentelor XHTML. Clasificarea elementelor din perspectiva XHTML 1.0 Strict i XHTML 1.1 cu excepia elementelor ruby, se face pe baza funciilor ndeplinite astfel : [Anghel_2008][9][7][2] 1. elemete pentru structur i antet : base, body, head, html, link, meta, script, style, title

45

1. 2.

3. 4.

Antetul : <head></head> furnizeaz o serie de informaii despre document. Elementele coninute n aceasta seciune nu sunt afiate n pagin. Marcajele care pot aparea n elemental head sunt: [Anghel_2008] Title precizeaz titlul documentului afiat de browsere n bara de titlu; Base precizeaz un URL de baz (utilizat de browsere pentru a rezolva url-urile relative), atunci cnd acesta difer de url-ul de unde a fost descarccat pagina WEB; Link permite legarea n document a unor resurse; Meta precizeaz metadate referitoare la document. Atributele lui meta sunt: name, http-equiv, scheme si content. Aceste atribute trebuie utilizate n grupuri de cte 2, content fiind present de fiecare dat. Valorile atributelor name i http-equiv se numesc i metataguri. Valorile metatagurilor sunt exprimate prin intermediul atributului content. Atributul name are ca valoare numele unei proprieti, n acest caz atributul content exprim valoarea acesteia. Atributele lui name sunt keywords permite precizarea unor cuvinte cheie specifice site-ului. Din 1997 a fost emis opinia conform creia informaiile stocate n keywords dirijeaz utilizatorii ctre site-uri spam. n prezent aceast proprietate nu mai este folosit de motoarele de cutare, fiind nlocuit de proprietatea description. Proprietatea description este folosit de autorul paginii web pentru a realiza o descriere succint a acesteia, care este afiat adesea de ctre motoarele de cutare n rezultatele ntoarse. Se recomand ca lungimea maxim pentru valoarea proprietii descripton s fie mai mic dect 200 de caractere de text simplu. <meta name=keywords content=cabinet, cancer /> Proprietatea author permite precizarea numelui autorului paginii web ca valoare a atributului content, n timp ce copyright ofer posibilitatea de a realiza o declaraie de copyright prin intermediului aceluiai atribut. <meta name=author content=Pop Viorel /> Proprietatea owner permite precizarea proprietarului paginii. <meta name=owner content=Pop Vasile /> Proprietatea distribution definete audiena documentului avnd ca valori posibile global-este permis accesul din orice locaie a web-ului, local-serverul web nu va livra un astfel de document n web i iu (internal use) document accesibil in intranet. <meta name=distribution content=Global /> Atributul http-equiv folosit pentru obinerea de informatii necesare construirii antetelor HTTP ale mesajului de raspuns trimis browserului, referitoare la tipul de continut al documentului, setul de caractere utilizat de document, etc. Atributul httpequiv este utilizat de servere web. Valorile atributului http-equiv sunt: content-type precizeaz tipul de coninut inclus n documentul XHTML i setul de caractere utilizat de acesta. Atributul content se folosete doar n scopul codificrii paginii.n cazul n care coninutul web este text/html browserul va procesa o pagina web XHTML ca i pagin HTML. Deci, documentele XHTML sunt servite implicit ca HTML. <meta httpequiv=Content - Type content=text/html; charset=UTF-8 /> Atributul expires precizeaz data la care documentul XHTML trebuie considerat expirat. [Anghel_2008]

46

5 Script- folosit pentru includerea n document a unor scripturi folosite n limbaj pentru client ex: javascript[Anghel_2008] 6 Style- definirea sau importul unei foi de stil CSS[Anghel_2008] 7 Object- includerea n document a unor obiecte ca imagini, video i aplicaii, de exemplu appleturi java.[2] [Anghel_2008] 2. elemente-bloc: adress, blockquote, del, div, dl, fieldset, form, h1-h6, hr, ins, noscript, ol, p, pre, script, table, ul. Coninutul unui element-bloc ocup 100% din limea ocupat de elementul printe=> coninutul unui astfel de element care urmeaz unui alt element bloc este afiat pe linie nou[9][7][2]. 3.elemente inline : a, abbr, acronym,b,bdo,big,br,button,cite,code, del, dfn, em, i, ins, input, label, map, kbd, object, q, ruby, samp, script, select, small, span, strong, sub, sup, textarea, tt, var. Dou sau mai multe elementede acest tip se pot afia pe aceeai linie. 4.elemente pentru crearea itemilor listelor : dd, dt, li. Exist 3 tipuri de liste: [Anghel_2008] 1. ordonate: <ol><li>...</li>...</ol> 2. neordonate: <ul><li>...</li>...</ul> 3. liste de definiii : <dl><dt>termen</dt><dd>definitie</dd>...</dl> Obseravaie: o list trebuie s conin cel puin o component. n XHTML 1.0 Transitional pentru elementul ul poate fi precizat atributul type cu valorile: disc(valoare implicit), square i circle. n XHTML 1.0 Transitional pentru tag-ul ol se pot preciza atributele type cu valorile: 1(cifre arabe), a (litere mici), A (litere mari), i( cifre romanice mici), I(cifre romanice mari) respectiv atributul start, care poate lua ca valoare un numr, precizeaz valoarea cu care se ncepe numerotarea elementelor listei ordonate. [Anghel_2008] 5. elemente pentru crearea coninutului tabelelor: caption, col, colgroup, tbody, td, tfoot, th, thead, tr. 6.elemente pentru titlul seturilor de cmpuri ale formularelor: legend, 7. elemente pentru crearea opiunilor de meniu n formulare: optgroup, option; 8. elemente pentru realizarea parametrilor obiectelor: param Includerea Obiectelor multimedia (ex: imagini, videoclipuri, animaii Flash i aplet-uri Java ) n documentele XHTML se face cu ajutorul elementului nevid object. Obiectul nglobat n tag-ul object se poate configura cu tag-ul param[Anghel_2008]. <object data=images/vara.gif type=image/gif width=50 height=100> Peisaj de vara </object> n caz de eroare se afieaz n browser textul: Peisaj de var Param-element vid folosit pentru transmiterea datelor/parametrilor obiectelor nglobate n documentele XHTML cu obiectul object. Atributele lui param: [Anghel_2008] 1. id se precizeaz identificatorul unic 2. name- este obligatoriu. Se precizeaz numele unui parametru de execuie, care se presupune c este cunoscut de obiect; 3. type- tipul resursei indicate de atributul value at cnd atributul valuetype are valoare ref; 4. value- conine valoarea parametrului de execuie stabilit cu ajutorul atributului name. Aceast valoare nu are semnificaie XHTML. 5. Valuetype- tipul atributului value. Valorile care le poate primi acest atribut sunt: data-valoarea stabilit prin atributul value va fi evaluat i

47

transmis ca ir obiectului nglobat; ref- valoarea stabilit pt atributul value este un URI ce indic o resurs n care este memorat valoarea parametrului de execuie; object- valoarea stabilit prin atributul value este un identificator care se refer la declaraia unui obiect din acelai document. Identificatorul tb s coincid cu valoarea atributului id din declaraia documentului. Ex. Imbricarea animaiilor Flash ntr-un document XHTML cu object i param: <object type=application/x-shockwave-flash data=animatii/desene.swf width=550 height=400> <param name=movie value=animatii/desene.swf /> <param name=play value=true /> <param name=loop value=false /> <param name=quality value=high /> <param name=bgcolor value=#ffffff /> <img src=poze/desene.jpg alt=Desene /> </object> Parametrii unui film/animaii Flash sunt: Bgcolor- culoarea de fundal a zonei destinat filmului; Loop- precizeaz numrul de repetiii ale filmului; Movie- are ca valoare URL-ul fiierului care conine filmul Play- se precizeaz dac filmul va fi redat automat la ncrcarea acestuia n browser dac valoarea este true sau nu valoarea este false. Quality-calitatea redrii filmului, ia ca valori: low, mediu, hight(val. implicit) i best. 9.notaii ruby: rb, rbs, rp, rt, rtc. XHTML 1.0 Frameset definete suplimentar elementele i atributele necesare pentru crearea cadrelor: frameset i frame. 3.4.8Cadre O pagin cu cadre este alctuit dintr-un document n care se definesc cadrele i un numr de documente egale cu numrul cadrelor descrise n pagina de definire a lor. Documentul de definire a cadrelor nu conine tag-ul body ci frameset. Definirea cadrelor se realizeaz cu atributele cols i rows. Valorile acestor atribute sunt liste de elemente separate prin virgul, acestea stabilind modul n care se realizeaz mprirea ecranului. Valorile lui rows respectiv cols pot fi: [Anghel_2008][2] 1.pixeli 2.procente din dimensiunea spaiului disponibil, care poate fi fereastra browserului sau un cadru. 3.dimensiuni relative n* linia sau coloana care ocup a n-a parte din spaiul rmas dup crearea linilor sau coloanelor anterioare. Ex: cols=250, 40%,1*,2*- pag web mprit n patru cadre de tip coloan. Primul cadru are limea de 250 pixeli, al doilea cadru 40% din limea ferestrei, spaiul rmas se mparte n trei pri egale din care o parte revine cadrului al treilea iar 2 treimi ultimului cadru. Cadru vertical se definete astfel: <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Frameset//EN http://www.w3.org/tr/xhtml1/DTD/xhtml1-frameset.dtd> <html xmlns=http://www.w3.org/1999/xhtml xml:lang=en> <head> <title>Pagina principala de cadre</title></head> <frameset cols="40%,40%">

48

<frame src="exemplul1.html"> <frame src="exemplu2.html"> </frameset> </html> Editarea paginilor exemplu1.html i exemplu2.html Cadru orizontal se definete astfel: <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Frameset//EN http://www.w3.org/tr/xhtml1/DTD/xhtml1-frameset.dtd> <html xmlns=http://www.w3.org/1999/xhtml xml:lang=en> <head> <title>Pagina principala de cadre</title></head> <frameset rows="40%,40%"> <frame src="exemplul1.html"> <frame src="exemplu2.html"> </frameset> </html> Cadru mixt se definete astfel: <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Frameset//EN http://www.w3.org/tr/xhtml1/DTD/xhtml1-frameset.dtd> <html xmlns=http://www.w3.org/1999/xhtml xml:lang=en> <head> <title>Pagina principala de cadre</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> </html> Dac browser-ul nu suport cadre se va ignora coninutul tag-ului frame i se va afia coninutul lui noframe. Tag-ul noframe include text i tag-uri XHTML. Atributele de formatare a unui cadru sunt: [Anghel_2008][2] 1.frameborder- poate lua valoarea 1 sau 0(ascunde marginile cadranului) 2. marginwidth-distana dintre coninutul unui cadru i marginile orizontale 3. marginheight-distana dintre coninutul unui cadru i marginile verticale 4.scrolling -valorile sunt yes(bara este prezent permanant) no(bara nu este afiat) auto(bara este afiat de browser cnd este necesar) 5. noresize dimensiunile cadrului sunt stabilite prin intermediul atributelor tag-ului frameset, dar se pot modifica cu mose-ul. Pentru a se impiedica modificarea atributelor elementului frameset se folosete atributul noresize. Deschidrea documentelor n alte cadre se realizeaz astfel: < a href=adresa target=nume_cadru> Link</a> <frame name= nume_cadru> Deci, este nevoie de atributul target a tag-ului a care trebuie s primeasc ca valoare irul de caractere existent n atributul name a lui frame. Un cadru intern definete o zon dreptunghiular n interiorul unei pagini Web n care browser-ul afieaz un alt document XHML cu marginile i barele de defilare. Cadrul se specific cu ajutorul tag-ului iframe, n interiorul tag-ului body. Dac browser-ul nu suport cadre interne se va afia coninutul lui iframe.Atributele lui iframe sunt:

49

1.src ia ca valoare url documentului care se va afia n cadrul intern. 2.frameborder- poate lua valoarea 1 sau 0(ascunde marginile cadranului) 3. marginwidth-distana dintre coninutul unui cadru i marginile orizontale 4. marginheight-distana dintre coninutul unui cadru i marginile verticale 5.scrolling -valorile sunt yes(bara este prezent permanant) no(bara nu este afiat) auto(bara este afiat de browser cnd este necesar) 6. name-numele cadrului intern 7. height- nlime, width-lime, align-alinierea Deschidrea unui document ntr-un cadru intern impune ca atributul target al elementului a trebuie s primeasc valoarea numelui cadrului intern <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd> <html xmlns=http://www.w3.org/1999/xhtml xml:lang=en> <head> <title>Definire cadre interne</title></head> <body> <ul> <li><a href=http://www.google.com target=cadruintern>Google</a></li> <li><a href=http://www.yahoo.com target=cadruintern>Yahoo</a></li> </ul> <iframe width=80% height=40% name=cadruintern src=doc1.html> Browser-ul nu soporta cadre interne </iframe> </body> </html> Regulile de excluziune:[9][7][2] 1. elementul a nu poate conine alte elemente a ; 2. elementul pre nu poate conine elementele : img, object, big, small, sub sau 3. elementul button nu trebuie sa includ oricare dintre elementele: input, select, textarea, label, button, form, fieldset, iframe, isindex. 4. elementul label nu poate conine alte elemente label; 5. elementul form nu poate conine alte elemente form; 3.4.8.Hiperlegturile O legtur stabilete o conexiune din paginea curent ctre o alt pagin. Crearea unei legturi se face cu tag-ul nevid <a>. Destinaia legturii este specificat ca val a atributului href. Coninutul tag-ului poate fi: text, imagine. Deschidrea unui document ntr-o fereastr nou se realizeaz cu JavaScript astfel: [Anghel_2008] <a onclick=window.open(this.href); return false; onkeypress=window.open(this.href); return false; href=http://www.google.com> Google</a> Ferestra n care va fi deschis legtura este precizat n versiunea XHTML 1.0 Transitional i XHTML 1.0 Frameset prin intermediul atributului target a tag-ului <a>. Valorile atributului target sunt: [Anghel_2008][2] 1._blank-documentul va fi deschis ntr-o fereastr nou; 2._self-documentul va fi deschis n fereastra curent; sup ;

50

3._parent-documentul va fi deschis n fereastra printe a ferestrei curente, n cazul n care fereastr curent nu are o fereastr printe, valoarea atributului este echivalent cu atributul _self; 4._top- documentul se va ncrcat n fereastra original, eliminnd cadrele dac exist atunci cnd cadrul curent nu are printe, valoarea atributului este echivalent cu _self; Atribute precizate n specificaia XHML 1.0 Strict sunt: [Anghel_2008][2] 1.type-se indic tipul MIME al coninutului resursei precizate ca valoare a atributului href) ex: application/pdf 2.charset- se precizeaz setul de caractere al resursei indicate ca valoare a atributului href; 3. accesskey- se definete o tast pt accesarea legturii; Elementul vid link, care se utilizeaz n antetul unui document XHTML, are rolul de a transmite informaii folosite de browserele web i de motoarele de cutare. Exist posibilitatea ca ntr-un document xhtml s existe mai multe elemente link simultan. [Anghel_2008][9][2] 3.4.9.Formulare Un rol important n preluarea datelor de la utilizator. Sintax: [Anghel_2008] <form atribute> Seturi de cmpuri + alte tag-uri de formatare </form> Atribute specifice tag-ului <form> sunt : [Anghel_2008] action=URL;- are ca valoare adresa(URL-ul) fiierului de pe server ce conine scriptul de prelucrare a datelor de pe formular. method=get|post;- indic metoda HTTP prin care datele coninute n cmpurile formularului vor fi transmise scriptului de prelucrare. Metodele get(implicit) i post se folosesc pt transmiterea datelor ctre server precizate ca valori ale atributului action. Cele 2 metode sunt case insensitive. enctype=application/x-www-form-urlencoded|multipart/form-data;precizeaz tipul de codificare aplicat coninutului formularului pt a obine setul de date care va fi trimis serverului. Setul de date al formularului este o secven de perechi de genul nume obiect=valoarea obiectului. Un formular poate conine urmtoarele tipuri de obiecte: [Anghel_2008] 1. definite cu tag-ul vid input: csu text, butoane; 2. Casete de text create cu tag-ul textarea 3. Liste de opiuni create cu tag-ul select Exemplu de formular: <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd> <html xmlns=http://www.w3.org/1999/xhtml xml:lang=en> <head> <title>Liste derulante</title></head> <body> <form method=post action=x.php> <label for=fruct>Care este fructul favorit?</label> <br /> <select name="fructe" id=fruct> <optgroup label=citrice> <option s value="1">mandarine</option> <option value="2">portocale</option> </optgroup>

51

<optgroup label=mere> <option s value="3">ionatane</option> <option value="4">golden</option> </optgroup> </select> </form> </body> <html> Teme pentru verificarea cunotinelor 1. Care este structura unui document XHTML? 2. Care este tag-ul care permite inserarea unei imagini ntr-un document HTML? 3. Creai o pagin care s fie mprit n dou cadrane orizontale n primul cadran s existe o list ordonat iar n al doilea cadran s existe o imagine. 4. Creai un site care s conin toate elementele XHTML nvate. 5. S se valideze site-ul creat la pasul 4 cu validatorul Tidy. Regulile de excluziune corecte: elementul a poate conine alte elemente a ; elementul pre nu poate conine elementele : img, object, big, small, sub sau sup ; elemetul form poate conine un alt element form. Un DTD este: un fiier text ce conine reguli prin intermediul crora sunt stabilite elementele i atributele, valorile acestora, modul de apariie a elemetelor i atributelor, relaiile dintre elemente i atribute, adic structura unui document XHTML. un fiier text ce nu conine reguli prin intermediul crora sunt stabilite elementele i atributele, valorile acestora, modul de apariie a elemetelor i atributelor, relaiile dintre elemente i atribute, adic structura unui document XHTML. un fiier text ce conine tabele. Declaraia DOCTYPE este folosit de browser web pentru a identifica versiunea limbajului XHTML folosita n scrierea documentului de alt pagin web pentru a identifica versiunea limbajului XHTML folosita n scrierea documentului de server pentru a identifica versiunea limbajului XHTML folosita n scrierea documentului Exist trei definiii DTD pentru XHTML: STRICT, TRANSITIONAL,FRAMESET Strict ,Confidenial, Tranzit Frame, Iframe,Strict Rspunsuri: Regulile de excluziune corecte: elementul a poate conine alte elemente a ; elementul pre nu poate conine elementele : img, object, big, small, sub sau sup ; elemetul form poate conine un alt element form. Un DTD este:

52

un fiier text ce conine reguli prin intermediul crora sunt stabilite elementele i atributele, valorile acestora, modul de apariie a elemetelor i atributelor, relaiile dintre elemente i atribute, adic structura unui document XHTML. un fiier text ce nu conine reguli prin intermediul crora sunt stabilite elementele i atributele, valorile acestora, modul de apariie a elemetelor i atributelor, relaiile dintre elemente i atribute, adic structura unui document XHTML. un fiier text ce conine tabele. Declaraia DOCTYPE este folosit de browser web pentru a identifica versiunea limbajului XHTML folosita n scrierea documentului de alt pagin web pentru a identifica versiunea limbajului XHTML folosita n scrierea documentului de server pentru a identifica versiunea limbajului XHTML folosita n scrierea documentului Exist trei definiii DTD pentru XHTML: Strict, Transitional,Frameset Strict ,Confidenial, Tranzit Frame, Iframe,Strict

Bibliografie
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.

[1] http://www.sciam.com/article.cfm?articleID=00048144-10D2-1C7084A9809EC588EF21 [2] http://www.w3schools.com [3] XHTML sintaxa http://w3schools.com/xhtml/xhtml_syntax.asp [4] Validator - http://validator.w3.org/ [5] XHTML tool - http://savannah.nongnu.org/projects/xhtmltools/ [6] XMLBuddy http://www.download.com/XMLBuddy/3000-7241_410422909.html?tag=lst-0-5 [7] HTML Tidy http://tidy.sourceforge.net/#docs [8] http://www.upg-ploiesti.ro/col/ldumitrascu/html/content.jsp-id=5.htm [9] http://www.tutorialeweb.ro/view_art.php?IDart=35&articol=module_xhtml [10]http://interfetze.blogspot.com/2008/11/xhtml.html [11]http://www.w3.org/International/articles/serving-xhtml/Overview.ro.php [12]http://interfete-web.clubcisco.ro/site/index.php/xhtml [Anghel_2008]Traian Anghel, Programare web pentru liceu,Editura Polirom,2008

53

MODULUL 4 MYSQL SERVER 4.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. . 4.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.

4.3. Schema logic a modulului Prezentarea produsului informatic MySql Server a impus structurarea acestului modul ca n figura de mai jos:

54

MySQL concepte de baz, caracterisitci

Modul de funcionare a unui server de baze de date pentru Web

Tipuri de date SQL

Baze de datedefiniie, proiectare

Operaii asupra bazelor de date n MySQL

Fig.4.3.1 Structura modulului 4 4.4. Coninutul informaional detaliat 4.4.1. MySQL concepte de baz, caracterisitci MySQL este cel mai popular sistem de management pentru baze de date relaionale deoarece este open-source. 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

55

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 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]. 4.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;

56

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. 4.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]: Tip de dat TINYINT Descriere Valori Bytes 1

SMALLINT

MEDIUMINT

INT sau INTEGER

ntregi de dimensiune foarte mic cu semn [-128;127] fr semn [0,255] ntregi de dimensiune mic cu semn fr semn [-32768,32767] [0; 65535] ntreg de lungime medie cu semn fr semn [-8388608; 8388607] [ 0;16777215] ntreg de lungime normal. cu semn [fr semn 2147483648;2147483647

57

] [0; 4294967295] BIGINT ntreg de dimensiune mare. cu semn fr semn [9223372036854775808; 9223372036854775807] [0;184467440737095516 15] [1.175494351E-38 3.402823466E+38] 8

FLOAT

REAL sau DOUBLE

NUMERIC sau DECIMAL

[2.2250738585072014E -308, 1.7976931348623157E +308] Tabel 3.1. Tipuri de date numerice [site9][site10][site11]

Numr n virgul mobil care nu poate fi fr semn avnd precizie simpl sau dubl. Precizia poate merge pn la 24 de zecimale Numr n virgul mobil, de dubl precizie care nu poate fi fr semn. Precizia poate merge pn la 53 de zecimale. Numr n virgula mobil care nu poate fi fr semn.

[2.2250738585072014E -308, 1.7976931348623157E +308]

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; 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)

58

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 4.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; 4.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]

59

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). 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.

4.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 s-a 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.

60

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); 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

61

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.

62

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 apelate ntotdeauna cnd se ncepe crearea tabelelor html

63

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

64

MODULUL 5 PREZENTAREA LIMBAJULUI DE SCRIPTING PHP 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 5.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.

65

5.3. Schema logic a modulului Prezentarea limbajului de scripting PHP a impus structurarea acestui modul ca n figura de mai jos:

Principiul de funcionare PHP Elemente de limbaj PHP

HTM+PHP+MYSQL

Site-uri web dinamice Portaluri Web

Fig.4.3.1 Structura modulului 3 5.4. Coninutul informaional detaliat 5.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

66

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. 5.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. Parserul 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.

67

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. 5.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 a valorilor unei variabile</title> </head> <body> <? 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 a valorilor unei variabile</title> </head><body> Comanda de afisare a datelor pe ecran

68

<br> Limbajul PHP</body></html>

5.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. 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. 5.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.

69

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]

$_SERVER este un tablou ce conine variabile de mediu ale serverului; $_GET este un tablou ce conine variabile transferate scriptului prin metoda GET; $_POST este un tablou ce conine variabile transferate scriptului prin metoda POST; $_COOKIE este un tablou ce conine blocuri cookie; $_FILES este un tablou ce conine variabile legate de ncrcarea fiierelor; $_REQUEST este un tablou ce conine toate variabilele introduse de utilizator, inclusiv coninutul intrrilor din $_GET, $_POST i $_COOKIE; $_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().

70

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: < ?$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.

71

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 5.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 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 DO-WHILE; 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.

72

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.

73

5.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: <? $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: <?$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: < ? $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: <? $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);

74

// 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: <? $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: <?$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: < ? $oamenii_la_masa1 =$oamenii_la_masa;?> 5.Afiarea datelor dintr-un tablou se face folosind construcia echo, numele tabloului i indicii pe care s-au memorat elementele tabloului ca n exemplul urmtor : < ?$oamenii_la_masa = array(Ionel,Maria,Viorel) echo "$oamenii_la_masa[0] $oamenii_la_masa[1] $oamenii_la_masa[2]"; ?>

75

Afiarea datelor se mai poate realiza folosind ciclul FOR astfel: <?$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: <?$oamenii_la_masa = array(33=>Ionel,Maria,Viorel) foreach($oamenii_la_masa as $element) echo $element; ?>

76

5.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. 5.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 : <?$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/>';}?> 5.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.

77

operatorul ! = = returneaz TRUE dac tablourile care sunt comparate nu conin aceleai elemente pe aceleai poziii, altfel returneaz FALSE.

78

5.4.8. Funcii O funcie este un ansamblu alctuit din tipuri de date, variabile, constante i instruciuni scrise n vederea unei anumite prelucrri(calcule, citiri, scrieri) i care pot fi rulate doar dac sunt apelate dintr-un 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] 5.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. 5.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;

79

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. 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. Funciile calendaristice sunt: [McCatry2002][ [Chip2/2003] 1. strftime(a) returneaz data curent, formatat conform coninutului parametrului a; 2. date() returneaz ora, luna, anul precum i alte elemente ale datei curente n funcie de context ; 3. now() returneaz data i ora curent. 4. hour(t) returneaz ora din cadrul parametrului. Valorile parametrului pot fi n intervalul [0-23]. 5.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:

80

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 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. 5.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. 5.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:

81

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. 5.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: 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. 5.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.

82

5.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]); 5.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, 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;

83

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 browser-ele lor. PHP tocmai din acest considerent folosete metoda dual bloc cookie/URL. 5.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. 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

84

scopul de al afia utilizatorului. Mecanismul de funcionare a prelucrrii datelor din cadrul unui formular este prezentat n figura de mai jos:

Figura 4.4.11. Model Client-Server care folosete PHP adaptare dup[LalaniChandak1997] 5.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 ntro 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. 5.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]:

85

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); Conectarea cu succes la baza de date permite realizarea de interogri SQL, urmate de obinerea 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. folosind un array numeric; 2. 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_2= '$valoare_2',..., coloana_n='$valoare_n' WHERE condiie; tergerea datelor dintr-o tabel a unei baze de date presupune realizarea urmtorilor pai: 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 ; 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

86

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 de scripting PHP. Aceste exemple puse cap la cap pot constitui piatra de temelie n procesul de creare a oricrui web site dinamic complex.

87

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 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 unor programe stocate pe server ce acceseaz baze de date. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.

88

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 < ? .... ?> < !... !> // \

89

Bibliografie complet a cursului 1. 2. 3. 4. 5. [Abrams2000] Rhonda Abrams, The Successful Business Plan, Running R MediaTM, Palo Altro, California, 2000; [AllenWyatt1998]Allen&Wyatt, Succes n Internet, Editura All Education, 1998; [Amor1999]D.Amor, The E-Business Revolution, Prentice-Hall, 1999; [Anescu2003]V.Anescu, R. Anescu, Comerul Electronic, Tribuna Economic Nr.4/22.01.2003; [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; [PMGApers1988]P.M.G Apers, Data allocation in distributed systems, ACM Transaction on Database Systems, 1988; [Armstrong2001] Steven Armstrong , Advertising on the Internet, Kogan Page, London, 2001, p.16; [Baltag2001] Vasile Baltag, Romnia i afacerile electronice,Revista e-Finance supliment Piaa Financiar, Februarie 2001, p.2-5; [Belch2002] George E. Belch&Michael A. Belch, Advertising and Promotion, 5th Edition, McGrow Hill Irwin, 2002; [Beltz1997]C.Beltz, Reciprocity versus Internet-Induced Liberalization: The Case of Telecommunications, American Enterprise Institute, Washington D.C.,1997; [Benage2001] Don Benage, Azam Mirza, Visual Studio 6, Editura. Teora, 2001; [Berar-site]Sanda Berar, Sisteme distribuite de baze de date, http://www.agora.ro/pcrep/pcrep57/21.html; [Berar2000] Sanda Berar, Sistemul decizional al firmei. Perspective economice i informatice., tez de doctorat, septembrie 2000, Cluj-Napoca [Berman1999] M.Berman, G.Scott, etc., Commerce Solution for DNS Enabled Entreprises, Microsoft Corporation, august 1999; [Bininan2001]Petru Bininan, Eficiena economic a investiiilor, Editura Presa Univiversitar. Clujean., Cluj-Napoca, 2001; [Bolun1997] I.Bolun, Iniiere n reele Internet, ASEM Chiinu, 1997; [Boian1997]Boian, F. M.,Programarea distribuit n Internet metode i aplicaii, Ed. MicroInformatica, 1997; [BuBois2001]P.BuBois, MySQL, Editura: Teora, 2001; [Bucur2002]Cristina-Mihaela Bucur, Comer Electronic, Editura ASE, Bucureti, 2002; [Butuc2002]Iulia Butuc-Cherchez, Forester Research prezice o explozie a comerului electronic european, Ziarul Financiar, 27 August 2002; [Buraga2002] Sabin Buraga, Proiectarea siteurilor Web, Editura Polirom,2002 [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; [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; [Cameron1997]Debra Cameron, Electronic Commerce The New Business Platform for the Internet , Computer Technology Research Corp., 1997;

6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.

23.

24.

90

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 /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 eFinance, 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;

91

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, 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.10-14; 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 XMLDOM-ASP, Ed. Economic, Bucureti, 2002,392 pag., ISBN 973-590-644-9

92

73. [Negrescu2000] L.Negrescu, Limbajele C i C++ pentru nceptori~ Limbajul C, Volum1,Partea 1, Editura Microinformatica,2000,Cluj-Napoca, ISBN 973-944382-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:973-656-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, 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-7950-43-7;

93

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, Editura Economic, 2002; 93. [Ru1998]Gheorghe Ru, Modele financiar-tranzacionale n comerul electronic, PC World Romnia, nr.6/1998,p.47-53; 94. [Robu2002]Nicolae Robu,etc., Internet ~Infrastructur i servicii~, Editura Politehic, Timioara 2002; 95. [Ricart1998]M.A. Ricart, Apache Server Survival Guide, 1998; 96. [Roca2000] I.Gh.Roca, N.pu i alii, Internet & Internet, Concepte i aplicaii, Editura Economic, 2000, ISBN 973-590-398-9; 97. [Rusu2001] L.Rusu, Internet i calitate, Risoprint, 2001, ISBN 973-656-0422-2 98. [Sabu2003]Mircea Sabu, Soluii pentru probleme economice, NET Report Nr 125 / Februarie 2003, www.agora.ro/netreport125/or1.shtml; 99. [ScarlatSoroiu]Mihai Scoraru, Claudiu Soroiu, Pagini Web cu PHP4, http://www.ginfo.ro/revista/13_3/internet.pdf 100. [Sankappanavar1981] S.Burris H.P. Sankappanavar, A cours in Universal Algebra, Springer-Verlag, New-York, 1981; 101. [Stanca2004.1]Liana Stanca, Abordarea e-mall-urilor cu ajutorul algebrelor eterogene, revista Studia Universitatis Babe-Bolyai, Oeconomia, XLIX, numrul 1/2004; 102. [Stanca2004.2]Liana Stanca, Application of heterogeneous algebra in the electronic commerce, revista de la Facultad de Ingenieria , iulie 2004, Chile pag:45-49 ; 103. [Stanca2004.3]Stanca Liana Maria, Suportul economic al afacerilor electronice pe Internet, Editura PRESA UNIVERSITARA CLUJEANA, Cluj-Napoca,2004, P. 148, ISBN:973-610-320-X; 104. [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; 105. [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; 106. [Stanca-teza]Purdea Liana-Maria (cs. Stanca), Contribuii la conceperea, proiectarea i realizarea afacerilor pe Internet, Tez de doctorat, Decembrie 2004, Cluj-Napoca ; 107. [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; 108. [Stanca2006]Stanca Liana Maria, The estimation of a virtual shops success by using the Monte Carlo Method, 5th WSEAS International Conference on EACTIVITIES'06, Venice, Italy, WSEAS, ISBN: 960-8457-56-6, Scopus, 2006, P. 195-199 109. [Stanca2004.3]Stanca Liana Maria, Suportul tehnologic al afacerilor electronice pe Internet, Editura PRESA UNIVERSITARA CLUJEANA, Cluj-Napoca,2007, P. 328, ISBN:978-973-610-588-3;

94

110. [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 111. [Tudor2000]Tudor Sorin, Informatic Varanta C++, Manual pentru clasa IX, Editura,L&S INFOMAT, Bucureti 2000 112. [mbulea2002]Leon mbulea, Baze de Date, Centru de nvare continu i nvmnt la distan, Facultatea de Matematic i Informatic, Cluj-Napoca, 2002; 113. [Vasiu2001] Ioana Vasiu, Criminalitatea Informatic, Editura Nemira, Bucureti, 2001; 114. [Vasiu2002]Ioana Vasiu, Lucian Vasiu, Informatica juridic i dreptul informatic 2002, Editura Albastr, Cluj-Napoca,2002; 115. [WaltherLevine2001] Stephen Walther, Jonathan Levine, Programarea n ASP pentru Comer Electronic, Editura Teora, Bucureti, 2001; 116. [Wasserman1999] Elizabeth Wasserman,Dreamweaver, in The Industry Standard, 8 November 1999; 117. [Welling2001] Luke Welling, Laura Thomson, PHP and MySQL Web Development, SAMS Publishing,2001; 118. [WellingThomson2005] L. Welling, L. Thomson, Dezvoltarea aplicaiilor Web cu PHP i MySQL, Editura Teora, 2005, Bucureti, ISBN: 1-59496-051-8; 119. [Chip2/2003]Revista Chip Special, Nr.2-2003, Crearea unui Website dinamic; 120. [ApachePHP-site]www.thickbook.com, Apache+PHP4 on Windows, 2002; 121. [microsoft-site]www.microsoft.com; 122. [w3schools-site]www.w3schools.com; 123. [weblogs-site]http://php.weblogs.com 124. [books-site]ftp://ftp.astral.ro/pub/books; 125. http://www.gwp.ro/ro_services_programming.php; 126. [asp-site]www.asp.net; 127. [electronica-site] http://www.electronica-azi.ro/ ar.php; 128. [netconcepts-site] http: // www. netconcepts. com/ news/ php vsasp.php; 129. Internet Indicators, URL: www.internetindicators.com, 2001 (10 August 2001). 130. http://www.academiaromana.ro/pro_pri/doc/st_b03.doc 131. [MySQL-site]www.MySql.com, MySql Reference Manual for version 4.0.0-alpha; 132. [PHP1-site]www.php.net. PHP Manual, Edited by Stig Saether Bakken; 133. [MySQL2002] MySQL Server and Clients, Documantaie de firm, MySql AB, 2002.; 134. [PHP2-site]www.phpfreaks.com, PHP and MySQL Web Site Building Tutorial; 135. [site1]http://ro.wikipedia.org/wiki/Server; 136. [site2]http://www.worklance.com/htmltutorial; 137. [site3] http://www.acucalin.ro/curshtml/ch.html; 138. [site4] http://www.infodamina.ro/html; 139. [site5] http://euro.ubbcluj.ro/~alina/cursuri/internet-teorie/; 140. [site6] http://www.etutoriale.ro/articles/127/1/Crearea-formularelor-HTML; 141. [site7] http://www.etutoriale.ro/articles/88/1/Frame-uri-HTML; 142. [site8] http://www.ionitaasan.go.ro/main_page_files/retele/retele2.htm; 143. [site9] http://www.php.maelvi.ro/pgs/tut_mysql_date.php;

95

144. [site10] http://www.etutoriale.ro/articles/39/1/Tipuri-de-date; 145. [site11] http://www.itim-cj.ro/~jalobean/Cursuri/www.my-sql.go.ro/utilizare.htm# cols 146. [site12] http://ro.wikipedia.org/wiki/Baz%C4%83_de_date 147. [site13] http://office.microsoft.com/ro-ro/access/HA012242471048.aspx?pid=
CH100645691048#Terms
148. 149.

[site14] http://www.phpromania.ro/modules.php?name=News&file=article&sid=560 [site15] http://www.tutoriale.far-php.ro/index.php? p=Structuri%20de%20control %20%26


icirc%3Bn%20PHP;

150. [site16] http://www.drogoreanu.ro/tutorials/php2.php 151. [site17] http://www.ase.ro/biblioteca/pagina2.asp?id=cap1 152. [site18] http://documentatiephp.xhost.ro/cap3.php 153. [site19] http://www.etutoriale.ro/articles/93/1/Tutorial-complet-PHP/print/93 154. [site20]http://students.info.uaic.ro/~webgr/php/tipuri-de-date.html#Tablouri

Bibliografie opional [Boian_97] Boian, F. M, Programarea distribuit n Internet metode i aplicaii Ed. MicroInformatica, 1997; Biblioteca facultii 2. [BuBois_01]P.BuBois, MySQL, Editura: Teora, 2001, Biblioteca facultii 3. [Darnell_01]R.Darnell, Totul despre HTML 4, Editura Teora, 2001, Biblioteca facultii 4. [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 1. 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

96

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.

97

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 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

98