Sunteți pe pagina 1din 59

MINISTERUL EDUCAIEI, CERCETRII I INOVRII

UNIVERSITATEA 1 DECEMBRIE 1918 ALBA IULIA


FACULTATEA DE TIINE
SPECIALIZAREA INFORMATIC

Promovarea Firmei S.C: Stejarul


SNC

Coordonator tiinific:

Absolvent:

Conf. univ. dr. Emil Olteanu

Student Ciulea Claudiu


Sorin

ALBA IULIA
2013

CUPRINS
INTRODUCERE........................4
CAPITOLUL I.Internetul si paginile Web..................................................................................5
1.1 Comerul electronic........................................................................................................5
1.2 Scurt istoric al apariiei i dezvoltrii internetului.8
1.3. World Wide Web......9
Capitolul II.Limbajul HTML i limbajul PHP utilizate la proiectarea siturilor WEB
dinamice........................................................................................................................................11
2.1. Evoluia HTML...11
2.2. Taguri de baz.12
2.3. Stilurile pentru blocurile de text.13
2.4. Fonturi.14
2.5. Blocuri de text.....14
2.6. Inserarea imaginilor15
2.7. Inserarea tabelelor...16
2.8. Crearea formularelor HTML si XHTML16
2.9. Limbaje de scriptare19
2.10. Formatarea paginilor HTML utiliznd specificatori de stil CSS..............................20
2.11. Limbajul de scripting PHP26
2.12. Serverul Web Apache...31
Capitolul III.Baze de date i SGBDMysequl utitilizate la realizare site-urilor WEB
........................................................................................................................................................33
3.1. Concepte din teoria, proiectarea i administrarea bazelor de date......33
3.2.Administrarea bazelor de date cu ajutorul SGBD MySQL......38
Capitolul

IV.Proiectarea

unui

site

WEB

pentru

promovarea

unui

firme

pe

internet..........................................................................................................................................40
4.1. Proiectarea unui site Web. Analiza, proiectare, realizare...40
Concluzii........................................................................................................................................4
4
Bibliografie ...................................................................................................................................4
5
Anexe.............................................................................................................................................46

INTRODUCERE

Prezenta lucrare abordeaz un aspect de actualitate din cadrul Teorie i Practici


Informatice i anume Proiectarea i realizarea siturilor Web dinamice utiliznd limbajul HTML
n asociere cu server-ul de aplicaii PHP i serverul de baze de date MySQL.
Componena practic a fost realizat n scopul asimilarii tehnologiilor web precum i a
materializrii acestor tehnologii prin construirea unui site care va putea fii gzduit pe Internet n
scopul promovrii activitii firmei familiei noastre, fiind un bun prilej pentru a lua contact cu
problemele din viaa economic real i a gsirii soluilor informatice la aceste probleme.
Acesta constiutie i motivul alegerii temei, care poate constitui un punc de nceput n
cariera autorului lucrrii, avnd o solid pregatire informatic primit n anii studeniei i care
s-au au refelectat n manierea n care a fost realizat prezenta lucrare.
Lucrearea se ncadreaz n domeniul de larg aplicabilitate n domeniul Tehnicoeconomic, att pe plan mondial ct i la noi n ar al construiri site-urilor Web dinamice.
Spaiul World Wide Web a nregistrat o diversitate i o dinamic deosebit mai ales n
ceea ce privete maniera de proiecare si dezvlotare a siturilor n care apar noi modele(abloane,
reele, trucuri) i un numr relative strns de limbaje i tehnologii folosite pe scar larg.
Universul PHP a fost ales s stea la baza lucrrii datorit flexibilitii deosebite care
permite construirea de site-uri web dinamice de medie i de mare complexitate n contextual
utilizrii server-ului Web Apache i al server-ului de baze de date MySQL.
Punctul de pornire la constituit studiul cursurilor de informatic studiate n cursul
facultii care mi-au dezvoltat apetitul n spre realizarea stie-urilor Web, urmate apoi de apariia
oportunitii de a construi un site web n scopul promovrii n spaiul virtual al activitii
acestuia.
Capitolul I este dedicat internetului i paginilor Web. Am trecut m revist cteva tipuri de
aplicaii poteniale pe web i anume comeul electronic (E-Commerce) , E-Business,

E-

Banking, apoi am prezentat cteva aspecte legate de dezvoltarea internetului.


Se prezint n continuare World Wide Web, reeaua de resurse informaionale mpreuna
cu cteva din mecanismele fundamentale care stau la baza acestora.
Capitolul II prezint limbajul HTML i limbajul PHP utilizate la proiectarea site-urilor
Web. n 2.1. se prezint evoluia HTML de la SGML pn la HTML 5.0, iar n 2.2. sunt
3

prezentate tagurile de baz care sunt uzitate n orice document HTML. n paragrafele urmtoare
sunt prezentate stilurile pentru blocurile de text, fonturile, inserarea imaginilor i inserarea
tabelelor. n 2.8. se prezint cteva din caracteristicile XHTML care este o reformulare a
limbajului HTML 4.0 i care impune un standard reguros cu privire la scrierea documentelor.
Astfel am fcut referire la elementele XHTML n sensul descrierii sintaxei tagurilor utilizate i
atributurilor folosite. A fost acordat o atenie deosebit elementului form care este nelipsit intr-o
aplicaie web mai complex i care permite userului s transmit un formular cu date ctre server.
Paragraful 2.9. a fost dedicat limbajelor de scriptare iar paragraful 2.10 a fost dedicate
formatrii paginilor HTML, utiliznd specificatorii de stil CSS.
La fianlul capitoluli 2.11. trateaz limbajul de scripting PHP iar 2.12. serverul Web
Apache.
Capitolul III este dedicate bazelor de date i SGBD-ului MySQL utilizate la realizarea de
site-uri Web. La nceputul capitolului n paragraful 3.1. sunt prezentate cteva concepte din
teoria i practica proiectrii i administrrii bazelor de date. n continuare in 3.2. este tratat
administrarea bazelor de date cu ajutorul SGBD MySQL
Capitolul IV se ocup cu proiectarea unui site web pentru promovarea unei firme pe
internet. Astfel n paragraful 4.1. este prezentat cadrul metodologic cu privire la proiectarea unui
site web i anume etapele de analiz, proiectare i realizare. A fost ilustrat n acest capitol solutia
concret adoptat la construirea site-ului.
Menionam faptul c n anexe am prezentat cteva mostre de cod scrise cu ocazia
realizrii site-ului si cteva print-screenuri care ilustraz funcionalitatea acestuia.
Mulumim n mod deosebit Domnului Conf. univ. dr. Emil Olteanu, care n calitate de
coordonator tiinific s-a aplecat cu deosebit solicitudine i profesionalism, contribuind cu
documentaie i sugesti la realizarea lucrrii.

CAPITOLUL I
INTERNETUL I PAGINILE WEB
1.1 Comerul electronic
Dezvoltarea exponenial a tehnologiilor informaionale din anii 90 pn n prezent,
determinat de necesitatea stocrii i transmiterii rapide, ct mai rapide a informaiilor cu costuri
minime a impulsionat comerul mondial precum i ntreaga infrastructur social i economic
care se constituie n ceea ce numim globalizare .
Comerul electronic const n desfurarea unei afaceri prin intermediul reelei interne
(fig1.1), prin care vnzare de bunuri i servicii are loc on-line sau off-line. Derularea afacerilor
care are ca suport reeaua Internet se face prin utilizarea unor pachete de programe software
specific de tipul transferului de fiiere i a potei electronice. Aceast accepiune privind
comerul i promovarea electronicii a unor activiti a fost completat prin apariia unor servicii
interne mult mai perfecionate n contextul dezvoltrii interconectivitii calculatoarelor n
reeaua Internet i al utilizrii tehnologiilor din domeniul telefoniei mobile.

Fig.1.1. Exemplificare Comer Electronic


5

n exemplu de mai sus, este oferit posibilitatea de efectuare a cumprturilor prin re ea,
consultnd cataloage electronice on-line pe Web. Plata acestor bunuri sau servicii se face prin
intermediul crii de credit. Comerul electronic const n derularea de relaii de afaceri prin reea
ntre furnizori i clieni care implic transferul de documente, contracte, comenzi i pli
electronice completate de imagini sau nregistrri vocale.
In literatura de specialitae este utilizat urmtoarea definiie a comerului electronic (ECommerce), care const n maniera de a conduce activitiile de comer prin utilizarea de
echipamente electronice, care permit extinderea ariei de acoperire (locul in care se afl potenialii
clieni) i viteza cu care este livrat informaia.
Comerul electronic este parte a EB (Electronic Business), care a fost proiectat pentru a
realiza schimbul de informaii ntre clieni i furnizori.
Utilizarea larg a aplicaiilor i sistemelor informatice de E-Business i E-Commerce
asigura competitivitatea ntreprinderilor, bncilor i a instituiilor guvernamentale sau private.
Aceste tehnologii i aplicaii asigur:

accesul la noi segmente de pia sau la noi clieni;

mbuntete viteza de derulare a afacerilor;

ofer o flexibilitate ridicat a politicilor comerciale;

reduce costurile cu aprovizionarea, desfacerea i publicitatea.

Astfel, putem evidenia urmoarele tipuri de aplicaii ale comerului electronic:

oferirea de produse i servicii sau efectuarea de servicii pentru teri ca de exemplu


comanda de cari sau abonamnete la publicaiile on-line;

regsirea i schimbul de informaie de genul detalii legate de produse i servicii,


cataloage, instruciuni de folosire i briefinguri financiare;

creterea eficenei activitiilor de afaceri prin utilizarea potei electronice i


furnizarea de acces la bazele de date;

realizarea de tranzacii financiare telebanking, digicash, etc.

Utilizarea internet-ului a condus la eliminarea barierelor dintre furnizor i clieni i


permite comercializarea de produse pe zone geografice largi. Astfel oamenii de afaceri i pot
extinde domeniul de afaceri prin intrarea pe noi piee, prezentndu-i paginile Web indiferent de
dimensiunea i amplasarea geografic a firmei.
Comerul electronic, necesit prezena firmei n reeaua internet, promovarea firmei,
furnizarea de servicii spre vnzare precum i servicii post vnzare. Dar comerul electronic n
6

forma sa complex ridic probleme de ordin legal, cultural i tehnologic. Firma furnizoare
trebuie s-i creeze un sistem propriu de comand.
Evoluia comerului electronic are un impact major asupra economiei i societii prin
crearea de noi entiti economice precum i diversificarea celor existente.
n Romnia, au aprut operatori privai n telecomunicaii, fapt care a condus la utilizarea
pe scar larg a internetului, ca mijloc de informare prin web site-uri i ca mijloc de promovare a
companiilor i instituiilor prin intermediul paginilor Web. Carenele existente n cadrul legal
privind securitatea tranzaciilor on-line, au fcut c, pn n prezent comerul electronic de tip
Business-to-Business s fie mai puin dezvoltat la noi n ar cu toate c a nregistrat o dinamic
ascenden.
Internetul este un fenomen de avengur mondial care a nregistrat o evoluie deosebit.
Acesta este o reea a reeleleor care partajeaz resurse comune din variate domenii ale vieii
social-econimice. Favorizat de evoluia impresionant a noilor tehnologii hard i soft precum i a
celor din domeniul telecomunicaiilor, internetul a pus la dispoziia utilizatorilor milioane de
situri i pagini web din cele mai diverse domenii. Acesta permite integrarea fiecrui utilizator n
reeaua mondial i fiecare poate deveni o parte activ a acesteia
n prezent toate domeniile de activitate ale omenirii sunt legate de reeaua mondil
WWW (World Wide Web), adic de internet(fig.1.2). Acesta a aprut ca o necesitate de a pune
internetul la dispozitia oricrei persoane interesate de acesta, creia i pune la dispoziie
informaiile i cunostiinele din cele mai diverse domenii ale vieii economico-sociale, ale stiinei
i tehnologiei, ale activitii de nvmnt, medicin, explorarea spaiului cosmic, etc.
Tehnologiile de realizare a stie-urilor web sunt in continu dezvoltare i perfecionare, fapt care
determin posibilitatea construirii de aplicaii web din ce n ce mai complexe i mai perfromante.

Fig.1.2. Internetul, element de legtur a informaiilor din diferiite domenii

1.2. Scurt istoric al apariiei i dezvoltrii internetului


Internetul a fost conceput de ctre i pentru comunitatea academic. Acesta a luat natere
ca ARPANET (Reeaua Ageniei de Cercetri Avansate fig.1.3), o reea militar, proiectat acum
25 de ani cu scopul de a supravieui funcional n cazul unei conflagraii globale.

Fig.1.3. Harta logic ARPANET1


1

http://en.wikipedia.org/wiki/File:Arpanet_logical_map,_march_1977.png
8

La mijlocul anilor 60, cercettorii experimentau construirea de reele de calculatoare care


s fie rapide i sigure cu toate c se bazau pe conexiuni obinuite, care utilizau reele telefonice,
la distane mari prin centrale telefonice. Astfel a aprut ideea reelelor cu comutare de pachete.
Informaiile care circulau prin acest tip de reea sunt fragmentate ntru-un anumit numr
de fragmente numite pachete. Aceste pachete sunt trimise prin reea ctre destinaiile dorite, unde
sunt reasamblate.
La nceput, de serviciile acestui tip de reea au beneficiat doar funcionarii
guvernamentali i cercettorii, treptat, dezvoltarea tehnologic i extinderea reelelor locale
(LAN-Local Area Network) a condus la ideea interconectrii reelelor. La nceput , au fost
interconectate prin intermediul unei backbone (super calculatoare aflate la distan), reele locale
mici i calculatoare individuale, apoi au fost construite reele medii, fapt care a permis
dezvoltarea unor companii i organizaii care creau i menineau n stare funcional aceste
reele. Firme ca IBM, MCI i altele au dezvoltat propriile nuclee backbone rapide asigurnd
accesul a milioane de utilizatori din toat lumea. Reeaua Internet este gestionat descentralizat
aa c rata de cretere a acesteia este dificil de evaluat.
Comunitatea academic utilizeaz internetul ca pe cel mai complet i complex instrument
educaional pentru faptul c pe internet se pot gsi cunotiine care permit studierea oricrei
discipline i se poate comunica rapid cu persoane interesate de acceiai disciplin.
Comunitatea tiinific utilizeaz Internetul ca pe un instrument de cercetare i colaborare
pentru c aceasta ofer acces la cele mai avansate facilitai de cercetare din lume.
Comunitatea economic utilizeaz Internetul ca pe un mediu de derulare al afacerilor.
Internetul este o societate de reele de calculatoare interconectate, independente dar care
se supun unor protocoale globale. Acesta permite utilizatorilor s comunice, s partajeze
informaii ntre ei i ofer acces la cel mai vast ansamblu de cunotiine i informaii din lume.

1.3. World Wide Web


World Wide Web este o reea de resurse informaionale de mare diversitate din punct de
vedere al coninutuli. Acesta este un sistem interactiv hipermediat, adic un sistem ce conine i
suport urmtoarele tipuri de informaie: text, imagini, sunete i imagini animate.
Pentru a pune aceste resurse la dispoziia unui volum imens de utilizatori, web-ul se
bazeaz pe trei mecanisme fundamentale:

o schem uniform de denumire pentru a localiza resursele pe Web;

protocoale pentru accesarea resurselor astfel denumite, pe Web;

hipertextul pentru navigarea comod de la o resurs la alta


9

Web-ul reprezint asamblul paginilor care pot fi cutate i accesate printr-un protocol
special, numit HTTP (Hipertext Transfer Protocol). Web-ul este un spaiu virtual de informaiie
in care se gsesc documente, sunete, imagini, clipuri animate. n internet, conexiunile sunt
cabluri care leag calculatoare, iar n Web, conexiunile sunt legturile hipertext dintre documente
(link-urile)
Web-ul se realizez pe baza programelor care asigur comunicarea ntre calculatoarele
conectate la internet. Acesta a facut internetul accesibil i WWW este cel mai vizibil instrument
internet, care faciliteaz accesul la informaia diseminat pe internet.
Pe Web se pot derula urmtoarele activiti:

publicarea electronic a informaiei;

prezentarea de publicaii/softuri complexe intercative, prin care se pot accesa


bazale de date ale unei companii, se pot cuta specificaile unor categori de
produse;

derularea comerului prin conectarea webului la sistemul de management


sisistemul de contabilitate al firmei.

intranetul (web-ul intern), n cazul n care un proiectant de aplicaii decide s nu


scrie cteva versiuni diferite ale unei aplicaii una pentru PC, alta pentru MAC i
alta pentru UNIX, se poate scrie o singura versiune a aplicaiei independent de
platfom. Companiile mari utilizeaz zeci sau sute de servere web ca mijloc de
comunicare intern.

10

CAPITOLUL II
LIMBAJUL HTML I LIMBAJUL PHP UTILIZATE LA
PROIECTAREA SITURILOR WEB
2.1. Evolutia HTML
Limbajul HTML (Hypertext Markup Language) este unul dintre primele elemente ale
WWW (World Wide Web), care descrie formatul primar n care sunt distribuite i vzute pe web
informaiile. HTML se remarc n sens pozitiv prin independena sa fa de platforma, structura
formatrii i legturile hipetext.
Primele specificaii de baz ale Web-ului au fost HTML, HTTP si URL
Limbajul HTML a fost dezvoltat iniial de Tim Berners-Lee la CENM n anul 1989 cu
intenia utilizrii de ctre oamenii de stiina pentru a schimba ntre ei informaie utilizand
internetul.
Carcateristica independent de platform, determin faptul c un document poate fi afiat
asemntor pe calculatoare diferite (cu fonturi grafic i culori diferite).

Hipertext nseamn c orice cuvnt fraz, imagine sau alt element al documentului
vzut de un utilizator client, poate face referin la un alt document, fapt care face
eficent navigarea ntre mai multe

documente sau n interiorul aceluiai

document. Aceast manevr de utilizare a formatului Hipertext modeleaz ntr-un


11

anume fel modul de organizare i raionament a memoriei umane care este un


contaienr inteligent ncare sunt nmgazinate i intercolerate un volum imens de
cunotiine.
Tim Berners-Lee a utilizat ca modele SGML (Standard Generalized Markup Language)
care se caracterizeaza printr-o structurare adecvat i independent de platform avnd n vedere
structura semantic a documentului i mai puin modul de formatare.
Prin structura sa flexibil, SGML reprezint o specificare pentru descrierea altor formate.
HTML este un DTD, deci o aplicatie a SGML.
Prin apariia primului navigator grafic, mozaic, a fost impulsionat i dezvltarea
limbajului HTML. Astfel prin activitatea desfaurat de ctre HTML Working Grupe a fost
construit HTML 2.0, care a fost standardizat.
Standardul oficeal HTML este World Wide Consortium care este afiliat la IETF (Internet
Engineering Task Force), care a adus la apariia succesiv a urmtoarelor versiuni HTML 3.0 ,
HTML 4.0 respectiv HTML 5.0
Dezvoltatorii

de browsere Netscape i Microsoft au dezvoltat propriile lor extensii

HTML, adesea n afara procesului standard i le-au incorporat in browserele lor.


HTML 2.0 elaborat in Iunie 1994 este standardul pe care l suport browserele actuale,
inclusiv cele n mod text.
Specificaia HTML 3.0 enunat n anul 1995 a inclus ca facilitate tabelele i un control
mai adecvat a textului in jurul imaginilor.
n Mai 1996, WBC a lansat specificaia HTML 3.2 care standardizeaza practicile
acceptate n mediul on-line la acel moment.HTML 3.2 include tagurile HTML 3.0 adoptate de
Netscape i Microsoft n plus extensiile HTML conexe care erau utilizate la acea dat.
Documentele HTML sunt documente n format ASCII, care pot fi creat cu orice editor de
texte n plus au fost dezvoltate editoare specializate cvasi WYSJWYG, avnd n vedere faptul c
navigatoarele afiseaz acelai document ntr-un format care paote fi diferit n funcie de
platforma pe care se ruleaz.

2.2. Taguri de baz


Orice document HTML ncepe cu notaia <html> numit tag i se termin cu </html>.
Tagurile cuprinse ntre parantezele unghiulare <si> transmit comenzi ctre browser pentru a afisa
pagina n formatul dorit de programator. Unele blocuri se termin cu un delimitator de sfr it, de
bloc, n timp ce pentru acesta este opional sau interzis. ntre cele dou marcaje <html> i
</html> se introduc seciunile <head> < /head> respectiv <body></ body>,blocul
<body>.</body> cuprinde coninutul propriu-zis al paginii HTML, adic ceea ce va fi afi at n
12

fereastra browser-ului. Etichetele (tag-urile) pot fi scrise att cu litere mici ct i cu litere mari
din motive de evideniere i estetic.
Titlul unei pagini se obine insernd numele acestuia n seciunea <head>
</head>coninutul blocului <title>.</title> va aparea n bare de titlu a ferestrei browser-uli,
pentru a trece pe o linie nou se utilizeaz comand explicit <br> (line break), pentru ca
browser-ul s interpreteze corect caracterele "spatiu", "tab" care apar n cadrul unui text, textul
trebuie inclus ntre doua tag-urile <pre></pre> (block preformtat).
Pentru configurarea de fundal culorii (background color) precum i a culorii textului sunt
disponibile urmtoarele nume de culori: aqua, black, gray, green, lime, maroon, olive, purpule,
red, silver, white respectiv yellow.

Deasemena pot fi generate 65 536 culori cu ajutorul

construciei #rrggbb# unde: r(red), g(green), b(blue) sunt cifre hexazecimale:0,1.9,a, A,


..,f,F culoarea fundalului unei pagini se precizeaz prin atributul bgcolor al etichetei <body>,
de exemplu <body bgcolor = culoare>. Culoarea textului de specific prin atributul text al
etichetei<body> cu sintaxa: <body text = culoare>.
Mentionam c o etichet (tag) poate avea mai multe atribute prin delimitatorul spaiu.
Textul afiat este caracterizat prin urmtoarele atribute: mrime (size), culoare (color),
font(style), care sunt atribute ale etichetei <basefont> de examplu <basefont size = numr acolor
= culoare style = font>, unde numr poate fi 1,2,3,4,5,6 sau 7 (1 pentru fontul cel mai mic i 7
pentru fontul cel mai mare, culoare-este o culoare specificat prin nume sau printr-o construc ie
RGB, font poate fi un font generic cu : serif, sansserif, cursive, monospace, fantasy
sau un font specific instalat pe calculatorul clientului: Times New Roman, serif, monospace.
Poziionarea coninutului paginii web fa de marginile ferestrei browser-ului se poate
stabili prin urmtoarele atribute ale etichetei <body>

Left margin: stabilete distana dintre marginea din stanga a coninutului paginii

Top margin: stabilete distana dintre marginea de sus a ferestrei browser-ului i


marginea de sus a coninutului paginii

Exemplu:
<html>
<head>
<title>

configurarea textului i stabilirea marginii </title>

</head>
<body leftmargin =100 topmargin =50
Textul are atributele implicite <br>
<basefont style = Arial color = blue size =6>
Textul este scris cu fontul "Arial" , culoarea albastru i mrimea 6
13

</body>
<html>
[1]

2.3. Stilurile pentru blocurile de text


Pentru a afia un bloc de text evideniat (cu caracter aldine), acesta se include ntre
delimitatorii <b> </b> ( b= bold)
Afiarea unui text cu caractere mai mari cu o unitate de ct cele curente folosim etichetele
<big> </big> iar pentru ca acesta s fie mai mici cu o unitate dect cele curente folosim
<small> </small>.
Pentru ca un text s fie scris cu caractere cursive, acesta trebuie inclus ntr-un bloc
delimitat de etichetele <i> </i> ( i- "italic")

2.4.Fonturi
Un font este caracterizat prin urmtoarele atribute:

culoarea (stabilit prin atributul color)

tipul sau stilul

mrimea (definita prin atributul size)

grosimea (definita prin atributul weight)

Aceste atribute aparin etichetei, care permite inserarea de blocuri.


O culoare poate fi precizat printr-un nume de culoare sau printr-o constant conform
standardului de culoare RGB ( Red, Green, Blue).Pentru a scrie un fragment de text cu caractere
de o anumit culoare, se incadreaz acest fragment ntre delimitatori (

n care se

configureaza color cu valoarea dorit.


Pentru a afia un text intr-o pagina se pot folosi mai multe fonturi (stiluri de
caractere).Exista cinci familii generice de fonturi care sunt disponibile pe calculatoarele
utilizatorilor: serif, sano serif, cursife monospace si fantasy.Tipul de font se specific prin
atributul face al etichetei.

2.5. Blocuri de text


Etichetele studiate n aceasta seciune se refer la funcile e care le poate avea un bloc de
text n cadrul paginii web. Aceste etichete produc automat trecerea la un rand nou si adugarea
unui spaiu suplimentar.
14

Indentificarea unui bloc, consta in faptul ca marginea din stnga a textului este deplasat
spre dreapta cu o anumit distant fa de marginea paginii i se obine folosind etichetele:
<blockquote></blockquote>. Un bloc de text delimitat cu etichetele <pre></pre> se
folosete pentru a insera rnduri vide (spaiu ntre rndurile succesive)
Un bloc paragraf <p></p> permite:

inserarea unui spaiu suplimentar nainte de blocul paragraf;

inserarea unui spaiu suplimentar dupa blocul paragraf, daca se foloseste


delimitatorul </p>, acesta fiind opional;

alinierea textului cu ajutorul atributului align cu una din valorile left, center
sau right.

ntr-un text titlurile pot fi introduse cu ajutorul etichetelor <h1>, <h2>,., <h6>, care se
refer la un bloc de text i se termin cu eticheta de ncheiere similar. Blocurile <div>
(diviziune) reprezint un mijloc eficent de delimitare i formatare a unui bloc de text.
Un bloc <div> poate conine atributul align care suport urmtoarele valori posibile:

left aliniere la stnga;

center aliniere central;

right aliniere la dreapta;

Un bloc <div> admite atributul nowrap care interzice ntreruperea rndurilor de ctre
browser, iar tagul <hr> permite inserarea de linii orizontale.

2.6. Inserarea imaginilor


Fromatele acceptate de ctre browsere pentru fiierele iamgine sunt:

GIF ( Graphics Interchange Format, avand extensia .gif );

JPEG ( Joint Photographic Experts Group, cu extensia .jpeg sau .jpg);

XPM ( X BitMap, cu extensia .xbm);

BMP ( BitMap, cu extensia .bmp);

TIFF ( Tagged Image File Format, avand extensia .tif sau .tiff );

Adresa URL (Uniform Ressource Locator) a unei pagini web este un standard folosit
pentru indentificarea unic a unei resure n internet
15

Pentru inserarea unei imagini intr-o pagina se utilizeaz eticheta <img>, iar adugarea
unui chenar n jurul imaginii se folosete atributul border al etichetei <img> iar dimensiunile
imaginii pot fi stabilite cu ajutorul atributurilor width si height.
O imagine poate fi utilizat pentru a stabili fondul unei pagini web cu ajutorul atributului
background al etichetei <body>, avnd ca valoare adresa URL a imagini.Imaginea se poate
multiplica pe orizontal i pe vertical pn umple intregul ecran;
Ex:

<body background = img01.gif >

O legtur permite introducerea ntr-o pagin web a unei zone active ,care este sensibil
la click-urile efectuate cu butonul mouse-ulu, care are ca efect ncarcarea n browser a unei alte
pagini. n mod prestabilit, imaginea utilizat ca zon activ este ncojurat de un chenar avnd
culoarea unei legturi.

2.7. Inserarea tabelelor


Tabelele permit crearea unei reele dreptunghiulare de domenii, fiecare domeniu putnd
avea propriile opiuni pentru culoarea fondului, culoare textului, aliniera textului, etc.
Pentru a insera un tabel folosim etichetele <table>.</table>. Un tabel este format din
rnduri, fiecare rnd fiind specificat folosind etichetle <table> </table>.
Un tabel este format din rnduri, fiecare rnd fiind specificat folosind etichetele <tr>
</tr> (table row), folosirea etichetei </tr> fiind opional. Un rnd e format din celule de date
care se specific folosind etichetele: <td></td>.
n mod implicit, un table nu are chenar (border), pentru a aduga un chenar tabloului
folosim atributul border, care poate primi ca valoare orice numr ntreg si reperezinta grosimea
in pixeli a chenarului tabelului. Dac atributul border nu este urmat de o valoare, atunci tabelul
va avea o grosime prestabilit egal cu .1 pixl, iar o valoare egala cu 0 a grosimii nseamn
absena chenarului

2.8. Crearea formularelor HTML si XHTML


Conform W3C, XHTML este o reformulare a limbajului HTML 4.0 n termenii
limbajului XML 1.0 i acesta este specificat n 3 variante [1]

XHMTL 1.0 Strict. utilizarea acestei variante implica realizarea prezentrii numai
prin folosirea limbajului CSS (Cascadyng Style Sheets), adic nu se pot utiliza
16

elementele font i table pentru a controla modul n care browserul afieaz


documentul XHTML

XHTML 1.0 Transiional. Aceast variant este utilizat atunci cnd este necesar
ca realizarea prezentrii s nu se limiteze la folosirea CSS.

XHTML 1.0 Frameset. Aceast variant se utilizeaz atunci cnd documentul


XHTML are n structura sa cadre frames.

Limbajul XHTML impune un standard riguros cu privire la scrierea documentelor. Fiind


bazat pe XML, limbajul XHTML, spre deosebire de HTML este Case Sensitive. Din acest motiv
numele elementelor XHTML trebuie scrise cu minuscule.
Instanele elemetelor XHTML sunt reprezentate ntotdeauna printr-un marcaj de
deschidere i un marcaj de nchidere (ca n XML, spre deosebire de HTML)
Dac elementul XHTML este vid, marcajul de nchidere poate lipsi, dar n acest caz
marcajul de dezchidere trebuie s utilizeze-nainte de paranteza de sfrit slash(/).
Ca de exemplu <img src=atelier.png alt=atelierul nostru />
Dac elementul XHTML nu este vid, nu este permis utilizarea formei scurte
(<element />, chiar dac nu se plaseaz nimic ntre marcajul de deschidere i cel de nchidere.
Astfel nu putem scrie pe paragraf <p />, n schimb trebuie s scriem marcatori <p> </p> sau <p>.
Un text </p>. Cele mai multe elemente XHTML utilizeaz atribute. Ele trebuie plasate ntre
parantezele unghiularea ale marcajelor de deschidere, dupa numele elementului, n perechi de
forma nume_atribut=valoare_atribut, valorile atributurilor, (inclusiv ale celor numerice)
trebuie specificate ntre ghilimele . Numele atributurilor trebuie scrise cu litere mici.
n XHTML, la fel ca n HTML, exist atribute care au valori predefinite ( atributul type
al elementului input). n acest caz n XHTML valorile acestor atribute trebuie scrise n mod
obligatoriu cu litere mici. De asemenea atributul name indentific elementele pentru ca acestea
s poat fi utilizate de limbajele de scripting (JavaScript , PHP). Limbajul CSS utilizeaz
atributul id pentru a accesa elementele HTML. Codul XHTML va lucra cu browserele actuale i
cu scripturile existente dac se va folosi ambele atribute ( name, id)
Pentru a creea un formula XHTML se utilizeaza atributul form:
<form atribute>
definitie_campuri_formular
elemente
</form>, unde elemente semnific alte elemente XHTML (cu exceptia elementului form)
, iar definitie_campuri_formular se refer la elementele utilizate pentru creearea cmpurilor
formularului.
Atributele elemntului form sunt:
17

action=URL;

method=get|post;

target=nume fereastra| nume_cadru


Atributul action are ca valoare URL-ul fierului, localizat pe server, care conine scriptul

de prelucrea a datelor introduse in formular, iar atributul method indic metoda prin care datele
introduse n formular vor fi trimise scriptului de prelucrare. Valoarea atributului target reprezint
numele ferestrei sau cadrului n care vor fii intoarse rezultatele obinute n urma prelucrrilor
efectuate.
Crearea majoritii tipurilor de cmpuri utilizate n formularele HTML necesit utilizarea
elementului vid input ca de exemplu: <input atribute / >
Atributele elementului input sunt:

tipe=tip_element. Acesta permite specificarea tipului elementului creat

maxlenght=n. Permite specificarea numarului maxim de caractere pentru


elementele input de tip text si password;

size. Permite stabilirea lungimi (in numar de caractere) elementelor de tip text i
password;

name=nume_element. Permite specificarea unui nume pentru elementul input


care va fi utilizat n scripturile JavaScript, PHP, etc;

value. Permite stablirea unei valori implicite pentru elementul textarea, elementele
input de tip text, hidden, button, reset i submit, precum i a unui text asociat
pentru elementele input de tip checkbox si radio;

checked(utilizat sub forma checked=checked) permite selectarea implicit a unui


buton radio sau a unei casete de validate checkbox;

Prezentm n continuare tipurile elemntului input, specificate prin atributul tipe al acestui
element;

text. Acesta este tipul implicti al elementului input, i determin afiarea unei
casete n care utilizatorul va putea introduce un text;

password. Determin afiarea unei casete n care toate caracterele introduse de


utilizator sunt ascunse prin caracterul *, folosite pentru introducerea parolelor;

hidden. Permite trimiterea ctre server a unor informaii ascunse utilizatorului;

checkbox. Permite afiarea unei casete de validare, daca este specificat atributul
checked caseta va fi selectat implicit. Dac se doreste asocierea unui text casetei
de validare, se folsete atributul value;

18

radio. Permite afiarea butoanelor cu interblocare numite i butoane radio.


Butoanele radio cu acelai nume specificat prin atributul name sunt grupate n
mod automat de browser (aceste butoane au prorietatea ca, la un momentdat, un
singru buton poate fi selectat). Dac se doreste asocierea unui text fiecrui buton
radio se foloseste atributul value;

file. Permite utilizatorului s trimit serverului un fiier adic s realizeze operaia


de upload;

button. Permite introducerea n formular a unui buton cu destinaie general.


Atunci cnd este acionat butonul handler-ul (controlorul de eveniment onCLICK)
determin apelul unei funcii JavaScript definita de programator;

submit. Permite introducerea unui buton cu o destinatie special: tranzimitera


coninutului formulatului ctre server;

image. Permite introducerea unui buton care are acelai rol cu submit doar c
este afisat sub forma unei imagini mici specificat de proiectantul pagini web;

reset. Permite introducerea unui buton, care atunci cnd este apasat determin
resetarea (stabilirea la valorile implicite) coninutului cmpurilor formularului.

select. Elementul select (folosit n interiorul unui formular) permite introducerea


n pagin a unei liste din care utilizatorul poate selecta la un momentdat una sau
mai multe opiuni. Aceasta poate avea trei forme diferite: liste de selectate , lista
de rulant i lista de rulant cu selectri multiple. Elementul select are trei atribute
-name =nume_lista. Acest atribut permite specificarea numelui listei si
este utiliat n scripturi (programe) scrise n limbajele de scripting
JavaScript, PHP, etc.
- size= n.Valoarea acestui atribut precizeaz numrul componetelor
listei afite simultan.
-multiple. Atributul permite utilizatorului selectarea simultan a mai
multor opiuni ale listei [1]

2.9. Limbaje de scriptare


Baza comunicrii ntre serverele i clienii web, la nivel de aplica ie este asigurat de
protocoale http ( Hypertext Transfer Protocol). Acesta este utilizat n special pentru hipertext, dar
este un protocol generic, care poate susine un sistem distribuit pentru managementul obiectelor
de date.

19

Protocolul http este independent de platfomr n sensul c diferite calculatoare care


comunic prin http pot folosi diverse sisteme de operare i aplcaii hipertext. Principalele
concepte cu care opereaz protocolul http sunt cererea i rspunsul.
Un client web trimite un mesaj ( cererea) la un server. Mesajul conine indentificatorul
resursei dorite dat sub forma unui UNI ( Unifrom Resource Identifier), metoda de acces folosit,
precum i o serie de meta-informaie care pot fi utile serverului. Rspunsul serverului cuprinde
un cod care indic starea serverului dup interpretarea cererii, un mesaj explicativ pentru codul
de stare transmis,meta-informaiile care vor fi procesate de ctre client i, eventual un coninut
( resursa solicitat).
Standardul de facto pentru intereaciunea clienilor Web cu serverele web este CGI 1.1
( Common Gateway Interface). Un program CGI, numit n mod uzual script, se execut pe
serverul WWW fie n mod explicit, apelat din cadrul paginiii printr-o directiv special, fie la
prelucrarea informatiilor aflate n cmpurile unui formular interactiv sau a coordonatelor unei
zone senzitive. CGI confer interactivitate paginilor web, n contextul n care documentele
HTML pot s-i modifice n mod dinamic coninutul i s permit prelucrri sofisticate de date.
Programele CGI pot fi scrise in mai multe limbaje, fiind interpretate n cazul limbajelor
PHP, Perl, Pyton, TCL sau compilate n cazul C sau Delphi. Programul CGI scrie datele pentru a
fi transimse navigatorukyu web la ieirea standard. De asemenea, programul CGI genereaza
anteturi care permit serverului Web s interpreteze corect ieirea scriptului.
Majoritatea scripturilo CGI sunt construite n logica procesarii datelor introduse n
formulare. Un formular se definete in XHTML folosind marcatori specifici pentru afiarea
coninutului i introducerea datelor de ctre clieni, iar scriptul invocat i executat de serverul
web, va prelucra coninutul acelui formular i-l va prelucra , returnnd eventual rezultatele ctre
browser.
Limbajul HTML ofer puine instrumente de formatarea a coninutului paginilor web,
fiind concentrate asupra coninutului stiinific sau tehnic i mai puin asupra aspectului artistic.

2.10. Formatarea paginilor HTML utiliznd specificatori de stil CSS


1. CSS-consideratii generale
Pentru a creea pagini Web rafinate sunt necesare mai multe elemente de descriere fapt
care conduce la documente stufoase dificil de intreinut i modificat. Pentru a rezolva acceast
problem sa dezvoltat un nou mod de lucru, utilizarea stilurilor de formatare CSS (Cascade Style
Sheets), care a devenit recomandare general valabil W3C (World Wide Web Consortium). Ca
avantaje menionam urmtoarele:

20

economie de timp spre exemplu se pot specifica anumite stiluri pentru toate
elementele de tip paragraf, ancor, table, etc.

stilurile sunt uor de modificat

stilurile sunt aplicate de browser n mod utilitar

stilurile ofer posibiliti de formatare suplimentare care nu sunt incluse n


limbajul HTML

stilurile pot fi aplicate mai multor pagini Web

Precizarea stilurilor de formatare care se aplic ntr-un document HTML se poate face n
trei moduri: inline, n antet sau extern.
a) specificarea stilurilor inline : STYLE= ir de caractere
<P STYLE= TEXT ALIGNE: CENTER; COLOR: RED >
Text
b) specificarea titlurilor n antet- se realizeaz prin intermediul elementului STYLE, care
permite s se includ n antetul documentului toate declaraiile de stiluri utilizate n
document. Trebuie precizat obligatoriu atributul TYPE prin care se specific limbajul
de descriere a stilurilor utilizat, de exemplu text/css;
n antet pot s apar oricte elemente STYLE, iar modul de descriere a stilurilor
depinde de limbajul de descriere folosit.

n CSS putem specifica stilul de formatare pentru:

toate apariiile unui element HTML n documentul respectiv (toate apariile


elementului P sau elemenutului H1);

toate apariiile unui element dintr-o clas. Clasa corespunztoare unui anumit
element HTML se specific prin atibutul CLASS;

apariile individuale ale unui element cruia i se aplic stilul se indentific prin
atributul ID

c) specificarea stilurilor n mod extern este cel mai flexibil mod de lucru cu stiluri de
formatare, pentru c se pot utiliza acelai stiluri pentru mai multe documente HTML,
iar modificarea unui stil de formatare nu necesit modificarea documentului HTML.
Pentru a specifica fiierele n care sunt definite stilurile se utilizeaz n antetul
documentului HTML elementul LINK, pentru care prin atributul TYPE se specific limbajul de
descriere a stilurilor folosit, iar prin elementul HREF se specific adresa fiierului care conine
descrierea stilurilor (acest fiier va avea extensia .css)
21

De exemplu: <LINK TYPE= text/css REL= stylesheet


HREF= still.css>
Pentru utilizarea eficent a stilurilor de formatare la nivelul unui document HTML se
poate utiliza cu succes elementul DIV care permite o grupare la nivel de bloc i este posibil
aplicarea aceluiai stil unei ntregi zone dintr-un document HTML.
Elementul SPAN permite o grupare inline, deci permite aplicarea aceluiai stil unui
fragment de cuvnt sau unui fragment de paragraf.
Definiia unui stil conine un element HTML denumit (selector) i una sau mai multe
declaraii care stabilesc modul de vizualizare a elementului respectiv. Declaraiile sunt incluse
ntre paranteze acolade i sunt separate prin caracterul ; . O declara ie este constituit din dou
pri: o proprietate i valoarea atribuit proprietii respective. Proprietatea este separat de
valoare prin caracterul ; .
De exemplu: P {color: red}- selectorul este elemntul HTMP P, proprietatea este color, iar
ca effect toate paragrafele vor fi scrie cu culoarea rou.
Pentru declararea unui stil inline (prin intermediul atributului STYLE), declaraiile nu
sunt ncadrate ntre paranteze acolade i ntre ghilimele.
Selectorul are rolul de a preciza asupra crui element HTML se aplica declaraia de
formatare. Dac dorim ca numai anumite apariii ale unui element HTML s fie formatate n
acelai fel putem constitui clase de elemente. Pentru a declarea faptul c un document aparine
unei clase utilizm n documentul HTML atributul CLASS; CLASS= ir de caractere.
Pentru a defini un stil pentru o anumit clas a unui element HTML vom utiliza drept
selector att numele elemtului ct i numele clasei separate prin caracterul . .
De exemplu
P. observaie
{FONT-STYLE= italic;
BORDER-WIDTH= 0.5
BORDER- STYLE= DOUBLE}
Aceasta declaraie de formtatare determin c, orice paragraf care face parte din clasa
observatie va fii scris nclinat ntr-un chenar cu linie dubl, iar n documentul HTML vom avea
elementul: < P CLASS= observatie> avem aici de fcut o observaie.
Tag-ul <DIV></DIV> este folosit n asociere cu declaraiile CSS pentru a creea elemente
grafice deosebite, iar n interiorul lui pot fi incluse oricte elemente HTML: tabele, formulare,
marcatori, linii sau alte DIV-uri. Cadrul n care acestea sunt adugate poate avea propriul fundal
(backgrund), lungime, nlime i margini cu diferite linii.
De exemplu: <DIV style=width:250px; background:#border:1px solid blue;>
22

<form action= method=post>


Nume:<input type=text></input><br>
E-mail:<input type=text></input><br>
<input type=submit value=Trimite></input>
</form>
</DIV>
De asemenea putem poziiona coninutul din interiorul tagului <DIV> < /DIV> oriunde
n pagin, folosind proprietaii CSS precum:
-pozition care poate lua valorile static, relative, fixed sau absolute
-margin care stabilete distana dintre marginea cadrului seciunii (blocul) DIV i
elementele din jurul lui.
a) Poziionarea static
Valoarea iniial prestabilit, a proziionrii elementelor din fereastr este ,,static,,. Cnd
nu este specificat o poziionare ,,relativ absolut sau fix,, , elementele sunt dispuse unul dup
altul n interiorul documentului. Sintaxa pentru specificarea poziionarii static este: selector
{position:static}
-un element static nu poate fi repoziionat n mod explicit.
b) Poziionarea relativ
Un element cu poziionare relativa este amplasat la locul sau n cadrul ferestrei sau a
elementului printe n sensul c el apare n toate elementele dinaintea sa, respectiv inaintea
tuturor elementelor amplasate dupa el. Sintaxa pentru specificarea poziionrii relative este:
selector {position:relative}
-elementele specificate relativ pot fii mutate din locaia lor folosind proprietile top ,
left sau button i right
c) Poziionarea absolut
Poziionarea absolut are ca afect crearea unui element neafectat de restul documentului,
plasarea lui n fereastr fiind fcut ntr-o locaie precis, definit prin intermediul coordonatelor
x i y, indiferent de poziiile altor elemente. Sintaxa pentru specificarea poziionrii absolute
este: selector {position:absolute}
-originea (puncutul de coordonate 0,0) este colul din stnga sus al ferestrei sau a
obiectului n care este inclus elementul poziionat absolut.
d) Poziionarea fix
Poziionara fix a unui element este aproximativ la fel cu cea absolut, cu diferena c la
derularea paginii elemntul fixat rmne pe poziia lui iniial, fr a se derula. Sintaxa pentru
specificarea poziionrii fixed este: selector {position:fixed}.
23

Pentru a determina distana dintre punctul de origine i laturile de sus si din stnga ale
elementului su printe, folosim proprietiile top i left.
Forma general este selector {top:valoare;left:valoare; }, unde valoare poate fi:
-o valoare de tip numeric, care definete distana dintre laturile ferestrei sau a elementului
printe i laturile elemntului;
- o valoare procentual care semnific deplasarea fa de laturile ferestrei sau a
elementului printe;
-valoarea auto care permite navigatorului s calculeze el nsui valoarea.
Pot fi utilizate proprietatiile top i lef sau bottom i right, care de asemenea poate lua si
valori negative. Dac este vorba de elemente imbricate, acestea vor fii deplasate solidar cu
elementul printe dac acesta are position:relative.
<style type = text.css >
div {position:relative;}
h1 {top:10px; left:10px; }
</style>
<div>
<h1>Text</h1>
</div>
Formatarea de mai sus determin ca o eticheta h1 s fie poziionat la distana de 10px
fa de marginile de sus i stnga ale unui DIV n interiorul cruia se afl.
CSS ofera posibilitatea de a schimba aspectul fiecarei etichete n parte, prin stabilirea
unui anume stil n interiorul ei, cu atributul "style". Acest lucru este util mai ales pentru a anula
alte stiluri ale elementului respectiv sau de a da elemente grafice de stil doar etichetei respective.
Sintaxa pentru definirea stilurilor n interiorul unei etichete HTML este urmatoarea:
<eticheta style="proprietate:valoare;"> text ... </eticheta>
CSS permite i definirea unor reguli de stil generale ntr-o pagina web. Acest set de reguli
trebuie scris n seciunea de antet (head) a documentului, n cadrul tag-ului <style>.
Sintaxa pentru definirea CSS ntr-un document HTML, n interiorul etichetei <head> < /head>,
este urmtoarea:
<style type="text/css">
selector_1 {proprietate1:valoare1; proprietate2:valoare2; ... }
24

selector_n {proprietate1:valoare1; proprietate2:valoare2; ... }


</style>
Definirea tuturor stilurilor ntr-o locaie comun uureaz modificarea mai rapid a unei
pagini.
Iat un exemplu practic de cod CSS:
<style type=text/css>
h1 {font-family:Arial; font-size:15px; font-weight:bold; color:#1111ff;}
p {font-family:Arial; font-size;12px; color:blue; }
</style>
Foile de stil pot fi utilizate nu doar la nivel de pagin web, ci i la nivel de intreg site.
Astfel, trebuie creat o foaie de stil extern ntr-un fiier separat, de preferat cu extensia ".css",
care poate fi inclus n pagina HTML prin dou procedee: legtur sau import. Crearea unei foaie
de stil externe se face scriind codul CSS ntr-un fisier text cu ajutorul unui editor de texte simplu
(de exemplu Notepad n Windows), sau specializat n acest sens (precum Notepad++). n fiierul
extern creat se adaug reguli CSS, fr nsa ca aceste reguli s fie ncadrate n etichete STYLE.
Dup ce a fost creat foaia de stil extern, aceasta poate fi folosit de un document
HTML utiliznd urmtoarea sintax, n interiorul tag-ului <head> </head>:

<link rel="stylesheet" href="nume_fisier.css" type="text/css">


Eticheta LINK apare n antetul documentului (sectiunea head), iar atributele folosite

transmit navigatorului tipul de legtur ("rel" legatura cu o foaie de stil, "type" - tipul codului
din fiier) i locaia nspre fiierul ce conine codul CSS ("href" calea i numele complet al
fiierului, inclusiv extensia).
O alt modalitate de utilizare a foilor de stil externe ntr-un document HTML o reprezint
importul acestora folosind comanda @import.
Sintaxa pentru importul unei foi de stil externe este urmtoarea:

<style type="text/css">
@import url(nume_fisier.css);
</style>
Pentru a importa un fiier CSS extern se foloete n cadrul seciunii HEAD a

documentului HTML eticheta STYLE. n cadrul acestei etichete este adugat instruciunea
"@import" de mai sus, unde "nume_fisier.css" reprezint calea i numele fiierului ce conine

25

regulile CSS definite. Alturi de instruciunea "@import", n cadrul etichetei STYLE, pot fi
adugate, definii i selectori suplimentari.
Legtura la un fiier CSS extern sau importul acestuia ntr-un document HTML are
acelai efect ca i cum stilurile incluse ar fi fost definirea direct n eticheta STYLE din seciunea
HEAD a documentului HTML.
2. Definirea selectorilor
Selectorii HTML pot fi definii prin adugarea unui numr de definiii compatibilie cu
eticheta HTML la care se refer, avnd urmtoarea form general:
selector_HTML { proprietate1:valoare1; proprietate2:valoare2; ... }
Dupa redefinirea etichetei HTML, stilurile etichetelor respective din documentul HTML
vor fi modificate automat. Prin redefinirea unei etichete, proprietile prestabilite existente nu
sunt anulate, ci se adaug altele noi.
Utilizarea selectorilor de tip clasa ofer posibilitatea configurrii unor stiluri care se pot
aplica doar acelor elemente care sunt etichetate cu clasa respectiv. Sintaxa general de definire a
unei clase CSS este:
.nume_clasa { proprietate1:valoare1; proprietate2:valoare2; ... }
Exist cazul n care o clas este asociat unui selector HTML, ceea ce nseamn c acea
clas poate fi folosit doar cu eticheta HTML respectiv. Pentru a defini o clas care s afecteze
n mod direct un anume selector HTML, se folosete urmtoarea sintax:
selector_HTML .nume_clasa { proprietate1:valoare1; proprietate2:valoare2; ... }
Selectoarele de clasa sunt acceptate de toate navigatoarele. Numele unei clase e
recomandat s fie diferit de cuvintele rezervate JavaScript.
Asemntor cu selectorii de clas se definesc i identificatorii (id-ul). Acetia sunt folosii
pentru crearea de stiluri care pot fi atribuite unei singure etichete HTML dintr-o pagin. Sintaxa
general de definire a unui identificator este:
#identificator { proprietate1:valoare1; proprietate2:valoare2; ... }
Identificatorii permit definirea unui element sub forma unui obiect, fiind folositi doar o
singur dat n cadrul unei pagini web pentru identificarea tag-ului respectiv, astfel poate fi
manipulat i cu ajutorul funciilor JavaScript. Numele unui identificator e recomandat s fie
diferit de cuvintele rezervate JavaScript. [9]

26

2.11. Limbajul de scripting PHP


PHP cunoscut n versiunile mai vechi sub numele PHP/FI ( Personal Homepace/ Forum
Interpreter0, a fost realizat iniial cu o aplicaie CGI pentru interpretatea formularelor definite
prin HTML i procesate de un program scris n limbajul PERL, executat pe server. n cazut
interfeei CGI era necesar permisiunea de a rula programe pe server, fapt care cauza lacuri de
securitate i separare de documentul HTML a programului care procesa datele.
PHP care a ajuns actualmente la versiunea PHP 5.3 este un pachet software care ofera un
limbaj de programare accesibil din cadrul fiierelor HTML, limbajul asemnator cu PERL sau C,
oferind n plus suort pentru manipularea bazelor de date ntr-un dialect SQL ( Data Base,
MySQL, mSQL, Oracle, Sybase, ODBC etc.) si acces la sisteme hipermedia precum
Hypermedia. De asemenea PHP suprot ncrcarea fiierelor de pe calculatorul client (upload) i
ofer suport pentru cookies (mecanism de stocare a datelor n naigatorul client, pentru
identificarea utilizatorilor, propus de NetScape).
Pachetul PHP este disponibil gratuit pe internet, atat pentru medii Unix, ct si pentru
medii Windows ( inclusiv sursele) i se integreaz performant cu serverul web Apache.
La sfaritul anului 1994 Rasmus Lerdorf dezvolta prima versiune a PHP-ului ca proiect
personal i l public la nceputul anului 1995 sub denumirea Personal Home Page Tools. Acest
produs software se prezenta ca un analizator care interpreta cteva macrouri care puteau fi
incluse in documentele HTML, care contorizau numrul de accesuri ale unei pagini web, sau
accesarea unei cari de oaspei guest book.
Analizatorul a fost rescris in anult 1995 si denumit PHP/FI 2.0,unde FI era o alta aplicatie
scris de Rasmus Lentord, i anume un interpreter de formulare HTML. Cu aceast ocazie a fost
adugat i suportul pentru baze de date mSQL i a fost sitribuit gratuit pe internet. n anul 1997
numrul de site-uri Web care ultilizau PHP/Fi era de circa 50 de mii.
La nceputul anului 200 a fost publicat versiunea PHP 4.0 care utiliza puternicul motor
de scriptare ZEND i ofer suport nu numai pentru serverul Web Apache ci i pentru alte servere
Web. De asemenea PHP 4.0 ofer suport pentru accesarea documentelor XML, VIA, DOM.
Se estimeaz c numarul site-urilor care utilizeaz n prezent PHP este de 5 milioane.
Exist pe Web o multitudine de aplicaii i utilitare concepute in PHP, care se regsesc grupate in
PEAR ( PHP Extension and Addron Repository).
Putem remarca diferena dintre PHP si alte limbaje de script CGI, scrise n limbaje
precum PERL sau C i anume in loc de a scrie un priogram cu multe linii de comanda, afisate in
final ntr-o pagin HTML, n PHP se va scrie o pagina HTML cu codul PHP inclus pentru a
realiza diferite actiuni.

27

Codul PHP este inclus ntre tag-urile speciale de nceput i de sfrit, care permit
utilizatorului s treac din modul HTML n modul PHP.
Menionam faptul c, fa de alte limbaje de script, precum Javascript, n cazul PHP,
codul se execut pe serverul Web, nu n navigator (clientul Web). n acest context, PHP poate
obine accesul la fiiere, baze de date i alte resurse care sunt inaccesibile programului Javascript.
Astfel, utilizarea HTML n tandem cu PHP i serveruk de baze de date MySQL, este o
surs inepuizabil de coninut Web dinamic care combinate cu tehnici de utilizare a stilurilor
CSS pentru impresia artistic, conduc la construirea de pagini web atractivitate dotate cu o
funcionalitate deosebit.
Dac pe serverul webeste postat un site care utilizeaz scripturi PHP, clientul va primi
rezultatul execuiei scripturilor dar nu i codul care a produs acest rezultat.
Se poate configura serverul web ca sa prelucreze (analizeze) toate fisierele HTML cu
fiiere PHP. Astfel nu putem face distincia ntre paginile care pdoduse dinamic i cele care sunt
pagini statice.
Limbajul PHP conine funcii asemntoarecelor din alte limbaje de scripting CGI, care i
permite s colecteze date i s genereze dinamic pagini web sau s trimi i i s primeasc
cookies. Un mare avantaj al limbajului PHP este c ofer o palet larg de baze de date ca de
exemplu: dBase, Oracle, PostgreeSQL. De asemenea, limbajul PHP ofer suport pentru diverse
servicii server, utiliznd protocoale precum: IMAP, SNMP, MNTP, POP3 i HTTP.
Fiecare program PHP conine dou linii cu marcatori, care specific faptul c, textul
cuprins ntre cele dou linii conine instruciuni PHP i anume <? php . ?>.
Practic, programele PHP execut trei categorii de operaii elemntare.

obin date de la un utilizator;

execut prelucrai ale datelor, respectiv obin accesul la datele stocate n fiiere i
baze de date i le manipuleaz;

afieaz date extrasei prelucrate, care vor fi vizualizate de ctre utilizator.

Pentru executatea unui script, trebuie ncrcat scriptul pe un server unde este instalat PHP.
Accesul la distan la un server Linux sau Unix se poate face prin intermediul protocoalelor
Telnet sau SSH, daca n prealabil se primete autorizarea de folosire a acestor protocoale de la
administratorul de sistem pentru un anumit utilizator.
Dac se folosete un server Microsoft Windows situat n acceiai reea local ca i staia
de lucru, atunci este posibil alocarea de ctre administratorul de reea a unei partiii de fiiere n
acest scop.
Pentru incrcarea scriptului prin intermediul protocolului FTP, administratorul de sistem
trebuie sa furnizeze utilizatorilor autorizati urmtoarele informaii:
28

numele serverului gazd

numele de utilizator si parola pentru deschiderea sesiunii de lucru prin intermediul


protocolului FTP

catalogul n care trebuie s se gseasc scripturile PHP;

URL-ul (localizatorul uniform de resurs) care trebuie folosit pentru a avea acces
la scripturile PHP.

Dup ce ncarcarea scriptului PHP a fost realizat cu succes, acest script se lanseaz n
execuie prin deschiderea unui navigator web (client) cu adresa URL asociat scriptului web.
ncepnd cu versiunea 4.1.0 a limbajului PHP, datele trimise serverului prin metoda get
sunt disponibile i n tablouri asociative $_GET i $_REQUEST
Tablourile $_REQUEST include toate datele get, post i cookie trimise unui script, adic
coninutul tablourilor $_GET, $_POST i $_COOKIE.
Datele introduse de utilizator ntr-un formular XHTML ajuns la server, unde trebuie
prelucrate de scriptul al crui URL este precizat ca valoare a atributului action al elementului
form. Aceste date trebuie s fie disponibile ca variabile PHP n scriptul care le va folosi.
O modalitate de acces la datele trimise prin metodele get i post este utilizarea tablourilor
asociativ: $_GET, $_POST, $_REQUEST, $HTTP_GET_VARS i $HTTP_POST_VARS
Alt modalitate de acces la date, pus la dispoziia de PHP, dac directiva register_globals
este setat pe ON n fiierul de configurare al PHP-ului, este reprezent de variabilele cu cele ale
elementelor formularului, variabil create automat de PHP.
Dar, utilizarea acestei modaliti de acces la date determin apariia unor probleme de
securitate majore, nu este recomandat configurarea directivei register_glabals pe valoarea ON.
Mai mult, acesta este configurat ncepnd cu versiunea 4.2.0 a PHP implicit pe OFF
Se recomand a se scrie scripturi n ipoteza ca directiva register_globals este setat pe
OFF, pe serverul unde urmeaz s fie plasate scripturile.
Nu orice dat introdus ntr-un formular poate fi acceptat i promovat de scriptul apelat
din pagina Web, de exemplu informaiile care nu respect formatul specificat. De aceea este
necesar validarea datelor nainte ca acesta s fie prelucrate i (eventual) stocate n tabelele
componente ale bazelor de date aflate pe server. Validarea datelor trimise server-ului Web se
poate face n dou moduri:

vaidare pe calculatorul client, nainte ca datele s fie trimise serverului, validarea


se poate realiza prin intermediul unui script scris ntr-un limbaj de programare
pentru client (JavaScript i VBScript);

29

validarea pe calculatorul server n acest caz validarea se realizeaz dupa ce datele


au ajuns la server, dar naintea lor efectiv (de exemplu introducerea lor ntr-o
baz de date), i se face ctre o segven de cod care poate s fac parte chiar din
scriptul apelat.

Validarea datelor introduse la clent are avantajul c reduce ncrcarea server-ului. Dac
validarea necesit compararea datelor introduse de client cu datele stocate ntr-o baz de date ( de
exemplu n secvena de login), in care se utilizeaz nume de utilizatori- user name i parole,
desigur c n acest caz validarea nu poate fi fcut dect pe server.
Validarea selectrii elementelor input de tip butin radio i checkbox, precum i a
elementului select se face prin intermediul utilizrii funciei isset ( ). Aceast funcie returneaz
valoarea logic TRUE, dac variabila transmis ca argument exist (dac utilizatorul a fcut o
opiune).
De exemplu prin instruciunea if (! trim($_POST [nume]) se elimin spa iile de la
nceputul i sfritul sitelui introdus i se testeaz coninutul realizat.
Datele incluse ntr-un formular HTML pot fi trimise scriptului de prelucrare i fr
utilizarea unui buton de tip submit. Acest procedeu presupune utilizarea unei modaliti de
execuie a metodei submit ( ) a obiectelor Form (metod i obiect JavaScript). Executia acestei
metode de determin trimiterea coninutului formularului ctre scriplul de prelucrare
Sever-ul de aplicaii PHP permite dezvoltarea site-urilor Web dinamice n contextul
utilizrii unui server de Web, de exemplu Server-ul Apache i a unui server de baze de date, de
exemplu MySQL
PHP poate accesa mai multe sisteme de gestiune a bazelor de date relaionale prin
intermediul interfeelor de programare pentru acces direct sau prin intermediul interfeei ODBC.
Acestea sunt bilioteci de funcii. Aceste funcii permite urmtoarelor aciuni.

stabilirea (deschiderea) conexiunii cu serverul de baze de date;

trimiterea interogrilor SQL server-ului;

prelucrerea i prelucrearea rezultatelor interogrilor;

ncheierea conexiuni cu serverul de baze de date

Dintre sistemele de gestiune a bazelor de adte relaionale pentru care PHP are interfeele
de acces direct menionm: dBase, Informix, Ingres, Microsoft SQL Server, MySQL,
PostgresSQL, Oracle. De asemenea, PHP poate accesa i alte baze de date amintite precum i
altele ( IBM DB2, Sybase) prin intermediul interfeei ODBC.

30

Mai des utilizat de ctre dezvoltatorii de situri Web dinamice este MySQL, pentru care
PHP are un API de acces direct. Suportul PHP pentru sistemul MySQL este incorporat (built-in)
ncepnd cu versiunea 4.0.4
Limbajul PHP, permite accesarea bazelor de date (inclusiv MySQL) prin intermediul
interfeei ODBC, dispunnd de funcii specifice numite funcii ODBC. Att n versiunea pentru
Windows ct i n cea pentru UNIX/LINUX
Pentru crearea unei baze de date MySQL, PHP folosete funcia:
bool mysql_create_db(string nume_bd [resource id_legtur]) unde nume_bd este
numele bazei de date.
nainte de a fi utilizat, baza de date MySQL trebuie setat prin intermediul funciei:
bool mysql_selec_db(string nume_db [resource id_legtur]).
Aceast funcie selecteaz o baz de date, care va deveni baza de date prestabilit sau
implicit n mod explicit prin id_legtur (transimis ca argument funciei) sau pentru ultima
conexiune deschis, daca id_legtur nu este precizat.
Funcia mysql_select_dbl ( ) returneaz TRUE, dac baza de date a fost selectat i
valoarea logic FALS, n caz contrar.
Pentru tergerea unei baze de date MySQL avem funcia:
bool mysql_drop_db (string nume_db)
Pentru a transmite interogri server-ului MySQL, PHP utilizeza funcia:
resource mysql_query (string interogare)
Funcia trimite o interogare referitoare la baza de date activ (selectat), folosind
conexiunea precizat prin id_legtur, sau dac acesta lipsete, prin conexiunea stabilit cel mai
recent care specific n plus baza de date care devine baz de date activ.
PHP pune la dispoziie un set bine structurat de funcii pentru gestionarea rezultatelor
interogrilor, dintre care enumerm urmtoarele:

int mysql_num_rows (resource id_rez), care returneaz din tabelul set rezultate.

array mysql_fetch_row (resourge id-rez), care extrage i returneaz rndul


urmtor dintr-un set rezultate al crui indentificator este transmis funciei ca
argument.

array mysql_fetch_array (resource id_rez [,int tip_rez]) care extrage i returneaz


rndul urmtor dintr-un set de rezultate al crui identificator este primit a
argument. [8]

2.12. Server-ul Web Apache


31

Serverul Web Apache st la baza a peste 60% din domenii, potrivit unui studiu Netcraft
Web Server. Providerii de internet i companiile de gzduire de aplicaii pe web utilizeaz cu
succes serverul Web Apache, datorit faptului c acesta ofer suport pentru mai multe platforme,
cu suport de gzduire usor de implementare i datorit modulelor sale de extensie.
Caracteristica Apache Portable Router (APR) optimizeaz capabilitile i administrarea
proceselor pentru fiecare sistem de operare, dar permite serverului Apache s ignore diferenele
specifice fiecri platforme.
Acest fapt a contribuit la mbuntirea performanelor i stabilitii implementrilor
Windows, prin eliminarea emulatorului.
APR este accesibil i dezvoltatorului web, care scrie programe multi-platforme n C, care
este mai rapid dect limbajele interpretive precum PHP i PERT, utilizate de obicei pentru
dezvoltare web. De asemenea serverul Apache este independent de protocoale.
Cu toate c Apache este n primul rnd un server HTTP (web), el este proiectat ca s
suporte i alte alternative, precum FTP. O astfel de structur simplific administrarea i reduce
riscurile de securitate.
API-ul su deschis a permis dezvoltatorilor s scrie diferite module care i-au schimbat
comportamentul. Dac serverului i lipsete o funcie de care are nevoie un site e posibil s
regsim acea funcie ntr-un modul plug-in.
Serverele de web au ca funcionalitate de baz recepionarea de cereri anonime de la
clieni i furnizarea de informaii n mod eficent, un server web este un daemon care accept
conexiuni conforme protocolului HTTP, rspunznd cererilor recepionate de clieni. Pentru a
asigura servicii HTTP, serverul Apache trebuie s fie instalat n sistem (i anume un pachet RPM
n Linux sau un program executabil .exe in Windows) , iar daeomn-ul HTTP pornit. Apache este
un sistem modular, consituit dintr-un server de baz i mai multe module care sunt ncarcate
dinanic ntru-un mod asemntor cu funcionarea modulelor din nucleul Linux.
Apache poate fi configurat cu ajutorul interfeei grafice apacheconf (Apache
Configuration Tool).
n anumite cazuri este necesar s se restricioneze accesul la anumite documente prin
intermediu autentifcrii prin nume de utilizator i parol sau n funcie de adresa calculatorului
clientului Web.
Pentru autentificarea utilizatorilor, se parcurg urmtorii pai:

se creeaza un fiier care conine numele i parolele utilizatorilor care vor avea
acces la anumite date de pe serverul web (Apache)

32

se configureaz serverul pentru a seta care resurse vor fi protejoate i care sunt
utilizatorii care sunt desemnai s aib permisiunea accesrii acestor resurse, dup
introducerea unei parole valide.

Configurarea serverului se poate realiza fie prin fiierul httpd-conf, fie prin .htacces,
indicnd o zon protejat, de obicei n funcie de directoarele dorite a fi accesate pe baz de
autentificare. Fisierul .htaccess va fi stocat n directorul asupra cruia dorim s modificm
comportamentul implicit al serverului web. nainte de a modifica maniera de autentificare din
fiierul .htaccess, administratorul serverului Apache va specifca n fiierul httpd.cpnf ca
autentificrile s se realizeze via.htaccess.
De asemenea, Apache ofer posibilitatea de a servi mai multe situri web simultan, adic
gzduirea virtual (virtual hosting). Exist dou metode de implementare a gzduirii virtuale :
una bazat pe nume iar cealalt bazat pe adrese IP. Mainile virtuale bazate pe adres utilizeaz
adresa IP a conexiunii pentru a determina maina virtual corect.
Astfel pentru fiecare gzduire virtual bazat pe nume, determinarea mainii virtuale se
face pe baza numelui acesteia.
Gzduirea virutal este mai simplu de implementat i este recomandat a fi utilizat.
Pentru a utiliza serviciul de gzduire virtual, trebuie mai nti stabilite care va accepta cereri
pentru respectiva main virtual.

CAPITOLUL III
BAZE DE DATE I SGBD MYSQL UTILIZATE LA
REALIZAREA DE SITE-URI WEB

3.1. Concepte din teoria, proiectarea i administrarea bazelor de date


Vom trece n revist cteva concepte din teoria bazelor de date relaionale precum i
problemele legate de proiectarea i administrarea bazelor de date .
Baza de date este o colecie partajat de date, ntre care exist relaii logice (i o
descriere a acestor date), proiectat pentru a satisface necesitile informaionale ale unei
organizaii (entitate economica-sociala, institutie, etc.). [7]
Baza de date conine o structur de fiiere(fig.3.1) care nu conin numai datele ci i
structura datelor. Baza de date este o resurs comun, partajat de toate departamentele
33

organizate. Aceasta poate fi privit ca o colecie autodescris de inregistrri integrate. Descrierea


datelor este denumit catalog de sistem (dicionar de date i metadate), care face posibil
descrierea semantic a datelor i introduce conceptul de independen program *.dat.

Fig.3.1. Structura de fiiere a unei baze de date


Sistemul de Gestionare a Bazelor de Date (SGBD)-este un sistem de programe care
permite utilizatorului definirea, crearea, i ntreinerea bazei de date i accesul controlat la
aceasta (DBMS- DataBase Management Service).
Un SGBD ofer urmtoarele servicii:
a. permite definirea Bazelor de Date printr-un limbaj de definire a datelor (DDL-Data
Definition Language).
b. permite inserarea, modificarea, actualizarea, tergerea i extragerea din baza de date printrun limbaj de manipulare a datelor ( DML-Data Manipulation Language)

34

Fig.3.2. Componentele principale ale mediului SGBD


Componentele principale ale unui mediu SGBD sunt prezentate schematic n fig.3.2 i detaliate
n cele ce urmeaz:
1. Hardware: calculatoare interconectate ntr-o reea care partajeaz numai datele ( servere de
date) sau n cazul aplicaiilor client-server, acestea partajeaz datele i aplicaia server
(back-end) iar pe staiile de lucru se execut aplicaia client (front-end);
2. Software: Software-ul utilizat n cazul mediilor SGBD conine componentele: sistemul de
operare, software-ul de reea sau de reele, utilitare, sistemul de SGBD i programele de
aplicaie.
3. Datele: Baza de date conine att datele operaionale cat si metadatele ( datele despre date)
4. Procedurile, care se refer la aplicaiile realizate prin invocarea serviciilor oferite de SGBD.
Aplicaiile ofer urmtoarele categorii de funcii:

pornirea/oprirea sistemului SGBD

deschiderea unei sesiuni de lucru cu verificarea drepturilor de acces

utilizarea unei anumite facilitai a SGBD sau a unui program de


aplicatie

efectuarea de copii de sigurana a bazei de date

tratarea erorilor hard si soft

modificarea structura unei tabele sau reorganizarea bazei de date

5. Persoanele, n funcie de relaia lor cu reelele de calculatoare folosite, precum i cu softul


SGBD utilizat cu aplicaia sau cu datele, rezult utilizatorii simpli, cu drepturi la date de
sintez sau cu drepturi peste ntreaga baz de date.
Metodele moderne de proiectare i programare se reflect i n cazul proiectrii bazelor
de date i a aplicaiilor pe care le gestioneaz, se remarc POO ( programarea orientat pe
obiecte ), programarea dirijat de evenimente, programarea vizual, etc.
Menionm urmtoarele avantaje ale utilizrii SGBD-urilor:

Controlul redundanei datelor;

Coerena datelor;

Posibilitatea creri de informaii noi din aceleai date;

Partajarea datelor;

Integritatea crescut a datelor;

Securitate crescut;

35

mbunatirea accesibilitii datelor i a capacitaii de rspuns;

Capacitatea de intreinere imbuntait prin independena de date;

Concurena imbunatait;

Ca dezavantaje menionm urmtoarele:

Complexitatea;

Dimensiunea crescut;

Costul sistemelor SGBD;

Costul conversiei pentru trecerea de sistemul vechi la sistemul nou bazat pe


SGBD;

Impactul crescut al unei defeciuni.

Arhitectura bazei de date cea mai avantajoasa si flexibil este cea organizat pe trei
niveluri:
1. Nivelul extern, corespunztor structurii utilizatorilor;
2. Un nivel conceptual, corespunztor structurii logice ale bazei de date ca un
ansamblu unic;
3. Un nivel intern, aferent structurii fizice cu care este organizat baza de date
( indexuri, structuri de stocare, moduri de acces.)
Nivelul conceptual ( nivelul logic) se constituie din imaginea ntregii baze de date, care
cuprinde toate datele memorate, toate relaiile dintre acestea i toate restriciile la care sunt
supuse datele din punct de vedere logic.
Limbajele utilizate n bazele de date sunt:

Limbajul de definire a datelor (DDL)- este un limbaj descriptiv care permite

administratorului DBA s descrie schema (entitiile

i relaiile) bazei de date, iar dup

compilarea instruciunilor DDL rezult un set de tabele stocate n fiiere speciale, denumite
catalog de sistem (dicionar de date sau director de date).

Limbajul de manipulare a datelor (DML) constau n inserare, modificare, cutare

i tergere. Exist limbaje DML reprocedurale. Limbajele DML procedulare definesc comenzi
care specific cum se regsesc datele, n timp ce un limbaj DML reprocedural specific ce date
s fie cutate, comenzile sunt nlocuite cu declaraii (descrieri), sistemul SGBD transform o
instruciune n limbaj DML ntr-o procedur (sau un set de proceduri) care manipuleaz setul
de nregistrri solicitate.
Acest mecanism elibereaz utilizatorul de cunoaterea detaliilor de implementare.
Datorita faptului ca limbajul de definire a datelor (DDL) care permite scrierea schemei
bazei de date, utilizeaz o descriere a BD la nivel superior prin aa numitul model de date.
36

Modelul de date este o colecie integrat de concepte necesare pentru descrierea datelor, a
relaiilor dintre date i constrngerile asupra datelor dintr-o organizaie. Cu ajutorul modelului
de date se pot reprezenta obiecte i evenimente din realitate. Exist mai multe modele de date:
bazate pe obiecte, bazate pe nregistrri i modele de date fizice.
Vom prezenta cteva caracteristici ale modelului de date relaional care se bazeaz pe
noiunea matematic de relaie.
Considerm o mulime de M mulimi nu neaprat M={M1,M2,.....,Mn} i produsul cartezian al
acestor mulimi P=M1xM2x...xMn ca mulimea tuturor N- tuplelor (m1, m2, ...., mn), unde mi
Mi, i=1,N. Numim relaie peste mulimea M, o submulime a produsului cartezian
M1xM2x....xMn. O entitate (a unei BD) este o relaie definit peste domeniile atributelor sale,
pentru fiecare realizare a sa apartine produsului cartezian al domeniilor D1, D2, ... , Dn.
Realizarile unei entiti sunt de forma (d1, d2, ... , dn) i aparin produsului cartezian
D1xD2x...xDn. Gradul relaiei este numrul de elemente ale familiei de caracteristici (numrul
de atribute) ale entitaii (numit relaie). Cardinalul relaiei este numrul de realizri al
ntetitii (relaiei). Asocierile dintre entiti sunt la rndul lor relaii (deci entiti sau tabele ).
Pentru a reprezenta o asociere ntre entiti nu este nevoie s aducem n tabel
corespunztoare asocierii toate atributele entitilor implicate, ci sunt suficiente cheile acestor
entiti. Deci, n modelul relaional, un tabel este o relaie, dou tabele se pot asocia ntre ele tot
printr-o relaie, asocierea lor este tot un tabel, deci tot o relaie.
Relaia este un tabel cu coloane i rnduri un SGBD relaional care permite ca baza de
date la nivelul utilizatorului i la nivelul structurii logice de date s fie perceput ca un
ansamblu de tabele intercorelate.
Atributul este o coloan a unei relaii, cu o anumit denumire. Atributele pot aparea in
orice ordine.
Domeniul este mulimea de valori premise pentru unul sau mai multe atribute.
Tuplul este un rnd dintr-o relaie.
Gradul unei relaii este repezentat de numrul de atribute al acesteia. Elementele unei
relaii sunt rndurile sau tuplurile dintr-un tabel. Cardinalitatea unei relatii este numrul de
tupluri coninute de aceasta.
Instana (realizarea unei relaii) este valoarea pe care o are la un moment dat un obiect. O
relaie poate avea o instan, deasemenea i un atribut poate avea o instan (toate datele de pe
coloan care fac parte din domeniu).
Valoarea "null" reprezint valoarea unui cmp cruia nu i s-a alocat nici o valoare.
Valoarea "null" nu este nici adevrat nici fals. Baza de date relaional este un set de rela ii
normalizate.
37

Sistemele SGBD mai au urmtoarele caracteristici:

arhitectura multi utilizatorului se refer la faptul c pe baza de date lucreaz

simultan mai muli utilizatori. Modul n care este organizat aceast relaie ntre date i
utilizator constituie arhitectura.

arhitectura client-server conine dou aplicaii: o aplicaie server care se ruleaz

pe server iar o aplicaie client care se ruleaz pe staie. E posibil ca att clientul ct i serverul
s fie pe acelai calculator. Staia lanseaz procese pe server iar rezultatul acestor prelucrri va
fi trimis pe staie.
Catalogul de sistem este un depozit de informaii care descrie datele din baza de date.
Informaiile din catalog se numesc metadate (date despre date). ntr-o relaie pot exista mai multe
cmpuri sau seturi de cmpuri care pot ndeplini rolul de cheie, acestea se numesc chei candidat.
Se impune rezisten pentru ca cheile candidat s nu conin n interiorul lor o alt cheie
candidat, deci acestea nu conin cmpuri care sunt inutile pentru identificare. Deci nici un subset
al cheii candidat nu este suficient pentru a permite indentificarea unic a tuplelor.

3.2. Administrarea bazelor de date cu ajutorul SGBD MySQL


SGBD MySQL este dezvoltat de firma suedez MySQL HB i este un server de baze de
date disponibil gratuit, cu sursa deschis (open-source). Acesta ofer fiabilitate i faciliti
specifice celorlalte SGBD-uri precum i simplitate n utilizare.
Administrarea bazei de date se poate face sub MySQL utiliznd o linie de comand dintre
care menionm Mysql care este un shell interactiv pentru controlul i interogarea bazelor de
date. Utilitarele funcioneaz cel mai bine pe sistemul Linux, platform pe care MySQL a fost
dezvoltat iniial.
Alte utilitare Open-source, oferite pentru platforma Windows, care ofer un set de
comenzi administrative sunt MySQL manger, un utilizator de interogare n mod grafic similar cu
Mysql, precum i WINMysql admin, o consol pentru administrarea detalilor configurrii lui
MySQL.

38

MySQL permite importarea diverselor tipuri de baze de date i exportarea sub forma
fiierelor *.sql. Tranzacile nu sunt parte a tabelelor implicite (ISMN) ale lui MySQL, dar sunt
incluse dou noi tipuri de tabele: Berkley DB (BDB) i InnoDB care au fost dezvoltate de alte
firme.
MySQL opereaz pe baza unui model clinei/server. Pentru a procesa interogri asupra
unei baze de date MySQL trebuie s rulm MySQL server (Mysqld), care este responsabil de
ntreg traficul de tip intrri/ieiri (incoming/outgoing) cu baza de date. Ca orice server, MySQLD
ascult pe un port particular (3306) eventualele cereri de conexiune ale unui client, orice
aplicaie care trimite cereri ctre o baz de date via mysqld. Acest script poate fi un script PHP
care poate trimite o cerere ctre baza de date prin intermediul server-ului MySQL sau chiar
clientului mysql.
Clientul mysql este o interfaa interactiv pentru transmiterea de comenzi ctre server.
Modelul de securitate folosit de MySQL se bazeaz pe nume de utilizator, parol, nume server
(Hostname) sau adresa de IP i privilegii. Privilegiile sunt in cazul MySQL operaiile care vor fii
permise asupra bazei/bazelor de date, tabelelor sau indecilor, adic interogrii de forma:
SELECT, INSERT, UPDATE, DELETE, CREATE, DROP.
Datele sunt obiectul operaiunilor de prelucrare, iar SGBD-urile furnizeaz cele mai
complexe i puternice faciliti pentru lucrul cu datele. Limbajul PHP include o bibliotec de
funcii care furnizeaz o interfa cu sistemul MySQL de gestiune a bazelor de date. Folosind
aceste funcii, un program PHP poate obine accesul la datele rezidente ntr-o baz de date
MySQL i le poate modifica.

Interaciunile cu o baz de date MySQL se desfoar dup urmtorul scenariu:


1. se deschide o conexiune cu serverul MySQL;
2. se specific baza de date la care dorim accesul;
3. se construiesc i se lanseaz interogri i se execut operaii non-SQL;
4. se inchide conexiunea cu serverul MySQL.
Din punct de vedere al limbajului PHP exist dou categorii de interogri SQL:

interogrile SELECT, care returneaz rnduri dintr-un tabel, sau dintr-un asamblu
de tabele intercorelate;

interogri UPDATE, INSERT i DELETE, care nu retruneaz rnduri.

Ambele tipuri de interogri se lanseaz n execuie folosind MySQL_QUERY, dar


verificarea i prelucrarea celor dou categori de rezultate ale interogrilor sunt procesate diferit.
[10], [1],[7]
39

CAPITOLUL IV
PROIECTAREA UNUI SITE WEB PENTRU PROMOVAREA
UNEI FIRME PE INTERNET

4.1. Proiectarea unui site Web. Analiz, proiectare, realizare


Proiectarea unui site are ca obiectiv elaborarea concepiei logice a aplicaiei informatice
i definirea acesteia din punct de vedere structural i funcional.
40

Acesta presupune stabilirea componentelor aplicaiei (sistemului informatic), analiza


datelor de ieire, a bazei informaionale de intrare, a documentelor pe care sunt consemnate
datele de intrate, a legaturilor dintre ele i a funcionalitii sistemului astfel nct toate
elementele sale s formeze un ntreg. Structura general a aplicaiei (sistemului) , informatic
cuprinde un asamblu de intrri, prelucrri i ieiri definite n funcie de obiectivele noului sistem.
Exist mai multe variante de abordare a proiectrii unui sistem informatic:

se poate pleca fie de la intrri, fie de la ieiri, fie se poate realiza o variant mixt;

se analizeaz modul de obinerea fiecrei informaii i se determin baza


informaional de intrare.

Fazele proiectrii unui site sau a unui produs program, aplicaie sau component a unui
sistem informatic sunt urmtoarele:

stabilirea obiectivelor;

proiectarea ieirilor;

proiectarea bazei informaionale de intrare;

codificarea;

proiectarea documentelor de intrare;

proiectarea structural i funional;

elaborarea documentaiei.

Proiectarea sau realizarea unei pagini web sau a unui site, necesit un studiu etapizat,
conform metodologiilor de proiectare i construire a aplicaiilor, i a sistemelor informatice,
avnd n vedere particularitile i cerinele pe care urmeaz s fie transpuse n funcionalitatea
site-urilor. Vom avea in vedere i posibilitaile viitoare de dezvoltare a aplicaiei precum i
trendul actual al tehnologiilor i soluilor informatice.
Site-ul Web va fi gzduit pe un server web i va construi o entitate virtual, fiind punctul
de legtur dintre furnizorul de produse i servicii i potenialul beneficiar, client sau cumprtor.
n cele mai multe cazuri, companiile care doresc s-i promoveze sau s-si dezvolte afacerile n
mediul virtual, pe Web, apeleaz la serviciile unei firme specializate de software pe profilul
realizare site-uri. Ca urmare a colaborrii acestei firme cu compania beneficiar a site-ului se
construiete un site dedicat, performant, care implementeaz cerinele formulate de beneficiar
oferindui funcionalitatea cea mai adecvat acestor cerine, precum i impresia artistic
(designul), care face ca site-ul s rein atenia celor ce navigheaz pe Web.
Deci site-ul va fi un spaiu comercial virtual n care vizitatorul interesat va putea:

s se nregistreze n baza de date cu datele sale personale;

s formuleze succint, tipul de produse sau servicii dorite;


41

s fac obiectul unei ulterioare comenzi, cerinele sale legate de caracteristicile


produselor sau servicilor solicitate, n conformitate cu portofoliul afiat de ctre
compania productoare.

Astfel site-ul va fi locul de ntalnire dintre cerere i ofert. Ponteialul cumprtor are
posibilitatea s vad atat portofoliul de produse i servicii afiat prin imagini i descrise pe site,
precum i portofoliul altor furnizori, n scopul comparrii.
Din aceast cauz, competiia este acerb, la proiectarea i realizarea site-ului vor trebui
luate n seam toate aspectele de funcionalitate i estetic.
Site-ul trebuie s dispun i de sistem complex a coninutului care s permit adugarea,
modificarea i tergerea produselor din baza de date (text i imagini). De asemenea nregistrarea
comenzilor i a datelor despre clieni intr-o baz de date este de preferat i un sistem care s
semanlizeze prin e-mail lansarea unei comenzi.
Pentru o companie de anvergur pe site se va putea stabili cine i cum va prelua i onora
comenzile de pe site i poate uneori necesita angajarea unui webmaster. Produsele trebuie
organizate pe categori (i eventual pe subcategori), astfel nct clienii s poat gsi rapid ceea ce
caut.
O mare atenie trebuie acordat prezentrii produselor, mai ales imaginile trebuie s fie de
calitate, s fie relevante, astfel nct s-i permii vizitatorului site-ului s-i formeze o prere pe
ct posibil pozitiv. n plus, este foarte util realizarea unui sistem de ajutor n cadrul site-ului,
nu trebuie plecat de la premisa c vizitatorii site-ului sunt navigatori experimenta i i au mai ales
produse on-line , dar nu trebuie nici ignorat.
Pentru a ilustra tehnologiile informatice care pot fi utilizate la construirea site-urilor Web
dinamice am procedat la analiza i proiectarea unui site web pentru promovarea unui atelier de
tmplrie n spaiul virtual. n acest scop am utilizat limibajul HTML n tandem cu mediul de
dezvoltare PHP precum i server-lui baze de date MySQL .
Am ales in acest scop pachetul WAMP server care prezint siguran n funcionare si
configurare optim pentru dezvoltatorii web care folosesc produsele freeware n dauna celor
comerciale.
Astfel am analizat activitatea firmei din care am elaborat catalogul de cerine cu privire la
scopul i funcionalitatea site-lui din prespectiva beneficiarului acestui site. Datorit faptului c
firma n cauz i-a propus doar promovarea n spatiul virtual doar activitatii acestia, produsul
software nu a nglobat i activiti de vnzare online i nici pli electronice.
Astfel site-ul permite vizitatorului s i fac o prim impresie n legtur cu protofoliul
de produse i servicii aflat la dispoziia furnizorului. La dispoziia utilizatorului am pus sec iunea
de cutare prin care acesta poate cuta anumite informaii din cadrul bazei de date. De asemenea
42

n scopul identificrii locaiei firmei am pus la dispoziie un link pentru localizarea firmei cu
ajutorul Google Maps. Pentru a oferi informai structurat am pus la dispozi ie un asamblu de
linkuri ctre tipurile de produse i servicii oferite de firm. Pentru a veni n ntmpinarea dorin ei
vizitatorului am pus la dispoziie cteva linkuri ctre site-uri uzitate (facekook , google , twitter).
De asemenea la ncheierea vizitrii site-lui vizitatorul i poate completa datele personale
n scopul nregistrrii n tabela Clieni din cadrul bazei de date.
Informaiile introduse de client n seciunea Contact sunt nregistrate n baza de date n
tabela clieni, care ulterior administratorul site-ului o va putea consulta n scopul codificrii
clienilor n funcie de tipul de produse sau servicii solicitate.
Pentru Administratorul site-ului am pus la dispoziie seciunea de login, prin care se va
autentifica. Dup autentificare administratorul are drepturi depline asupra informaiilor din
ntreaga baza de date. Astfel, n funcie de codul clientului, administratorul va putea extrage din
baza de date clienii mpreun cu tipurile de produse solicitate de acetia i va putea trimite un
email potenialului client care a fost interesat de produsele sau serviciile furnizate de firm.
n plus eventualele erori din baza de date cauzate de completarea eronat a unor date
legate de clientri sau produse vor putea fii corectate de ctre administrator. [2], [3], [4]
Tabela Clienti va conine urmtoarele informaii:
Id

int (5)

NOT NULL

Cod_client

varchar (6)

NOT NULL

Nume_client

varchar (30)

NOT NULL

Adresa

varchar (40)

NOT NULL

Telefon

varchar (12)

NOT NULL

Email

varchar (40)

NOT NULL

auto_increment

primary key

Tabela Produse are urmtoarea structur:


Id

int (5)

NOT NULL

Cod_produs

varchar (6)

NOT NULL

Denumire_produs varchar (40)

NOT NULL

Pre

NOT NULL

int (6)

auto_increment

primary key

Tabela Comenzi are urmtoarea structur:


Id
nr_comanda
cod_client
cod_produs
date_lansare

int(5)
int(6)
int(6)
int(6)
date()

NOT NULL
NOT NULL
NOT NULL
NOT NULL
NOT
43 NULL

auto_increment

primary key

CONCLUZII

Lucrearea a debutat cu prezentarea aspectelor teoretice i practice privitoare la dezvoltara


site-urilor Web dinamce, prezetnd caracteristicile principale ale limbajelor HTML i XHTML,
ale server-ului de aplicaie PHP precum i cele ale server-ului bazei de date MySQL, care au fost
utilizate prepoderent n lucreare.
n realizarea practic a site-ului sa pornit de la cerinele legate de funcionalitatea siteului, coroborat cu soluile software nsuite din studierea biliografiei menionate, care am
considerat c sunt cele mai adecvate utilizrii pentru implementarea practic acestor cerine.
44

Datorit faptului c site-ul proiectat se refer prepoderent la promovarea firmei spaiul


virtual, aceasta se reflect i n structura tabelelor bazei de date i n funcionalitatea
implementat. Pentru o firm avnd ca obiectiv comerul online aplicaia web ar putut fi
completat cu module dedicate comerului online ct i cu componete care vizieaz plai online,
aceasta rmnnd o probelema deschis.
Remarcm printre avantajele soluiei propuse urmtoarele:

utilizarea server-ului Apache, a server-ului de aplicaii PHP i a server-ului


MySQL reunite in pachetul WAMP Server constituie o platform flexibil si
stabil pentru proiectarea site-urilor web dinamice.

vizitatori site-ului se pot informa cu privire la portofoliul de produse i servicii al


firmei promovate prin acest site n paiul virtual, avnd posibilitatea de a se nscrie
n baza de date a site-ului cu datele personale i cu tipul de produs sau serviciu
solocitat.

Apreciem ca originale proiectarea structurii site-ului i a codului PHP scris pentru


implementarea funcionalitilor stabilite la proiectare.

BIBLIOGRAFIE
[1]

Anghel Traian, Programarea n PHP, Ghid practic, Editura Polirom, Iai 2005

[2]

Buraga S, Proiectarea Siturilor Web (ediia a II-a), Editura Polirom, Iai, 2005

[3]

Buraga S (coord.), Aplicaii Web la cheie, Editura Polirom, Iai, 2003

[4]

Buraga S (coord.), Situri Web la cheie, Editura Polirom, Iai, 2004

45

[5]

Buraga S. (coord.), Tendine actuale n proiectarea i dezvoltarea aplicaiilor Web,

Editura Matrix Rom, Bucuresti, 2006


[6]

Buraga S., Programarea in WEB 2.0, Editura Polirom, 2007

[7]

Olteanu Emil, Muntean Maria, Baze de date relaionale, Editura Aeternitas Alba Iulia

2010
[8]

Rasmus Lerdof, Kevin Tatroe, Programming in PHP, Editura OReilly Associates 2002,

http://www.infoap.utcluj.ro/multi/programming_PHP.pdf
[9]

Richard York, Beginning CSS Cascading Style Sheets, Editura Wiley Publishing, Inc. ,

Indianapolis 2005, http://www.infoap.utcluj.ro/multi/begining_css.pdf


[10]

Tim Converse, Joyce Park, Clark Morgan, PHP 5 and MySQL Bible, Editura Wiley

Pubishing Indianapolis 2004, http://www.infoap.utcluj.ro/multi/phpmysql.pdf

ANEXE
Exemple ilustrative de cod surs utilizat n site-ul Web
Pagina 1. Home.html

46

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-Design
http://www.x.ro
Name
: Atelier
Description:
Version : 1.0
Released : 20130611
-->
<HTML xmlns="http://www.w3.org/1999/xhtml">
<head>
<META http-equiv="content-type" content="text/html; charset=iso-8859-2" />
<title>Atelier de tamplarie</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<BODY>
<div id="wrapper">
<div id="menu">
<UL>
<li><A href="Home.html">Prima pagina</A></li>
<li><A href="Home.html">Despre noi</A></li>
47

<li><A href="Home.html#Produse">Produse si servicii</A></li>


<li class="current_page_item"><A href="#">Imagini produse</A></li>
<li><A href="Contact.html">Inregistrare client</A></li>
<li><A href="Contact.html">Contact</A></li>
<li><A href="#Home">Login</A></li>
<UL id="nav">
<li><A href="creBD1.php">Creare BD</A></li>
<li><A href="adgCLI.php">Adauga clienti</A></li>
<li><A href="modifCLI.php">Modifica clienti</A></li>
<li><A href="vezi_clienti.php">Vizualizare clienti</A></li>
</UL>
</UL>
</div>
<div id="logo">
<h1><A href="#">S.C. STEJARUL S.N.C</A></h1>
<h2> Atelier de tamplarie </h2
<h2>Micesti, Alba Iulia</h2>
</div>
<hr />
<div id="page">
<div id="content">
<div class="post">
<h2 class="title"><A href="#">Bine ati venit</A></h2>
<div class="entry">
<p> <IMG src="poze/casa_lemn1.jpg" "alt="" /></br> CASA LEMN </p>
</div>
</div>
<div class="post">
<div class="entry">
<p>S.C CIULEA S.R.L a fost infiintata in anul 2000 si a reusit sa se impuna si sa
se
dezvolte pe piata de profil din zona orasului Alba Iulia inca de la inceputul activitatii
acesteia.</p>
<p>Oferim produse si servicii de tamplarie de calitate deosebita, avand un personal
inalt calificat
si experimentat, care lucreaza cu profesionalism la orice lucrare pe care dvs. doriti sa
ne-o incredintati
pentru a fi executata.</p>
<p>Calitatea deosebita a produselor si serviciilor executate de noi se bazeaza si pe
tehnologia de prelucrare
pe care noi o folosim.</p>
<p>Pentru noi Clientul, dorintele si proiectele acestuia sunt pe primul loc si facem tot
efortul necesar
ca acesta sa fie la final multumit de serviciile si produsele noastre.</p>
<p>Astfel, executam urmatoarele categorii de produse si servicii </p>
Mobilier de casa si bucatarie,Usi ferestre, lambriuri, Casute de vacanta, </p>
Filigorii</p>
</div>
</div>
48

</div>
<!-- end #content -->
<div id="sidebar">
<UL>
<li id="cautare">
<h2>Cautare</h2>
<form id="searchform" method="get" action="">
<div>
<input type="text" name="s" id="s"
size="15" />
<br />
<input name="submit" type="submit"
value="Cauta" />
</div>
</form>
</li>
<li id="harta">
<h2>Harta locatiei</h2>
<li><A href="http://albaiulia.harta.orasultau.ro/">HARTA aici</A>
</li>
</li>
<A NAME="Produse"></A>
<li>
<h2> Produse si servicii</h2>
<UL>
<li><a href="#">Mobilier</a></li>
<li><a href="#">Cabane</a></li>
<li><a href="#">Scari interioare</a></li>
<li><a href="#">Filigorii de gradina</a></li>
<li><a href="#">Diverse</a></li>
</UL>
</li>
<li>
<h2>Link-uri utile </h2>
<UL>
<li><A href="https://www.facebook.com/"> FACEBOOK</A>
</li>
<li><A href="https://www.google.ro/ ">Google</A></li>
<li><A href="https://twitter.com/ ">Twitter</A></li>
</UL>
</li>
</UL>
</div>
<!-- end #sidebar -->
</div>
<!-- end #page -->
<div id="footer">

49

<p>(c) 2013 Site promovare Atelier Tamplarie. Designed by <A


href="http://www.ciuleasoft.ro">ciuleasoft.ro</A>.</p>
</div>
</div>
</body>
</html>

Pagina 2. Contact.html

<!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">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>BD</title>
</head>
<BODY>
<?php
// include ("autorizare");
// include ("admin_top");
50

?>
<h4><b>Adaugare clienti</b></h4>
<FORM action="prel_adgCONTCT.php" method="POST">
<TABLE border="1" cellpadding="5">
<TR><td>Nume si prenume:</td>
<td><INPUT name="nume_client" type="text" size="30" /></td></TR>
<TR><td>Adresa:</td>
<td><INPUT name="adresa" type="text" size="40" /></td></TR>
<TR><td>Telefon:</td>
<td><INPUT name="telefon" type="text" size="12" /></td></TR>
<TR><td>EMail:</td>
<td><INPUT name="eMail" type="text" size="6" /></td></TR>
<TR><td></td>
<td><INPUT type="submit" name="adauga_client" value="Adauga">
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>

<?php
// include("autorizare.php");
// include("admin_top.php");
$con=MYSQL_CONNECT("localhost", "root", "") or EXIT("Conectare esuata !");
MYSQL_SELECT_DB("bdCLI", $con) or EXIT("selectare baza bdCLI nereusita");
if (isset($_POST['adauga_client']))
{
if ($_POST['nume_client'] == "")
{
echo 'Completati nume_client !!! <br>
<A href="adgCLI.php">Inapoi</A>';
exit;
}
$sql = "SELECT * FROM Clienti WHERE nume_client='".$_POST['nume_client']."'";
$res = MYSQL_QUERY($sql);
if (MYSQL_NUM_ROWS($res) != 0)
{
echo ' Clientul: <b>'. $_POST['nume_client'].'</b> exista deja in baza de date!
Corectati nume client!<br><A href="adgCLI.php">Inapoi</A>';
exit();
}
$codCL = "1";

51

$sql="INSERT INTO Clienti ( nume_client, adresa, telefon) VALUES ('".


$_POST['nume_client'].
"','".$_POST['adresa']."','".$_POST['telefon']. "','".$_POST['eMail'] ."')";
MYSQL_QUERY($sql);
echo 'Clientul <b>'.$_POST['nume_client'].'</b> a fost adaugatin BD!<br>'.
'<A href="adgCLI.php">Inapoi</A>';
exit;
}
MYSQL_CLOSE($con);
?>

Pagina 3. Adugare Clieni

52

<?php
// include ("autorizare");
// include ("admin_top");
?>
<h4><b>Adaugare clienti</b></h4>
<FORM action="prel_adgCLI.php" method="POST">
<TABLE border="1" cellpadding="5">
<TR><td>Cod client:</td>
<td><INPUT name="cod_client" type="text" size="6" /></td></TR>
<TR><td>Nume client:</td>
<td><INPUT name="nume_client" type="text" size="30" /></td></TR>
<TR><td>Adresa:</td>
<td><INPUT name="adresa" type="text" size="40" /></td></TR>
<TR><td>Telefon:</td>
<td><INPUT name="telefon" type="text" size="12" /></td></TR>
<TR><td></td>
<td><INPUT type="submit" name="adauga_client" value="Adauga">
</TR>
</TABLE>
</FORM>

<?php
53

// include("autorizare.php");
// include("admin_top.php");
$con=MYSQL_CONNECT("localhost", "root", "") or EXIT("Conectare esuata !");
MYSQL_SELECT_DB("bdCLI", $con) or EXIT("selectare baza bdCLI nereusita");
if (isset($_POST['adauga_client']))
{
if ($_POST['nume_client'] == "")
{
echo 'Completati nume_client !!! <br>
<A href="adgCLI.php">Inapoi</A>';
exit;
}
$sql = "SELECT * FROM Clienti WHERE nume_client='".$_POST['nume_client']."'";
$res = MYSQL_QUERY($sql);
if (MYSQL_NUM_ROWS($res) != 0)
{
echo ' Clientul: <b>'. $_POST['nume_client'].'</b> exista deja in baza de date!
Corectati nume client!<br><A href="adgCLI.php">Inapoi</A>';
exit();
}
// VALUES ('".$codCL."',
$codCL = "1";
$sql="INSERT INTO Clienti (cod_client, nume_client, adresa, telefon) VALUES ('".
$_POST['cod_client'].
"','".$_POST['nume_client']."','".$_POST['adresa']."','".$_POST['telefon']."')";
MYSQL_QUERY($sql);
echo 'Clientul <b>'.$_POST['nume_client'].'</b> a fost adaugatin BD!<br>'.
'<A href="adgCLI.php">Inapoi</A>';
exit;
}
MYSQL_CLOSE($con);
?>

54

Pagina 4.Modificare Clieni

<?php
$con=MYSQL_CONNECT("localhost", "root", "") or EXIT("Conectare esuata !");
MYSQL_SELECT_DB("bdCLI") or EXIT("selectare baza bdCLI nereusita");
?>
<h4>Modificare sau stergere date CLIENTI</h4>
<FORM action = "prel_modifCLI.php" method = "POST">
Clientul:
<SELECT name = "id">
/* Extragem numele de clienti din BD si le afisam intr-o lista dropdown */
<?php
$sql = "SELECT * FROM Clienti ORDER BY nume_client ASC";
$res = MYSQL_QUERY($sql);
WHILE ($row = MYSQL_FETCH_ARRAY($res))
{
echo '<OPTION value="'.$row['id'].'">'.$row['nume_client'].'</OPTION>';
}
?>
</SELECT>
55

<INPUT type="submit" name = "modifica_client" value = "Modifica">


<INPUT type="submit" name = "sterge_client" value = "Sterge">
</FORM>
<?php
MYSQL_CLOSE($con);
?>
<?php
// include("autorizare.php");
// include("admin_top.php");
$con=MYSQL_CONNECT("localhost", "root", "") or EXIT("Conectare esuata !");
MYSQL_SELECT_DB("bdCLI", $con) or EXIT("selectare baza bdCLI nereusita");
/* modifica client */
if (isset($_POST['modifica_client']))
{
// $sql = "SELECT * FROM Clienti WHERE id = '".$_POST['id']."'";
$sql = "SELECT * FROM Clienti WHERE id = ".$_POST['id'];
$res = MYSQL_QUERY($sql);
// $nume_client = MYSQL_RESULT($res,0,"nume_client");
$row = MYSQL_FETCH_ARRAY($res);
$nume_client = $row['nume_client'];
/* afisam date Client vechi pt. a fi modificate */
?>
<h1> Modifica client </h1>
<FORM action = "fine_modifCLI.php" method = "POST">
<INPUT type="text" name="nume_client" value="<?php echo $nume_client; ?>" />
<INPUT type="hidden" name="id" value="<?php echo $_POST['id']; ?>" />
<INPUT type="submit" name="modifica_client" value="Modifica">
</FORM>
<?php
}
/* sterge client */
if (isset($_POST['sterge_client']))
{
?>
Sunteti sigur ca doriti sa stergeti acest client ?
<FORM action = "fine_modifCLI.php" method = "POST">
<INPUT type="hidden" name="id" value="<?php echo $_POST['id']; ?>" />
<INPUT type="submit" name="sterge_client" value="Sterge!">
</FORM>
<?php
}
MYSQL_CLOSE($con);

56

?>
<?php
// include("autorizare.php");
// include("admin_top.php");
$con=MYSQL_CONNECT("localhost", "root", "") or EXIT("Conectare esuata !");
MYSQL_SELECT_DB("bdCLI", $con) or EXIT("selectare baza bdCLI nereusita");
if (isset($_POST['modifica_client']))
{
/* se verifica daca noul nume client a fost introdus */
if($_POST['nume_client'] == "")
{
echo 'Nu ati completat nume client modificat. Corectati, va rog ! <br>
<A href="modifCLI.php">Inapoi</A>';
exit;
}
else
{
$sql = "SELECT * FROM Clienti WHERE nume_client='".$_POST['nume_client']."'";
$res = MYSQL_QUERY($sql);
if (MYSQL_NUM_ROWS($res) != 0)
{
echo ' Clientul: <b>'. $_POST['nume_client'].'</b> exista deja in baza de date!
Corectati nume client!<br><A href="modifCLI.php">Inapoi</A>';
exit();
}
$sql = "UPDATE Clienti SET nume_client='".$_POST['nume_client']."'
WHERE id = ".$_POST['id'];
MYSQL_QUERY($sql);
echo "Clientul a fost modificat!".'<A href="modifCLI.php">Inapoi</A>';
exit;
}
}
if (isset($_POST['sterge_client']))
{
$sql = "DELETE FROM Clienti WHERE id = ".$_POST['id'];
MYSQL_QUERY($sql);
echo "Clientul a fost STERS!". '<A href="modifCLI.php">Inapoi</A>';
exit;
}
MYSQL_CLOSE($con)
?>
Pagina 5. Vizualizare Clieni
57

<?php
$con=@MYSQL_CONNECT("localhost", "root", "")
or EXIT("Conectare esuata !");
$id_tbl = MYSQL_LIST_FIELDS("bdCLI", "Clienti", $con);
$nrcols = MYSQL_NUM_FIELDS($id_tbl);
MYSQL_SELECT_DB("bdCLI") or EXIT("Selectare BD nereusita !");
$sql = "SELECT * FROM Clienti";
$res = MYSQL_QUERY($sql);
?>
&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp Lista CLIENTI
<TABLE border="1" cellpadding="2">
<TR>
<th>ID</th>
<th>Cod client</th>
<th>Nume client</th>
<th>Adresa</th>
<th>Telefon</th>
58

<th>EMail</th>
</TR>
<TR>
<?php
WHILE ($rand=MYSQL_FETCH_ROW($res))
{
echo "<TR>";
FOR ($i=0; $i < $nrcols; $i++)
echo "<TD>".$rand[$i]."</TD>";
echo "</TR>";
}
?>
</TABLE>
<?php
@MYSQL_CLOSE($con);
?>

59

Evaluare