You are on page 1of 90

UNIVERSITATEA TRANSILVANIA BRAOV

FACULTATEA DE LUCRARE DE LICEN


MATEMATIC-INFORMATIC

STOCAREA UNOR INFORMAII

REFERITOARE LA PERFORMANELE

UNEI GRUPE SPORTIVE FOLOSIND

LIMBAJUL PHP I SQL

0
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Cuprins
INTRODUCERE ................................................................................................................................................ 4
1. Tehnologiile folosite ........................................................................................................................................ 5
1.1.1.Elemente ale limbajului HTML- HyperText Markup Language ........................................................ 5
1.1.2. Structura HTML-ului .................................................................................................................................. 5
Prima pagina html ............................................................................................................................................. 5
Structura unei pagini web ................................................................................................................................. 5
1.1.3. Atribute HTML ........................................................................................................................................... 7
1.1.4. Tagul <font> si <hx> .................................................................................................................................. 8
1.1.5. Introducerea de imagini n HTML ............................................................................................................. 8
1.1.6. Linkuri HTML ............................................................................................................................................ 9
1.1.7. Clasa de tabele n HTML ............................................................................................................................ 9
1.1.8.Crearea de liste n HTML ......................................................................................................................... 10
1.1.9. Realizarea de cadre HTML ....................................................................................................................... 11
1.1.10. Formulare n HTML ............................................................................................................................... 11
1.2. Reguli CSS .................................................................................................................................................. 13
1.2.1. Introducere ............................................................................................................................................ 13
1.2.2 Pseudoclase de stiluri CSS i modaliti de modificare a cursorului ..................................................... 16
1.3. Instalarea si configurarea PHP si MySQL cu serverele web Apache si IIS sub sistemul de operare
Windows ............................................................................................................................................................. 33
1.3.1. Precizari preliminarii ............................................................................................................................ 33
1.3.2. Instalarea unui server web .................................................................................................................... 33
1.3.3. PHP scurta istorie ................................................................................................................................. 36
1.3.4. Instalarea PHP pentru Microsoft IIS (folosind PHP installer).............................................................. 36
1.3.5. Instalarea PHP pentru Apache HTTP Server........................................................................................ 36
1.3.9. Introducere n PHP , MySQL i Macromedia Dreamweaver ............................................................... 38
1.4. Limbajul PHP ........................................................................................................................................ 39
1.4.1 Introducere ............................................................................................................................................. 39
Scrierea n PHP ........................................................................................................................................... 40
Declaraia PHP............................................................................................................................................ 40
Primul script................................................................................................................................................ 41
ncheierea i testarea scriptului ................................................................................................................... 41
Scrierea unui text ........................................................................................................................................ 41
Funcia de afiare n PHP ........................................................................................................................... 42
Variabile de scoatere................................................................................................................................... 42
Formatul unui text....................................................................................................................................... 42
1.4.3. Instruciunile IF .................................................................................................................................... 44
Definiia instruciunii IF ............................................................................................................................. 44
Structura instruciunii IF ............................................................................................................................. 44
Variabilele................................................................................................................................................... 44
Construcia ramurii THEN ......................................................................................................................... 44
Construcia ramurii ELSE........................................................................................................................... 44
Alte comparaii ........................................................................................................................................... 45
1.4.4. Cicluri ................................................................................................................................................... 45
Ciclul WHILE ............................................................................................................................................. 45
Repetarea de un numr fixat de ori ............................................................................................................. 45
1
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Folosirea lui $x ........................................................................................................................................... 46


Vectori i matrici ........................................................................................................................................ 46
Definirea unui vector .................................................................................................................................. 46
Citirea unui vector ...................................................................................................................................... 47
Folosirea vectorilor i ciclurilor.................................................................................................................. 47
1.4.5. Trimiterea unui e-mail din PHP........................................................................................................... 48
Trimiterea unui mesaj E-mail ..................................................................................................................... 48
Formatul - aspectul mesajului e-mail ......................................................................................................... 48
Comanda Mail fr variabile ...................................................................................................................... 49
Erori ............................................................................................................................................................ 49
1.4.6. Construcia formularului n PHP .......................................................................................................... 49
Obinerea datelor din formular ................................................................................................................... 50
1.4.7. Comentariile in PHP ............................................................................................................................. 51
Print, Echo i HTML .................................................................................................................................. 51
One Line Prints ........................................................................................................................................... 52
1.5. PHP/MySQL .............................................................................................................................................. 53
1.5.1. Necesitatea unei baze de date ........................................................................................................... 53
Pentru a afla dac PHP i MySQL sunt instalate:...................................................................................... 54
Gestiunea Bazelor de date .......................................................................................................................... 54
1.5.2. Construirea unei Baze de Date ............................................................................................................. 54
Introducere .................................................................................................................................................. 54
Construcia Bazei de Date .......................................................................................................................... 54
Conectarea la o Baz de Date ..................................................................................................................... 54
Crearea unei Tabele .................................................................................................................................... 55
Cmpuri ...................................................................................................................................................... 55
Crearea unei Tabele cu PHP ....................................................................................................................... 55
Baza de date cu adrese de contact............................................................................................................... 55
Crearea Tabelei n PHP .............................................................................................................................. 56
1.5.3. Introducerea datelor .............................................................................................................................. 56
Conectarea la o baz de date ....................................................................................................................... 57
Selectarea bazei de date .............................................................................................................................. 57
Execuia comenzilor ................................................................................................................................... 58
Introducerea datelor .................................................................................................................................... 58
1.5.4. Afiarea rezultatelor.............................................................................................................................. 60
Introducerea datelor dintr-o pagin HTML ................................................................................................ 60
Scoaterea Datelor ........................................................................................................................................ 60
Numrarea liniilor ....................................................................................................................................... 61
Construirea ciclului ..................................................................................................................................... 61
Asocierea datelor la variabile ..................................................................................................................... 61
1.5.5. Alte rezultate ......................................................................................................................................... 63
Formatarea scoaterii.................................................................................................................................... 63
Selectarea unor date .................................................................................................................................... 64
1.5.6. nregistrri i erori ................................................................................................................................ 65
Interceptarea Erorilor .................................................................................................................................. 65
Ordonarea datelor ....................................................................................................................................... 65
Alte variante cu mysql_numrows i Sortare ............................................................................................... 65
Cmpul ID-Selecia unei singure nregistrri ............................................................................................. 66
Legturi la o singur nregistrare ................................................................................................................ 66
1.5.7. Actualizare i tergere........................................................................................................................... 67
2
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Pagina de afiare a actualizrii ................................................................................................................... 67


Actualizarea bazei de date .......................................................................................................................... 68
tergerea nregistrrilor .............................................................................................................................. 69
Ciclurile ...................................................................................................................................................... 69
1.5.8. ncheierea scriptului.............................................................................................................................. 69
Cutarea n script ........................................................................................................................................ 70
Finalizarea Script-ului ................................................................................................................................ 70
1.6-Aplicaia DBMT(Database Management System Technology): ............................................................ 71
1.6.2- Baze de date: ........................................................................................................................................ 75
1.6.3- Structura fiierelor: ............................................................................................................................... 75
1.6.5- Opiunile utilizatorilor .......................................................................................................................... 78
1.6.6- Modul de utilizare al aplicaiei ............................................................................................................. 78
BIBLIOGRAFIE................................................................................................................................................. 88

3
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

INTRODUCERE

O component important a procesului educaional o reprezint informarea. Aceasta se face la nceputul


procesului, pe parcurs i la sfrit. Evaluarea iniial este destinat crerii unei imagini despre nivelul
performanelor anterioare ale cursailor, n funcie de care profesorul va planifica desfurarea procesului
educaional. Evalurile de pe parcursul acestui proces nfieaz stadiul la care se afl cursanii la un
moment dat, oferindu-i profesorului posibilitatea de a aduce eventuale corecii. Evaluarea final cuantific
nivelul la care cursanii au ajuns la terminarea unui curs, msurnd astfel ndeplinirea obiectivelor
respectivului curs.

Aadar, informarea este omniprezent pe parcursul procesului educaional. De aceea, realizarea testelor de
evaluare, aplicarea i corectarea lor este o activitate important, care ocup mult din timpul unui tutor, n
funcie de tipul testului.

Posibilitile de utilizare a calculatorului nu se reduc ns la crearea bazelor de date, acesta poate fi folosit i
la aplicarea i corectarea lor.
Ele pot fi afiate cursantului i tutorului, dar pot fi introduse n acelai timp automat n baza de date cu
informatiile cursanilor, eliminndu-se astfel introducerea lor manual.

O astfel de aplicaie, pe care o voi denumi n continuare DataBase Management System Technology, poate
foarte uor s fie folosit i pentru auto-evaluare i documentare. Acestea pot fi accesate de cursani prin
intermediul unei reele locale, sau chiar a Internetului. La afiare cursantul poate accesa informatii despre
competentele sportive ale grupei sportive.

Sper ca lucrarea de fa s constituie un bun punct de plecare n nelegerea aplicaiei, iar aceasta din urm
s fie utilizat cu succes de ct mai muli tutori.

4
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

1. Tehnologiile folosite
1.1.1.Elemente ale limbajului HTML- HyperText Markup Language

World Wide Webul este o reea de calculatoare capabile de a schimba informaii sub diferite
forme: texte, imagini, informaii grafice i video, informaii multimedia, etc., i a fost o creaie a fizicianului
Tim Bernes Lee (cel care a inventat limbajul HTML i protocolul HTTP) de la Laboratorul European pentru
fizica particulelor, care n 1989 a dorit un model de comunicare ntre fizicienii din lume prin care acetia s
prezinte informaii asupra muncii lor prin intermediul informaiilor stocate n reea.

Informatia Web este stocat n documente numite pagini html. Paginile html sunt fiiere stocate in
computere numite servere web. Computerele care citesc paginile html sunt numite clienti web. Clientii web
vad paginile cu un program numit browser web. Cele mai populare browsere sunt Internet Explorer si Mozilla
Firefox .

Toate paginile html contin instruciuni despre cum sa fie afiate. Browser-ul afieaza pagina citind aceste
instructiuni. Cele mai obinuite instruciuni de afiare sunt numite taguri HTML. Tagurile HTML arata astfel:
.

Standardele Web nu sunt facute de Netscape sau Microsoft. Deciziile Web sunt luate de catre W3C. W3C
inseamna World Wide Web Consortium. Cele mai importante standarde web sunt HTML, CSS si XML.

1.1.2. Structura HTML-ului

Prima pagina html

Pentru inceput trebuie sa corespund extensiile fiierelor afiate.

Apoi pe desktop se creaza un fisier text "new text document" si i se schimba numele in index.html . Prima
pagina a unui site se numeste index.html (Nu este obligatoriu ca extensia sa fie .html . De exemplu daca se
folosete PHP in pagina de index pagina se va numi index.php ) . Pagina se deschide cu Notepad unde se scrie
codul html (se pote copia exemplul cu structura de mai jos), se salveaza fiierul, se nchide, apoi se deschide
cu internet explorer. Internet Explorer = IE (prescurtat)

Structura unei pagini web

Orice pagin incepe si se sfarseste cu tagurile:

O pagin trebuie sa aiba tagurile:


-conine informatii despre pagina respectiv;
-conine corpul paginii;

5
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

O structur a unei pagini HTML :

<html>
<head>
<title> </title>
</head>
<body>

</body>
</html>

n exemplul de mai sus se observa ca pagina html deja are un titlu i ca n corpul ei apare un mesaj ca in
imaginile de mai jos.

6
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

1.1.3. Atribute HTML

Atributele sunt ca o descriere pentru taguri, ele mereu au nume si o valoare. Un atribut se scrie sub forma:
si se introduce in tag sub forma:

Ex: La tagul body putem sa adaugam atributul bgcolor cu valoarea yellow sub form <body
bgcolor="yellow"></body>

Dac se pune acest tag n pagina care ai creat-o vei observa ca pagina are culoarea galben. Tocmai ai
schimbat culoarea de fundal.

Atenie , tagul <body> se pune o singur dat intr-o pagin, nu de mai multe ori!

Atributul bgcolor schimb fundalul unei pagini. Putei sa-i dati ca valoare orice culoare n limba englez.
Cum se vede i mai sus culoarea yellow din exemplu, care n engleza nseamna galben.
Atributul align poziioneaz un element. Ex: <h1 align="center"> - pune un text antet pe centru

align="center" - aliniaza n centru


align="left" - aliniaza la stanga
align="right" - aliniaza la dreapta

Atibutul si valoarea se adaug unde se deschide tagul.

De reinut este faptul c:


-un tag poate sa aib oricte atribute;
-unele taguri suport doar anumite atribute;
-atributele au valori standard;
-exista diferene intre cum vede browserele atributele, adica Mozilla Firefox poate afisa pagina diferit de IE
sau de alte browsere.

7
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

1.1.4. Tagul <font> si <hx>

Textul se poate introduce si fr taguri. Dar dac se dorete un text de o anumit form atunci se bag n
taguri ca i cele de mai jos:
<font> </font> -ntre ele se pune ceea ce se vrea sa scris pe pagin (acest tag nu va schimba deloc forma
textului)
<b> </b> -definete test ingrosat sau- <ingrosat> </ingrosat>
<big> </big> -definete test mare;
<mic> </mic> -definete test mic;
<em> </em> -definete test accentuat;
<i> </i> -definete test italic;

Anteturi:
HTML adaug automat o linie goal n plus nainte i dup un antet.
<h1> </h1> -definete un antet de cea mai mare mrime;
<h2> </h2>
<h3> </h3>
<h4> </h4>
<h5> </h5>
<h6> </h6> -definete antetul de cea mai mic marime;

Tagul <br> este folosit cnd se dorete ntreruperea unui rnd/linie , dar nu i nceperea unui unui nou
paragraf , foreaz o rupere de linie oriunde este aezat .
Poate fi folosit pentru a lasa un rnd liber . El este nepereche , neavand
nevoie de tag de nchidere .

&nbsp; -este folosit ca spatiu


&copy; -copyright-
&reg; -marc inregistrat-

<!-- This is a comment --> -cu acest tag se scrie un comentariu in html
source code , comentariu este ignorat de browser , pentru a vedea html
source code apasa click right pe o pagina web si selecteaza "page source" .

1.1.5. Introducerea de imagini n HTML


Cu HTML se poate afia imagini ntr-un document. n HTML, imaginile se definesc
cu tagul <img>. Tagul <img> nu are tag de nchidere. Pentru a afia o
imagine pe o pagina, trebuie folosit atributul src. Src inseamna "sursa".
Valoarea acestui atribut este adresa imaginii care se afieaz pe pagina.
URL-ul duce ctre locaia unde imaginea este stocat.

<img src="adresa + imagine" alt="">

8
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Atributul alt i spune celui ce vede pagina ce se afla n locul imaginii dac
browser-ul nu poate ncarca imagini.

1.1.6. Linkuri HTML


Semantica de legatura de alt document web folosete tagul ancora sau <a> pentru a crea un link ctre alt
document . O ancora poate duce catre orice resursa de pe Web: o pagina HTML, o imagine, un fiier sunet, un
film etc . Lista de etichete poate fi:

<a href="url"> Textul ce va fi afisat </a>


Textul ce va fi afiat

Cu atributul target, se poate indica unde se deschide documentul catre care


se face link-ul. Linia de mai jos va deschide documentul intr-o noua fereastr
de browser:

<a href= "url" target= "_self" > Textul ce va fi afiat </a >

target= "_self" ncarc noul document n aceeasi fereastra cu ancora (implicit).


target= "_parent" ncarc noul document in cadrul cadrul de baza .
target= "_top" ncarc noul document in intreaga fereastra de browser.
target= "_blank" ncarc noul document intr-o fereastra nou.
Se pot combina tag-ul imagine cu cel de ancora i pune un link pe imagine i se poate face un buton.
<a href= "url" target= "_self" ><img src=""> </a >

Link catre o seiune:


<a name= "Paragrafele"> Paragrafele </a>(se pune unde este seciunea pt a marca)
>Sectiunea cu paragrafe </a>

Mail link:
<a href= "mailto:adresa@yahoo.com" >Send Mail <a>

1.1.7. Clasa de tabele n HTML

Cu HTML se pot crea tabele. Tabelele se definesc cu tagul <table>.


Un tabel este divizat n randuri (cu ajutorul tagului <tr>) i fiecare rnd
este imparit in celule de date (cu ajutorul tagului <td>). Td inseamna
"table data" i este continutul unei celule de date. O celula de date poate
conine text, imagini, liste, paragrafe, formulare, linii orizontale, tabele etc.

<table border="1">
randul 1, celula 1 randul 1, celula 2
<tr>

9
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

<td>randul 1, celula 1 </td> randul 2, celula 1 randul 2, celula 2


<td>randul 1, celula 2 </td>
</tr>
<tr>
<td>randul 2, celula 1 </td>
<td>randul 2, celula 2 </td>
</tr>
</table>

Daca border="0" tabelul va exista dar va avea border-ul invizibil.


Si cu cat nr border-ului va creste border-ul va fi mai ingroat.

<table>Definete un tabel.
<th>Definete o celula cap de tabel.
<tr>Definete un rand de tabel.
<td>Definete o celula din tabel.
<captation>Definete un camp asociat tabelului pentru introducerea unei explicaii.
<colgroup>Definete grupuri de coloane ale tabelului.
<col>Definete valorile atributului pentru una sau mai multe coloane dintr-un tabel.
<thead>Definete un cap de tabel care nu se va derula.
<tbody>Definete corpul unui tabel care se desfasoara in interiorul
unui cap de tabel fixat si subsolul tabelului.
<tfoot>Definete un subsol de tabel care nu se va derula.

1.1.8.Crearea de liste n HTML

Html suport liste neordonate i ordonate.


Ex de lista neordonat:

<ul>
<li>element1 </li>
<li>element2 </li>
</ul>

Prin <ul type=""> semnul din fat poate fi modificat.


<ul type="disc"> , <ul type="circle"> , <ul type="square">

Ex de lista ordonat:

<ol>
<li>element1 </li>
<li>element2 </li>
</ol>

10
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Iniial n fa va aprea 1. , 2. .Prin


type"A" se va schimba in A. , B. , C. ,etc.
type"a" se va schimba in a. , b. , c. ,etc.
type"I" se va schimba in I. , II. , III. ,etc.
type"i" se va schimba in i. , ii. , iii. ,etc.

1.1.9. Realizarea de cadre HTML

Cu ajutorul cadrelor, se pot afia mai multe pagini web n aceeasi fereastr
de browser. Fiecare document HTML poarta numele de cadru (frame) i fiecare
cadru este independent de celelalte.

<frameset cols="30%,70%">
<frame src="pagina1 name="left">
<frame src="pagina2 name="right">
</frameset>

<frameset> Definete un set de cadre.


<frame> Definete o sub-fereastra (un cadru).
<noframes> Definete o sectiune noframei.
<iframe> Definete o sub-fereastra inline.

1.1.10. Formulare n HTML


Formularele HTML sunt folosite pentru a selecta diferite moduri de introducere a datelor de ctre utilizator.
Se pot introduce informaii ca: (cmpuri text, meniuri ce se pot derula, butoane radio, csute de validare, etc.).
Un formular se definete cu tagul <form>.

Text:

<form>
Nume: <input type="text" name="nume">
<br>
Prenume: <input type="text" name="prenume">
</form>

Radio buton:

<form>
<input type="radio" name="sex" value="male"> Male
<br>
<input type="radio" name="sex" value="female"> Female
11
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

</form>

Checkbox:

<form>
Am un caine:
<input type="checkbox" name="animal" value="caine">
<br>
Am o pisica:
<input type="checkbox" name="animal" value="pisica">
</form>

Formular cu actiune:

<form name="input" action="html.php" method="get">


Username:
<input type="text" name="user">
<input type="submit" value="Submit">
</form>

12
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

1.2. Reguli CSS


1.2.1. Introducere

CSS este un acronim provenind din Cascading Style Sheets, care nseamn "foi de stil n cascad". n
documentele W3C, CSS nu e definit ca un nou limbaj, ci ca un mecanism care permite formatarea
documentului HTML. CSS-ul nu exclude HTML-ul din pagina web. Nu se poate realiza o pagin web
folosind numai CSS, care a fost proiectat astfel nct s conlucreze cu HTML-ul. Tagurile HTML au fost
iniial destinate pentru a defini coninutul unui document. Pentru a afia "Acesta este un antet", "Acesta este
un paragraf" sau "Acesta este un tabel", trebuiau folosite taguri ca <h1>,<p>,<table> etc. Modul de aranjare al
documentului era sarcina browser-ului, far a fi folosite taguri de structur.
Pe masur ce Netscape i IE continuau s adauge noi taguri HTML i atribute (ca tagul <font> i atributul
color) sintaxei HTML originale, devenea din ce n ce mai greu s creezi site-uri web n care coninutul
documentelor HTML s fie separat clar de aranjamentul documentului. Stilurile definesc cum s fie afiate
elementele HTML 4.0, aa cum face tagul font sau atributul color n HTML 3.2. Stilurile sunt salvate n mod
normal n fiiere diferite de cele cu extensia html. Foile de stil externe permit s schimbarea apariiei i
aranjarii tuturor paginilor n site-ul web, doar prin editarea unui singur document CSS. Pentru ncercarea de
schimbare a fontului sau a culoarii tuturor anteturilor din paginile web creata, CSS poate scuti de mult munc
inutil. Proiectanii CSS-ului au urmrit ndeosebi separarea ntre coninutul paginii (textul destinat
vizitatorului i imaginile din pagin) i codul-surs. Folosind CSS, se ajunge la un control mai fin asupra
paginii web, la scderea dimensiunii n octeti a paginii web, atunci cnd codul CSS e coninut ntr-un fiier
extern. Modificnd fiierul CSS extern, modificm simultan toate paginile web n care acesta e inclus. Se pot
crea efecte mai sofisticate dect cele produse de codul HTML: suprapunerea unei imagini peste alt imagine, a
unui text peste alt text, impresia de relief, efectul hover, afiarea unor fonturi mai mari dect h1 etc.
CSS este foarte util n Web design, deoarece le permite developerilor s controleze stilul i chenarul mai
multor pagini web n acelai timp. Ca web developer se poate defini un stil pentru fiecare element HTML i
aplica orictor pagini web se dorete. Pentru a face o schimbare global, se schimb stilul i toate elementele
din paginile web vor fi modificate automat.
Dezavantaj lucrului cu CSS este c pagina coninnd cod CSS poate arata diferit n navigatoare diferite,
deoarece nu toate browserele interpreteaz codul CSS la fel.
Adugnd cod JavaScript, se obtin efecte i mai sofisticate, chiar de animatie. CSS + JavaScript = DHTML
(Dynamic HTML). Aceste efecte spectaculoase justific titulatura de "artiti CSS" sau "artizani CSS" acordat
unor creatori de pagini web.
Foile de stil dau posibilitatea specificrii informaiei despre stil n mai multe feluri. Stilurile se pot specifica
ntr-un singur element HTML, n interiorul elementului <head> al unei pagini HTML sau ntr-un fiier extern
CSS. Dintr-un singur document HTML se pot face referiri ctre mai multe foi de stil externe. Deci, un stil din
interiorul unui element HTML are cea mai mare prioritate, ceea ce nseamn c va suprascrie fiecare stil
declarat n tagul <head>, ntr-o foaie de stil extern i n browser.
n documentul HTML, codul CSS poate fi introdus n mai multe moduri:

Codul CSS e prezent n pagina web, iar efectul su se aplic asupra ntregului document.

<html>
<head>
<style>
b {color:red;}
i {color:blue;}
</style>
13
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

</head>
<body>
<p align=center><b>Introducere n CSS</b></p>
<p><i>Aceast sectiune se adreseaz celor ce cunosc deja HTML-ul. </i></p>
</body>
</html>

Consecin: Orice text cuprins ntre <b>i </b> va fi afiat cu rou, oriunde s-ar afla n document. Orice text
afiat cu italice va fi de culoare albastr.
Se observ c introducerea codului CSS n head duce la mrirea dimensiunii n octeti a fiierului.

<html>
<head>
<style>
a { text-decoration: none; }
</style>
</head>
<body>
<a href="Intro.htm">Introducere</a>
<a href="A.htm">Partea I</a>
<a href="B.htm">Partea a II-a</a>
</body>
</html>

Eticheta <style> anun browserul c urmeaz codul CSS, iar </style> c a luat sfrsit codul CSS. Efectul
codului alturat este c toate link-urile din acest document vor aprea nesubliniate (text-decoration:none;).

Codul e prezent n pagina web, iar efectul su se aplic elementelor izolate.

<html>
<head>
</head>
<body>
<a href="Intro.htm" style="color:red;">Introducere</a>
<a href="A.htm" style="color:green;">Partea I</a>
<a href="B.htm" style="color:blue;">Partea a II-a</a>
</body>
</html>

Efectul acestei secvene de cod este:

Introducere
Partea I
Partea a II-a

Se observ c nu mai este, n acest caz, o etichet <style>, ci un atribut style al etichetei <a>. Orice etichet
HTML poate beneficia de acest atribut. Pentru formatarea unor poriuni mari de text, se poate folosi
containerele div sau span. Totui, aceast abordare nu satisface principiul separrii codului CSS de textul
afisat n browser.

Codul CSS se afl ntr-un fiier extern, cu extensia css. Efectul su se aplic ntregului document.

14
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

<html>
<head>
<link rel=StyleSheet href="x.css" title="Setarea link-urilor" type="text/css">
</head>
<body>
<a href="Intro.htm">Introducere</a>
<a href="A.htm">Partea I</a>
<a href="B.htm">Partea a II-a</a>
</body>
</html>

Fiierul extern poate fi scris n Notepad i salvat cu extensia css. Includerea sa n pagina web se face folosind
tag-ul <link>, care trebuie s se afle ntre <head>i </head> (n antetul paginii).
Fisierul x.css poate conine urmtorul cod:

body { color: blue;}


a {color: red; text-decoration: none;}

Consecina va fi afiarea cu fonturi albastre a ntregului text, exceptnd link-urile, care vor fi colorate n rosu.
ntr-un fiier html, pot fi incluse astfel oricte alte fiiere cu extensia css, htm, html sau pdf.
Aceast metod de includere a CSS-ului n pagina web e mai avantajoas ca primele dou. Codul CSS
introdus astfel conlucreaz cu cel scris direct n pagin.

Documentul CSS se poate importa n pagina web.


Cod:
<html>
<head>
<style>
@import url(http://www.cartomatica.net/fis/x.css);
</style>
</head>
<body>
</body>
</html>

Importul trebuie declarat imediat dup tag-ul <style>, naintea oricrei alte linii de cod. n exemplul alturat,
s-a realizat importul n pagina curent a fiierului x.css din directorul fis al siteului www.cartomatica.net.
Desigur, fiierul importat poate avea i o adres relativ.

Sintaxa CSS este alctuit din trei pri: un selector, o caracteristic i o valoare. Selectorul este
elementul/tagul care se dorete a fi definit, caracteristica este atributul pe care dorete a fi schimbat i fiecare
caracteristic poate lua o valoare. Caracteristica i valoarea sunt separate de semnul (:) i sunt ncadrate de
acolade:

body {color: black}

Dac se dorete s specificarea mai mult de o caracteristic, trebuie s separat fiecare caracteristic cu
semnul (;). Exemplul de mai jos arat cum sedefinete un paragraf aliniat central, cu culoarea roie a textului:

p {text-align: center; color: red}

15
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Pentru a ntelege mai bine aceasta definiie de stil, se poate descrie o caracteristic pe fiecare rnd, ca n
exemplul urmtor:

p{
text-align: center;
color: black;
font-family: arial
}

Atributul class

Cu acest atribut se pot defini stiluri diferite pentru acelai element. S zicem c se doresc dou tipuri de
paragrafe n documentul: unul aliniat la dreapta i unul centrat. Iat cum se poate face asta cu stiluri:

p.right {text-align: right}


p.center {text-align: center}

Trebuie folosit atributul class n documentul. HTML:

<p class="right">
Acest paragraf va fi aliniat la dreapta.
</p>

<p class="center">
Acest paragraf va fi aliniat pe centru.
</p>

Atributul id

Atributul id trebuie s fie unic pe pagin. Nu poate exista dect un element cu un id dat ntr-un document. El
este marcat n documentul HTML cu id n loc de class:

<p id="intro">
Acest paragraf va fi aliniat la dreapta.
</p>

Atributul id poate fi definit n doua moduri. Poate fi definit pentru a se potrivi tuturor elementelor cu un id
specific sau s se potriveasc numai unui element cu un id specific. n exemplul urmtor, atributul id se va
aplica tuturor elementelor cu id= "intro":

#intro {
font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent
}

1.2.2 Pseudoclase de stiluri CSS i modaliti de modificare a cursorului

16
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Pseudoclasele se utilizeaz pentru personalizarea legturilor web, att de tip text, ct i de tip imagine. Ele se
definesc n interiorul unui bloc <style>...</style> sau ntr-un fiier extern.
Exemplul de mai jos este edificator n acest sens:

a: link {color: blue; font-size: 15pt;}


a: hover {color: red; font-style: italic; text-decoration: none}
a: visited {color: magenta; font-size: 15pt; text-decoration: none}
a: active {color: cyan; font-size: 15pt; text-decoration: none}

Explicaii:

a: link se refer la modul n care arat un link n mod normal;


a: hover se refer la modul n care arat un link atunci cnd se trece cu mouse-ul peste el (n Netscape
funcioneaz doar de la versiunea 6);
a: active se refer la modul n care arat un link atunci cnd se efectueaz click pe el;
a: visited se refer la modul n care arat un link deja vizitat;
specificaia "text-decoration: none" elimin sublinierea implicit cu o linie albastr a link-ului.

Pentru ca numai anumite legturi s utilizeze un stil, se pot folosi urmtoarele trei metode:

1. a: link.C LASA1 {. ..} combinat cu <a class = CLASA1 href=" "> ...</a>
2. a: link#ID1 {...} combinat cu <a id = ID1 href=" "> ...</a>
3. a.C LASA1: link {...} combinat cu <a class = CLASA1 href=" "> ...</a>

n browsere cursorul mouse-ului are n general o form simpl i binecunoscut, lund pe parcursul
vizionrii paginii respective maximum dou infiri diferite:

Mna - atunci cnd este poziinat pe o legtur


Sgeata oblic din direcia dreapta jos spre stnga sus - atunci cnd este poziionat pe alt obiect dect o
legtur.

Acestea sunt ns formele implicite. Exist ns i cazuri n se dorete ca acel cursor s ia o alt form dect
cele dou predefinite. La fel ca multe alte probleme care privesc modul n care arat o pagin, i aceast
problem i gsete rezolvarea n folosirea CSS ca limbaj de descriere a modului de stilizare a unui
document.

Proprietatea care manipuleaz forma cursorului se numete simplu: "cursor" i poate fi introdus n orice
element "style" al unui tag html.

De exemplu, pentru obinerea unei imagini a cursorului de tipul unei sgei nsoite de un semn de ntrebare la
trecerea mouse-ului peste un link, iat codul care va trebui folosit:

<a href="fisier.html" style="cursor: help">Legatura</a>

Nu este ns unicul mod de stilizare a cursorului mouse-ului. n continuare sunt prezentate codurile pentru
toate formele de cursor care se pot folosi:

17
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

auto utilizeaza setarile implicite ale utilizatorului


crosshair creeaza o cruce
default setarile implicite ale browserului
e-resize sageata Est-Vest
hand mana
help semnul intrebarii
move cruce cu sageti la capete
n-resize sageata sud-nord
ne-resize sageata SudVest - NordEst
nw-resize sageata SudEst - NordVest
pointer mana
s-resize sageata Nord - Sud
se-resize sageata NordVest - SudEst
sw-resize sageata NordEst - SudVest
text bara verticala campuri de introducere a datelor
w-resize sageata Est-Vest
wait clepsidra

div, span i etichete CSS

Eticheta html <div> funcioneaz asemntor cu eticheta html <p>, putnd gzdui comenzi CSS aplicabile la
un bloc sau mai multe din coninutul paginii. Eticheta html <span> este similar cu eticheta html <font> (pe
cale de a fi eliminat de consoriul W3C) aplicndu-se elementelor dintr-un paragraf. Etichetele CSS sunt
cunoscute sub numele de elemente sau selectori avnd un layout asemntor cu etichetele HTML.

// eticheta HTML
<eticheta argument="valoare">

// eticheta CSS
element{argument: valoare;}

elementul poate fi o etichet HTML, un id sau un class, iar argumentul i valoarea sunt aceleai ca n HTML.

Exemplu: acelai text realizat n HTML i n HTML cu CSS

// HTML
<font color="#00FF00">
<p>Text verde</p>
</font>

// HTML cu CSS
<p style="color: #00FF00;">
Text verde
</p>

Comenzile de CSS pot fi plasate i n zona HEAD rezultnd o funcionare identic, chiar mai mult, aceleai
comenzi putnd fi folosite n mai multe locuri n aceeai pagin.

18
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Exemplu: comenzi CSS incluse n zona HEAD

<html>
<head>
<title>Exemplul 1_1</title>
<style type="text/css">
<!--
p{color: #00FF00;}
-->
</style>
</head>
<body>

<p>Text verde</p>

Text negru

<p>Text verde</p>

</body>
</html>

Elementele id i class

id i class sunt comenzi care dau unei formatri CSS un nume. Se folosesc atunci cnd dorim s aplicm un
style de formatare unei anume zone. Pentru compatibilitate cu versiunile anterioare de browsere, numele
asociate zonelor nu vor conine caracterul _

Elementul id se aplic unui style de format o singur data sau la o singur etichet HTML, plasndu-se un
nume acelui style. Acest element necesit existena comezilor CSS n zona HEAD sau ntr-un fiier extern.

Exemplu: folosirea elementului id

<html>
<head>
<title>Exemplu 2_1</title>
<style type="text/css">
<!-- #albastru{color: #0000FF;}-->
</style>
</head>
<body>
<p id="albastru">Text albastru introdus prin id "albastru"</p>
Text negru
</body>
</html>

Elementul class este similar cu id dar spre deosebire de acesta poate fi folosit de mai multe ori sau pentru zone
mai mari. Ca i la id necesit existena comezilor CSS n zona HEAD sau ntr-un fiier extern.

Exemplu: folosirea elementului class:

19
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

<html>
<head>
<title>Exemplu 2_2</title>
<style type="text/css">
<!-- .rosu{color: #FF0000;}-->
</style>
</head>
<body>
<p class="rosu">Primul text rosu introdus prin class "rosu"</p>
Text negru
<p class="rosu">Al doilea text rosu introdus prin class "rosu"</p>
</body>
</html>

Stiluri pentru fonturi

Aceste elemente specific argumentul fontului care se asociaz unui element HTML fiind incluse ori n zona
HEAD ori n interiorul etichetei dorite.
n cazul de fa se remarc asemnarea cu eticheta font din HTML care accept argumentele type, style, size i
weight.

font-family
font-family este de fapt o list de fonturi din care browserul va folosi n ordinea n care le recunoate (primul
folosit va fi primul din list, dac nu este recunoscut l folosete pe al doilea i tot aa mai departe). Este
recomandat ca ultima poziie din list s fie un font generic (de exemplu serif, sans-serif sau monospace).
n situaia n care numele fontului este format din dou cuvinte, se ncadreaz ntre ghilimele duble pentru ca
browserul s le interpreteze mpreun.

Exemplu: CSS introdus n HEAD aplicat etichetei p. Browserul nu recunoate primele dou fonturi din list,
folosindu-l pe al treilea:

Cod:
<html>
<head>
<title>Exemplu</title>
<style type="text/css">
<!-- p{font-family: font1,font2,arial;}-->
</style>
</head>
<body>
<p>Text scris cu cu fontul Arial</p>
Text negru
<p>Text scris cu cu fontul Arial</p>
</body>
</html>

Exemplu: acelai exemplu dar CSS introdus n eticheta p din HTML:

<html>
<head>

20
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

<title>Exemplu</title>
</head>
<body>
<p style="font-family: font1,font2,arial;">Text scris cu cu fontul Arial</p>
Text negru
<p style="font-family: font1,font2,arial;">Text scris cu cu fontul Arial</p>
</body>
</html>

font-size
Este parametrul prin care stabilim dimesiunea fontului, exprimat n pixeli (px), puncte (pt), keywords sau
procente. Are o funcionare asemntoare cu eticheta <font>.

Exemplu: CSS introdus n HEAD aplicat etichetei p, dimensiunea exprimat n pixeli:

<html>
<head>
<title>Exemplu</title>
<style type="text/css">
<!-- p{font-size: 20px;}-->
</style>
</head>
<body>
<p>Text scris cu font de 20px</p>
Text negru
</body>
</html>

Pentru dimensiunea exprimat n puncte folosim acelai exemplu nlocuind px cu pt.

Dimensiunea exprimat prin keywords folosete cuvinte n loc de cifre. apte cuvinte nlocuiesc dimensiunile
de la 1 la 7 de la vechea etichet FONT FACE din HTML.

CSS keyword numar FONT size


xx-small 1
x-small 2
Small 3
medium 4
Large 5
x-large 6
xx-large 7

Pentru verificare se poate folosi exemplul anterior n care se nlocuiete 20px cu unul din cuvintele de mai sus.

Procentele sunt o alt valoare pe care o poate lua font-size. Aceast modalitate poate fi vizualizat diferit de
browsere diferite.
Ca verificare folositi acelasi exemplu schimbnd 20px cu 200%.

font-style
font-style este folosit pentru a aduga caracteristica italic fontului. Poate lua valorile normal i italic.
21
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

<style type="text/css">
<!-- p{font-style: italic;}-->
</style>

font-weight
font-weight este parametrul care stabilete grosimea caracterului putnd lua valorile numerice de la 100 la 900
sau BOLD, BOLDER, LIGHTER.
<style type="text/css">
<!-- p{font-weight: 700;}-->
</style>

Compunerea stilurilor
Stilurile prezentate anterior pot fi folosite simultan n interiorul aceeai etichete fiind desprite de caracterul ;
(punct i virgul).

Exemplu: folosirea unui stil compus aplicat etichetei p

<html>
<head>
<title>Exemplu 3_4</title>
<style type="text/css">
<!--
p{
font-family: arial;
font-size: 20px;
font-style: italic;
font-weight: 800;}
-->
</style>
</head>
<body>
<p>Text scris cu Arial, 20px, italic, 800</p>
Text negru
</body>
</html>

Stiluri pentru text

Aliniere
text-align poziioneaz pe orizontal obiecte (de exemplu text sau imagini) i admite valorile left, right i
center ca i eticheta align din HTML.

n continuare este prezentat ca exemplu codul folosit n HEAD, aplicat etichetei p:

<style type="text/css">
<!--
p{text-align: center;}
-->
</style>

Exemplu: prin intermediul lui div aplicm stilul pe centru imaginii i textului:

22
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

<html>
<head>
<title>Exemplu</title>
<style type="text/css">
<!--
p{text-align: center;}
-->
</style>
</head>
<body>
<div class="pecentru"><img src="poza.jpg"></div>
Text neformatat
<div class="pecentru">Text formatat</div>
</body>
</html>

vertical-align este folosit pentru alinierea pe vertical a obiectelor dintr-un tabel i poate lua valorile: top,
middle i bottom.
n exemplul de mai jos este creat clasa sus care va putea fi aplicat elementelor <td> ale tabelului:
<style type="text/css">
<!--
.sus{vertical-align: top;}
-->
</style>

float este folosit pentru alinierea textului cu imaginile i poate avea valorile: left i right. n funcie de
valoarea aleas imaginea va fi aliniat n partea opus a paginii. Exemplu: se creeaza clasa auto i o aplicm
inaginii

<html>
<head>
<title>Exemplu</title>
<style type="text/css">
<!--
.auto{float: left;}
-->
</style>
</head>
<body>
<img src="poza.jpg" class="auto">
Textul se aliniaza la dreapta, iar poza la stanga datorita clasei "auto".
</body>
</html>

Tabulare - text-indent este folosit pentru alinierea textului n interior avnd valori exprimate n inci (in),
centimetri (cm) sau pixeli (px).
n exemplul de mai jos text-indent este aplicat etichetei p deplasnd textul cu 10 pixeli n interior:

<style type="text/css">
<!--
p{text-indent: 10px;}
-->
</style>

23
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Decorare
text-decoration adaug sublinierea sau tierea blocului text asociat i poate avea valorile underline, line-
through sau none.

Exemplu: stilul asociat etichetei p este prezentat n HEAD:

<html>
<head>
<title>Exemplu</title>
<style type="text/css">
<!--
p{text-decoration: underline;}
-->
</style>
</head>
<body>
Text normal
<p>Text subliniat</p>
</body>
</html>

Culoare
color definete culoarea textului dintr-o zon sau ntreaga pagin.

Exemplu: stilul asociat etichetei p este prezentat n HEAD:

<html>
<head>
<title>Exemplu</title>
<style type="text/css">
<!--
p{color: #0000FF;}
-->
</style>
</head>
<body>
Text normal
<p>Text albastru</p>
</body>
</html>

Stiluri pentru legturi

n HTML culoarea legturilor poate fi stabilit prin atributele LINK, ALINK i VLINK declarate n interiorul
etichetei BODY.
Acelai lucru i chiar mai mult poate fi realizat folosind sintaxa CSS.

Exemplu:
24
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

<html>
<head>
<title>Exemplu</title>
<style type="text/css">
<!--
a{font-family: arial; font-size: 20px;}
a:link {color: #0000FF;}
a:visited {color: #00FF00;}
a:active {color: #FF0000;}
a:hover {color: #000000;}
-->
</style>
</head>
<body>
Text normal
<a href="exemplu.html">link</a> catre exemplu
</body>
</html>

a - definete stilul general pentru legtur


a:link - definete stilul legturii nevizitate
a:visited - definete stilul legturii vizitate
a:active - definete stilul legturii active (nu prea se folosete)
a:hover - definete stilul cnd mouse-ul este deasupra legturii

Stiluri pentru background

Culoarea pentru fundal (background) sau imagine poate fi definit pentru ntreaga pagin, o celul a tabelului
sau pentru text.

Culoare de fond
background-color definete culoarea de fond i poate fi asociat oricrei etichete HTML.

Exemplu: se definete un stil pentru ntreg BODY i un altul pentru eticheta p

<html>
<head>
<title>Exemplu</title>
<style type="text/css">
<!--
body {background-color: #FFFF00;}
p {background-color: #FF0000;}
-->
</style>
</head>
<body>
Text normal
<p>Text cu background rosu</p>
</body>
</html>

25
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Imagine de fond
Imaginile pot fi folosite ca fundal n spatele ntregii pagini, a unui obiect sau a textului.
background-image asociaz o imagine ca fundal unui obiect.

Exemplu: un stil pentru eticheta p

<html>
<head>
<title>Exemplu</title>
<style type="text/css">
<!--
p {background-image: url(poza.jpg);}
-->
</style>
</head>
<body>
Text normal
<p>Text cu imagine de fond</p>
</body>
</html>

Repetare
Funcie de dimensiunile obiectului cruia i sunt asociate imaginile de fond se repet pe orizontal i vertical.
Repetarea poate fi controlat prin parametrul background-repeat care poate lua valorile:
repeat-x - imaginea se repet pe orizontal
repeat-y - imaginea se repet pe vertical
no-repeat - imaginea nu se repet

Exemplu: imaginea nu se repet sub eticheta p:

<html>
<head>
<title>Exemplu</title>
<style type="text/css">
<!--
p {background-image: url(poza.jpg);
background-repeat: no-repeat;}
-->
</style>
</head>
<body>
Text normal
<p>Text cu imagine de fond</p>
</body>
</html>

Poziia
n mod normal imaginea de fundal ncepe din colul stnga sus al obiectului asociat, dar acest lucru poate fi
controlat prin comanda CSS background-position.
Sunt acceptate dou valori:
n prima poziie poate fi: top, center, bottom, percentage sau pixel
n a doua poziie poate fi: right, center, left, percentage sau pixel
26
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Exemplu: imaginea de fundal este asociat etichetei BODY fiind amplasat top i center, fr repetare:

<html>
<head>
<title>Exemplu 5_4</title>
<style type="text/css">
<!--
body {background-image: url(poza.jpg);
background-repeat: no-repeat;
background-position: top center;}
-->
</style>
</head>
<body>
Text normal
</body>
</html>

Stiluri pentru liste

list-style-type
Folosind eticheta ol din HTML cream liste ordonate sau numerotate. Adugnd comenzi CSS n zona HEAD
se pot aduga pe lng numere i cifre sau alte simboluri. Browserul Netscape nu permite asocierea
comenzilor CSS dect pentru eticheta li.

Sintaxa este:

<style type="text/css">
<!--
li {list-style-type: valoare;}
-->
</style>

valoarea poate fi:


valoare disc
Disc disc
circle cerc
square ptrat
decimal numere ntregi
lower-roman numere romane, caractere mici (i, ii, iii, iv)
upper-roman numere romane, caractere mari (I, II, III, IV)
upper-alpha litere mari (A, B, C, D)
lower-alpha litere mici (a, b, c, d)
None nimic

Exemplu: lista ordonat folosind marcaje cu litere mici:


<html>
<head>
<title>Exemplu</title>
<style type="text/css">
27
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

<!--
li {list-style-type: lower-alpha;}
-->
</style>
</head>
<body>
Necesar materiale:
<ol>
<li>caramida</li>
<li>ciment</li>
<li>ipsos</li>
</ol>
</body>
</html>

list-style-image
n afara simbolurilor de marcaj prestabilite cunoscute de browser pot fi folosite i imagini prin comanda CSS
list-style-image. Imaginile sunt introduse prin adresa url().

Exemplu: lista ordonat folosind ca marcaj imaginea punct.gif

<html>
<head>
<title>Exemplu</title>
<style type="text/css">
<!--
li {list-style-image: url(punct.gif);}
-->
</style>
</head>
<body>
Necesar materiale:
<ul>
<li>caramida</li>
<li>ciment</li>
<li>ipsos</li>
</ul>
</body>
</html>

Chenare i margini

Fiecare element HTML poate fi neles ca o caset dreptunghiulara (box), iar toate cutiile au aceeai structur:
"width", "padding", "border" i "margin".

28
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

marginea (margin) este spaiul exterior chenarului pn la celelalte elemente


chenarul (border) este o bordur care nconjoar elementul
completarea (padding) stabilete distana dintre coninut i chenar
coninutul include informaia util (text, tabele, imagini, formulare, etc.)

Originea elementului este considerat colul din dreapta sus fa de care se vor raporta toate dimensiunile
prezentate n continuare.

Domeniul de coninut (width i height)


Fiecare element are o lime (width). Dac aceasta nu a fost definit, n cazul elementelor de tip block, box-ul
este att de lat ct trebuie s fie, deci ct coninutul box-ului. Limea i nlimea unui element sunt stabilite
n HTML prin atributele width i height. Aceste atribute pot fi adugate sau suprascrise prin comenzi CSS.

Exemplu: folosind comenzi CSS modificm dimensiunile originale ale imaginii:

<html>
<head>
<title>Exemplu</title>
<style type="text/css">
<!--
img {width: 50px; height: 100px;}
-->
</style>
</head>
<body>
<img src="margini.gif">
</body>
</html>

29
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Distana interioar (padding i margin)


ntre coninut i marginea box-ului se afl distana interioar (padding). padding stabilete distana dintre
obiect i chenar simultan pentru toate laturile. De asemenea padding preia culoarea de fundal a documentului
coninut. Distantele pot fi stabilite i individual folosind padding-top, padding-bottom, padding-left sau
padding-right.

margin stabilete distana dintre chenar i celelalte obiecte din pagin simultan pentru toate laturile. Distanele
pot fi stabilite i individual folosind margin-top, margin-bottom, margin-left sau margin-right.

Valorile pentru padding i margin pot fi exprimate n: px (pixeli), in (inci), pt (puncte) sau cm (centimetri).

Exemplu: folosind comenzi CSS imaginea este poziionat la 100px fa de latura stng i 25px fa de latura
de sus:

<html>
<head>
<title>Exemplu</title>
<style type="text/css">
<!--
img {margin-left: 100px; margin-top: 25px;}
-->
</style>
</head>
<body>
<img src="margini.gif">
</body>
</html>

Marginea (border)
n jurul "padding" se seteaz chenarul (border), care pentru toate patru laturile poate avea o lime (width),
culoare (color) i style (tiat, punctat, liniat etc.) diferite. Netscape i Internet Explorer afieaz diferit
chenarele. Comanda CSS pentru definirea chenarului este border avnd proprietile asociate width, style i
color. Pentru a fi siguri c aceste proprieti funcioneaz att n Internet Explorer ct i n Netscape trebuie s
declarm pentru border cel puin width i style.

border-width - stabilete grosimea chenarului i poate fi exprimat n px (pixeli), pt (puncte), cm (centimetri)


sau in (inci).
border-style - stabilete tipul chenarului i poate fi dotted, dashed, solid, double, groove, ridge, inset i outset.
border-color - stabilete culoarea chenarului i poate fi exprimat prin valoare hexazecimala sau n cuvinte.

Exemplu: definim nou clase utiliznd proprietile border-width, border-style i border-color:

<html>
<head>
<title>Exemplu</title>
<style type="text/css">
<!--
.clasa1 {border-width: 2px; border-style: dotted; border-color: red;}
.clasa2 {border-width: 3px; border-style: dashed; border-color: blue;}
.clasa3 {border-width: 2px; border-style: solid; border-color: green;}
.clasa4 {border-width: 3px; border-style: double; border-color: black;}
.clasa5 {border-width: 2px; border-style: groove; border-color: silver;}
30
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

.clasa6 {border-width: 3px; border-style: ridge; border-color: lime;}


.clasa7 {border-width: 2px; border-style: inset; border-color: yellow;}
.clasa8 {border-width: 3px; border-style: outset; border-color: aqua;}
.clasa9 {border-width: 2px; border-style: hidden; border-color: olive;}
-->
</style>
</head>
<body>
<div class="clasa1">border-width: 2px; border-style: dotted; border-color: red;</div><br>
<div class="clasa2">border-width: 3px; border-style: dashed; border-color: blue;</div><br>
<div class="clasa3">border-width: 2px; border-style: solid; border-color: green;</div><br>
<div class="clasa4">border-width: 3px; border-style: double; border-color: black;</div><br>
<div class="clasa5">border-width: 2px; border-style: groove; border-color: silver;</div><br>
<div class="clasa6">border-width: 3px; border-style: ridge; border-color: lime;</div><br>
<div class="clasa7">border-width: 2px; border-style: inset; border-color: yellow;</div><br>
<div class="clasa8">border-width: 3px; border-style: outset; border-color: aqua;</div><br>
<div class="clasa9">border-width: 2px; border-style: hidden; border-color: olive;</div>
</body>
</html>

Marginea exterioar (margin)


Fiecare box are i o distan exterioar (margin) pn la celelalte elemente, care preia culoarea de fundal a
elementului nconjurtor.

Modelul box servete pentru formatarea distanelor n i ntre box-urile unei pagini web i este extrem de
diversificat.

Poziionarea obiectelor

Poziionarea permite aezarea unui obiect ntr-un anume loc folosind coordonatele. Totodat obiectele pot fi
poziionate pe straturi diferite, unul deasupra celuilalt.

Att poziionarea absolut (ASOLUTE) ct i cea relativ (RELATIVE) folosesc proprietile LEFT i TOP
exprimate n px (pixeli), in (inci), pt (puncte), ems, procentaje sau cm (centimetri).

Poziionarea absolut plaseaz obiectul n pagin exact n locaia dat de left i top. Astfel poate fi creat un
element liber fa de celelalte din pagin. Obiectul poate fi orice, de exemplu text sau imagine.

Exemplu: am aplicat poziionarea absolut etichetei h4:

<html>
<head>
<title>Exemplu 8_1</title>
</head>
<body>
<h4 style="position: absolute; left: 50px; top: 50px">Text 1</h4>
<h4 style="position: absolute; left: 100px; top: 200px">Text 2</h4>
</body>
</html>

Poziionarea relativ este poziia normal pe care o ocup un element, dup elementele anterioare i naintea
celor urmtoare. Poate fi deplasat fa de aceast poziie folosind proprietile left i top.
31
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Exemplu: am folosit dou obiecte unul poziionat absolut celalalt relativ:

<html>
<head>
<title>Exemplu 8_2</title>
<style type="text/css">
<!--
.absolut {position: absolute; left: 200px; top: 150px;}
.relativ {position: relative; left: 50px; top: 50px;}
-->
</style>
</head>
<body>
<div class="absolut">Pozitionare absoluta, independent de celelate obiecte din pagina</div>
Text
<div class="relativ">Pozitionare relativa, dupa "Text"</div>
</body>
</html>

Poziionarea tridimensional
Elementele sunt poziionate pe ecran pe o suprafa bidimensional dar pot fi aezate i unul deasupra
celuilalt, ntr-o stiv utiliznd un indicativ (index-z) ncepnd cu 0, urmtorul 1 i tot aa n continuare.
Elementul cu indexul cel mai mare este aezat deasupra.

Exemplu: au fost folosite dou obiecte unul poziionat absolut celallt relativ:

<html>
<head>
<title>Exemplu 8_3</title>
<style type="text/css">
<!--
.element1 {position: absolute; left: 30px; top: 30px; z-index: 3}
.element2 {position: absolute; left: 50px; top: 50px; z-index: 2}
.element3 {position: absolute; left: 70px; top: 70px; z-index: 1}
-->
</style>
</head>
<body>
<div class="element1"><img src="poza.jpg"></div>
<div class="element2"><img src="poza.jpg"></div>
<div class="element3"><img src="poza.jpg"></div>
</body>
</html>

32
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

1.3. Instalarea si configurarea PHP si MySQL cu serverele web Apache si IIS sub
sistemul de operare Windows

1.3.1. Precizari preliminarii


Pentru aceste operaii sunt vizai utilizatorii de sisteme Windows 98/Me si NT/2000/XP/2003. Pentru
instalarea PHP aveti nevoie de un server web, instalat local, cum ar fi Apache HTTP Server sau Microsoft IIS
(Microsoft Internet Information Services).

Este nevoie de kitul pentru serverul Apache sau CD-ul de instalare pentru Windows (in cazul in care doriti sa
instalati Microsoft IIS), pachetul PHP (disponibil sub forma de installer sau arhiva), serverul MySQL si un
browser web. Informaiile pentru procurarea pachetelor de instalare sunt oferite treptat.

1.3.2. Instalarea unui server web


Apache HTTP Server este o solutie open-source (sursa libera), dezvoltat de Apache Software Foundation
care este folosit de peste 60% dintre siturile prezente pe web, fiind disponibil att pentru Windows, ct si
pentru Linux. Se poate descrca ultima versiune de la http://httpd.apache.org/download.cgi (alegei Win32
Binary (MSI Installer)).

Versiunea 2.0.x a server-ului Apache nu ofer suport complet pentru sisteme de operare Windows mai vechi
ca NT 4.0, deci este recomandat sa descrcarea versiunii 1.3.x a acestui server pentru Windows 98. De
asemenea, Apache 2.0.40 sau mai nou este compatibil cu versiuni mai noi decat (i incluznd) PHP 4.3.0 i
respectiv PHP 5.

n timpul instalarii, trebuie sa specificat Network Domain si Server Name ca fiind localhost, iar la adresa
administratorului putei introduce adresa dvs. de e-mail, dei nu are vreo importana (in cazul in care ) n
utilizarea ulterioara a produsului (fereastra este ilustrat mai jos). Este instalat si Apache Monitor cu care
putei porni sau opri serverul web Apache.

33
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Serverul web de la Microsoft, IIS poate fi instalat doar cu CD-ul de instalare al sistemului de operare
Windows, folosind funcionalitatea:

Add/Remove Windows Components (Start > Settings > Control Panel > Add/Remove Programs >
Add/Remove Windows Components, pe partea stanga).

In Windows XP, instalarea acestuia este imediat, in sensul ca nu trebuie configurat nimic special. Pentru
asigurarea ca serverul IIS este pornit, se ruleaz:

Computer Management (din Start > Settings > Control Panel > Administrative Tools), se navighez pn
la Services and Applications, Internet Information Services, Web Sites, Default Web Site.

Daca starea acestuia este Stopped se face click dreapta si se selectez Start.

Apache HTTP Server si Microsoft IIS nu pot rula in acelasi timp.

Pentru a testa daca oricare dintre servere a fost instalat corect, se navighez cu browserul web la adresa
http://localhost.

Mai jos, sunt capturi de ecran cu pagina ncarcata n cazul n care instalarea a fost efectuat cu succes, pentru
cele doua servere tratate. Pentru a ncarca pagini ce pot fi accesate local de catre serverul web, se copiaz n
directorul:

c:\Inetpub\wwwroot\ pentru Microsoft IIS


c:\Program Files\Apache Software Foundation\Apache2.2\htdocs\ pentru Apache

n unele versiuni mai vechi, "Apache Software Foundation" se numeste "Apache Group", de asemenea,
numele directorului in care este instalat serverul web ( "Apache2.2" in acest exemplu) este denumit dupa
versiunea curenta instalat.

34
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

35
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

1.3.3. PHP scurta istorie

PHP este unul dintre cele mai populare limbaje de scripting pe parte de server. Iniial a fost scris in C, de
programatorul canadian Rasmus Lerdorf i lansat sub numele de Personal Home Page Tools n iunie 1995
din nevoia de a genera pagini dinamic i a-l scuti astfel de un volum de munca.

Doi ani mai trziu, doi programatori israelieni, Zeev Suraski si Andi Gutmans au rescris parser-ul PHP
punnd bazele PHP3, schimbnd i denumirea n "PHP: Hypertext Preprocessor". n mai 2004, este lansat
PHP4, folosind un nou motor, Zend Engine 1.0, dezvoltat de programatorii amintii.

Pentru a descrca PHP, se poate merge la http://www.php.net/downloads.php si alegei PHP Zip Package
(pentru a instala cu Apache HTTP Web Server) sau PHP installer (pentru a instala cu Microsoft IIS) pentru
oricare dintre versiunile 4 sau 5, dezvoltate concomitent de catre The PHP Group. Configurarea automat
pentru serverul Apache nu a fost implementat, deci va trebui facut manual.

1.3.4. Instalarea PHP pentru Microsoft IIS (folosind PHP installer)


Momentan, doar PHP 4 beneficiaza de kit pentru instalare automat. Descarcati installer-ul, selectai optiunea
Standard. Vei fi intrebat de tipul de server folosit, alegei "Microsoft IIS 4 or higher" sau "Microsoft IIS 6
or higher", dupa caz. Installer-ul va copia fiierele pe discul ce conine sistemul de operare in directorul \php.
De obicei, paginile PHP vor fi servite imediat, nefiind necesara restartarea IIS.

Pentru a testa daca instalarea PHP a fost realizata cu succes, se descarcarc fiierul test si copiaz n directorul
c:\Inetpub\wwwroot.

Daca fiierul este afiat, instalarea a fost finalizat cu succes. n alte cazuri, acesta (http://localhost/test.php)
poate fi propus pentru download, ceea ce nseamna ca serverul web nu recunoaste extensia ".php".

n acest moment, daca instalarile au reuit, se poate trece direct la instalarea si configurarea server-ului
MySQL.

1.3.5. Instalarea PHP pentru Apache HTTP Server

n cazul in care s-a descrct arhiva ce contine fiierele PHP, se creaz un director \php pe discul pe care este
instalat sistemul de operare si serverul web Apache si se dezarhivez pachetul acolo.S presupune de aici
nainte ca discul respectiv este c:. Aceasta este o instalare tipic pentru PHP ca modul Apache.

1) Se navighez la c:\php\ si se redenumete fiierul php.ini-dist in php.ini. Se deschide acest fisier n


Notepad

2) Se copiaz fiierele php.ini si php4ts.dll (sau php5ts.dll n caz ca s-a ales PHP 5) din c:\php\ in
c:\windows\system32\ (pentru Windows 2000/XP) sau c:\windows\system\ (pentru Windows 98/Me).

36
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

3) Acum, pentru a configura i serverul web Apache sa lucreze cu PHP, se merge la c:\Program
Files\Apache Software Foundation\Apache2.2\conf\ (sau locatia corespunzatoare distributiei instalate) i se
deschide fisierul httpd.conf cu Notepad (sau alt editor text). Se parcurge treptat instruciunile de mai jos si
adaugaug la sfaritul fiierului liniile ce corespund situaiei. Dupa ce s-a fcut acest lucru, se restarteaz
serverul Apache.

ncarcarea modulului PHP, pentru Apache 2 si PHP 4

LoadModule php4_module c:/php/sapi/php4apache2.dll

carcarea modulului PHP, pentru Apache 2 si PHP 5. Pentru acest caz, exist o cunoscut eroare de
compatibilitate intre Apache 2.0.x si Apache 2.2.x, legat de interfata API.

Pentru versiunile Apache 2.0.x se pot utiliza cu succes directiva de mai jos. Pentru 2.2.x, trebuie sa se
foloseasc fiierul php5apache2_2.dll, disponibil in distribuia PHP 5.2.x, aflat n stare de dezvoltare i
testare, la momentu la scrierii acestui articol.

Se alegei una din directivele de mai jos:

#pentru Apache 2.0.x


LoadModule php5_module c:/php/php5apache2.dll

#pentru Apache 2.2.x


LoadModule php5_module c:/php/php5apache2_2.dll

Incarcarea modulului PHP, pentru Apache 1.3.x si PHP 4

LoadModule php4_module c:/php/sapi/php4apache.dll

Incarcarea modulului PHP, pentru Apache 1.3.x si PHP 5

LoadModule php5_module c:/php/sapi/php5apache.dll

Doar daca ati ales Apache 1.3.x, considerati si urmatoarea linie:

AddModule mod_php4.c

Adaugarea suportului pentru fisiere de tip .php, .php3 sau .phtml. Stergeti caracterul "#" daca doriti suport
optional si pentru ultimele doua extensii.

AddType application/x-httpd-php .php

#AddType application/x-httpd-php .php3


#AddType application/x-httpd-php .phtml

Pentru a configura calea catre fisierul de configurare PHP (php.ini), se adaugaug i urmatoarea linie
(bineineles, se nlocuiete cu calea corespunzatoare instalrii dvs.)

PHPIniDir c:\php\
37
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Pn acum trebuiesc avute trei linii pentru server-ele Apache 2 si respectiv patru linii pentru server-ele
Apache 1.3.x, care se vor copia la sfartul fisierului httpd.conf.

1.3.9. Introducere n PHP , MySQL i Macromedia Dreamweaver

PHP (se pronun pe-ha-pe) este un limbaj de programare ce ruleaz server, proiectat special pentru WEB.
ntr-o pagin HTML putei ngloba cod PHP care va fi executat la fiecare vizitare a paginii.

Codul PHP este interpretat pe serverul WEB i genereaz un cod HTML care va fi vzut de Uilizator
(clientului (browserului) fiindu-i transmis numai cod interpretat ca i HTML).

PHP a fost conceput n anul 1994 i a fost iniial munca unui singur om, Rasmus Lerdorf.

PHP este un produs Open Source, cu acces la codul surs. Il putei folosi, modifica i redistribui, toate acestea
n mod gratuit.
Iniial, PHP era acronimul de la Personal Home Page, dar a fost modificat pentru a se alinia la conversia de
numire recursiv GNU (GNU = Gnu`s Not Unix) i acum este acronimul pentru PHP Hypertext Preprocessor.

Versiunea actual a PHP este 5.2.4


Pagina de baz pentru PHP este: http://www.php.net

Pagina pentru Zend (compania a crei fondatori au proiectat PHP4) se afl la http://www.zend.com

38
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

(se pronunt mai-es-chiu-el) este un sistem de gestiune a bazelor de date, foarte


rapid i robust.

O baz de date permite stocarea, cautarea, sortarea i s regsirea datelelor n mod eficient.

Serverul MySQL controleaz accesul la date pentru a garanta c mai muli utilizatori pot lucra simultan cu
acestea.

Deci, MySQL este un server multi-user (mai muli utilizatori) i multi-thread (mai multe fire de execuie).
Utilizeaza SQL (Structured Query Language), limbajul standard de interogare a bazelor de date din ntreaga
lume.

MySQL este disponibil n mod public din 1996, dar istoria dezvoltarii sale incepe in 1979. A ctigat de mai
multe ori Linux Journal Readers` Choice Award (Premiul cititorilor).

MySQL este disponibil sub o licen Open Source, dar dac este nevoie sunt disponibile i licene comerciale.

Versiunea actual a MySQL este 5.1.


Pagina de baz pentru MySQL este: http://www.mysql.com

Macromedia Dreamweaver este o unealt destinat creatorilor de pagini web. Dreamweaver a fost creat
de Macromedia (acum Adobe Systems) i momentan a ajuns la versiunea 10. Primele versiuni ale produsului
serveau doar ca simple editoare HTML de tipul WYSIWYG dar n versiunile recente au fost implementate
funcii de editare avansate i support pentru alte tehnologii web cum ar fi CSS, JavaScript etc.Dreamweaver s-
a bucurat de un larg succes nc de la sfritul anilor '90 i momentan deine aproximativ 80% din piaa
editoarelor HTML. Produsul poate fi rulat pe variate platforme software: Mac, Windows, dar suport n
acelai timp i platforme UNIX cu ajutorul unor emulatoare software, cum ar fi Wine.Ca orice alt editor
WYSIWYG, Dreamweaver poate ascunde detaliile de implementare a paginilor HTML, fcnd astfel posibil
crearea cu uurin a paginilor web de ctre utilizatorii neexperimentai.Unii creatori de pagini web critic
aceste tipuri de editoare deoarece produc pagini de dimensiuni mult mai mari dect ar fi necesar, ceea ce
conduce la o funcionare neperformant a browserelor web. Aceast afirmaie este n mare parte adevarat
deoarece paginile web produse folosesc design-ul pe baz de tabel. n plus, produsul a mai fost criticat n
trecut i pentru producerea de coduri care adesea nu erau conform standardelor W3C, dar acest aspect a fost
mult mbuntit n versiunile recente. Cu toate acestea, Macromedia a crescut suportul pentru tehnologia CSS
precum i alte modaliti de design fr a fi necesar folosirea design-ului pe baz de tabel.Dreamweaver
permite folosirea majoritii browserelor instalate pe calculatorul utilizatorului, pentru a previzualiza website-
ul creat. De asemenea conine i cteva utilitare pentru administrarea site-urilor, cum ar fi cele pentru a gsi i
modifica un paragraf sau o linie de cod, n ntregul web site, pe baza oricror parametri specificai de ctre
utilizator. Cu ajutorul panourilor de stare se poate crea cod JavaScript fr a avea cunotine de programare.

1.4. Limbajul PHP

1.4.1 Introducere
39
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

PHP vine de la "Hypertext Preprocessor" i este un limbaj de comenzi-script pentru server (se spune c
acioneaz pe partea serverului - server-side language). Adic fiierele cu comenzi PHP ruleaz pe serverul
Web, nu n navigator, pe staia client.

PHP este un limbaj relativ nou (comparativ cu alte limbaje precum Perl (CGI) i Java), dar devine rapid unul
dintre cele mai rspndite i mai populare din Internet.

nvarea sau mcar nelegerea unui limbaj care s permit scrierea de scripturi Web, poate schimba
complet viziunea lrgind grozav posibilitile de publicare i activitate pe Web. Chiar dac se pot descrca
scripturi gata fcute, din centre precum Hotscripts, acestea, de regul, includ reclama pentru autorul respectiv
i nu vor oferi exact ce se dorete. nelegnd limbajul se vor edita mai uor aceste scripturi, pentru ca s fac
ceea ce se dorete, sau chiar se pot creea scripturi noi, proprii.

Folosirea scripturilor n propriul centru Web permite adugarea multor elemente de noutate i interactivitate,
precum formularele de feedback, crile de oaspei, sistemele colaborative numite message boards, contoare
ale vizitelor i multe alte elemente mai avansate precum sistemele portal, cele de management al coninutului,
gestionarii de reclame (advertising managers), etc. Astfel de elemente sunt necesare pentru a obine o imagine
de profesionist. Mai mult, oricine vrea acum s lucreze n industria de proiectare i dezvoltare se centre Web
va descoperi c este mult mai simplu s gseasc un loc de munc atunci cnd tie PHP i programarea Web.

Utilizatorii nu trebuie s-i instaleze nimic n plus, ca soft, dar pe platforma unde ruleaz serverul Web
(gazda Web) trebuie s fie instalat PHP. Acesta poate fi deja inclus (ncorporat) n serverul Web. Dac
serverul nu suport PHP atunci va trebui apelat la administratorul su pentru a-l instala, PHP-ul fiind un
produs public - putnd fi descrcat gratuit i simplu de la www.php.net. Alt cale este gsirea altei gazde
Web care suport PHP. Sau instalarea propriul server Web mpreun cu PHP.

Scrierea n PHP

Pentru a scrie un fiier n PHP pe calculatorul propriu nu trebuie nimic alceva dect un editor de texte (precum
Notepad din Windows).Se lansez i se pregtete scrierea primul script PHP.

Declaraia PHP

Scripturile PHP sunt ntotdeauna incluse ntre dou taguri PHP, conform aceleai scheme ca i n HTML.
Astea spun serverului s preia information dintre ele i s o interpreteze ca expresie din PHP. Exist trei forme
diferite de marcare a expresiilor - comenzilor PHP, i anume:
<?
comenzi PHP
?>

<?php
comenzi PHP
php?>

<script language="php">
comenzi PHP
</script>

40
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Toate trei acioneaz - se comport exact la fel. n cele ce urmeaz se folosete doar prima variant (<? i
?>). Dar pot fi folosite, la fel de bine oricare din cele trei. Atenie, combinarea lor nu este ns permis, nu
putem folosi pentru deschidere <? iar pentru nchidere </script> , spre exemplu.

Primul script

Primul script PHP este desigur unul banal i totui esenial. Tot ce va face este s furnizeze informaiile despre
instalarea i starea PHP-ului pe server. Scriei cu editorul de texte urmtoarele:

<?
phpinfo();
?>

Aa cum se vede este o singur linie de cod PHP. Este o funcie standard din PHP, numit phpinfo, care va
cere serverului s scrie i s transmit un tebel standard cu informaiile de configurare a serverului.

O observaie important din acest exemplu: linia de cod PHP se termin cu punct i virgul (;). Asta-i foarte
important ca sintax. La fel ca n multe alte limbaje de comenzi sau de programare, liniile trebuie s se
termine cu un marcaj anume,adesea tot (;), iar dac acest terminator este omis rezult o eroare.

ncheierea i testarea scriptului

Odat scris, scriptul trebuie salvat ca fiier cu un nume. n acest caz, i se spune phpinfo.php. Apoi trebuie
ncrcat fiierul pe server, n spaiul uzual al documentelor Web. Dup asta, folosind navigatorul, se apelez
scriptul prin URL-ul corespunztor. Dac lucreaz (i dac PHP este instalat pe server) atunci se va obine o
list ampl, plin cu detalii despre situaia PHP pe server.

Dac scriptul nu lucreaz i apare o pagin alb, atunci este sau o eroare n modul n care a fost scris scriptul,
sau serverul nu suport aceast funcie (situaie extrem de puin probabil). Dac, n locul afirii informaiilor
apare o ofert de descrcare a fiierului (download), sau apare chiar scriptul aa cum a fost scris (sursa),
nseamn c PHP nu este instalat pe server. Caz n care trebuie cutat alt server sau instalat PHP.

1.4.2. Afiarea informaiilor i Variabilele

Scrierea unui text

Pentru a scoate - afia un text n scriptul PHP, sunt mai multe posibiliti. Prima, prin utilizarea comenzii
print. Print permite afiarea unui text, a unor variabile sau a unor combinaii ale acestora, pe ecran.

Instruciunea print este folosit n felul urmtor:

print("Hello world!");

Asta s-ar scrie ca fiier PHP n forma:

<?
print("Hello world!");
?>

41
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

care prin apel cu navigatorul va afia pe ecran:

Hello world!

Funcia de afiare n PHP

Ca i n alte limbaje de programare, n PHP se pot defini variabile. Exist cteva tipuri de variabile n PHP,
dar cea mai uzual este variabila ir de caractere, numit String. Poate fi folosit pentru texte sau numere.
Toate irurile de caractere, toate variabilele string ncep cu semnul $ . Pentru a atribui un text unei variabile
string trebuie s folosete o succesiune de forma:

$text_salut = "Bun venit pe site-ul meu Web!";

Este o linie simplu de neles, tot ce se afl ntre ghilimele va fi atribuit variabilei string din membrul stng.

Distincia dintre majuscule i minuscule. Astfel $Welcome_Text difer de $welcome_text


Numele de iruri pot conine litere, cifre i semne de subliniere (_), dar nu pot ncepe cu o cifr sau cu semnul
_
Cnd se atribuie un numr la un string nu mai e nevoie de ghilimelele. Adic este acceptat construcia:

$user_id = 987

Variabile de scoatere

Pentru a afia o variabil pe ecran se folosete exact aceiai comand ca i pentru a afia un text, cu o mic
diferen formal. Astfel, pentru a afia stringul atribuit variabilei $text_salut scriem:
<?
$text_salut = "Bun venit pe site-ul meu Web!";
print($text_salut);
?>

Aa cum se poate vedea, singura diferen ar fi c scriem n comanda print numele variabilei, fr ghilimele,
n locul textului cu ghilimele.

Formatul unui text

Totul apare n navigatorul cu caracterele (fontul) predefinite. PHP fiind pe server, codul se execut nainte
ca pagina s fie trimis spre navigator. Ceea ce nseamn c doar rezultatele rulrii scriptului sunt trimise,
astfel c, n exemplul de mai sus spre navigator se va trimite doar textul:

Bun venit pe site-ul meu Web!

Iar asta permite includerea elementelor de formatare - marcare standard din HTML pentru a face ca textul s
apar aa cumse dorete. Acestea pot fi plasate direct n string-ul din scriptul PHP. Multe taguri HTML
pretind ghilimele n sintax. Iar asta ar provoca un conflict cu ghilimelele din irul declarat n script. Putem
preciza - defini ns care semne de punctuaie au rolul ghilimelelor din script, i care sunt ghilimelele care
trebuie ignorate.

42
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Sre exemplu, se afieaz textul de mai sus cu Arial scris cu rou. Asta s-ar scrie:

<font face="Arial" color="#FF0000">


</font>

Aici sunt 4 ghilimele care ar putea ncurca scriptul. Din cauza asta trebuie adugat un backslash (\) naintea
fiecrei ghilimele pentru a face ca scriptul PHP s o ignore. Astfel vom avea:

<font face=\"Arial\" color=\"#FF0000\">


</font>

Iar asta poate fi deja inclus n instruciunea print:

print("<font face=\"Arial\" color\"#FF0000\">Bun venit pe site-ul meu Web!</font>");

care va face ca pe navigator s apar:

Bun venit pe site-ul meu Web!

deoarece scriptul a transmis doar codul:

<font face="Arial" color="#FF0000">Bun venit pe site-ul meu Web!</font>

43
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

1.4.3. Instruciunile IF

Definiia instruciunii IF

Instruciunea condiional IF este folosit pentru a compare dou valori i a realiza aciuni diferite n baza
rezultatelor testului. Instruciunea urmeaz sintaxa (are forma) IF - THEN - ELSE. Partea IF testeaz o
condiie. Dac aceasta este adevrat, atunci este urmat ramura THEN. n caz contrar se merge pe ramura
ELSE.

Structura instruciunii IF

n general este urmtoarea structur:

IF ('ceva' == 'altceva') {
'Ramura THEN'
} else {
'Ramura ELSE'
}

Variabilele

Uzual, se compar o variabil cu o anumit poriune de text, cu un numr, sau cu alt variabil. Spre exemplu:

if ($username == "webmaster")

adic se compar valoarea pe care o ia variabila cu irul precizat de caractere. Ramura THEN a instruciunii
fiind executat doar dac variabila are exact valoarea care apare ntre ghilimele, adic dac coincide cu
cuvntul 'webmaster'. Dac are ns valoarea 'Webmaster' sau 'WEBMASTER' va fi urmat ramura ELSE.

Construcia ramurii THEN

n cazul de mai sus, se poate aduga o ramur THEN de forma:

if ($username == "webmaster") {
echo "Please enter your password below";
}
care va afia cererea parolei dac numele utilizatorului este webmaster. n caz contrar, nu se afieaz nimic.
Se poate lsa instruciunea n aceast form, pentru c nu este obligatoriu s apar o ramur ELSE. Asta-i util
mai ales cnd sunt condiii multiple.

Construcia ramurii ELSE

Adugarea unei ramuri ELSE :


if ($username == "webmaster") {
echo "Please enter your password below";
} else {
echo "We are sorry but you are not a recognised user";
}

44
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Dar nu suntem limitai doar la o singur linie. Putem aduga orice comand PHP ntre acoladele ramurii
respective. Putem chiar include alte instruciuni IF (cuibrite).

Alte comparaii

Exist i alte moduri de a folosi instruciunea IF pentru a compara valori. Comparnd dou variabile diferite
pentru a vedea dac valorile lor se potrivesc sau nu, spre exemplu:

if ($parola_introdusa == $password)

Dar compararea se poate face folosind oricare din simbolurile standard de comparaie, pentru a verifica dac o
valoare este mai mic sau egal dect alta:

if ($varsta < "13")

Sau:

if ($date > $finished)

Mai mult, putem avea teste multiple ntr-o singur instruciune IF. Spre exemplu, dac este un formular i se
verific dac vreun cmp a fost lsat necompletat:

if ($name == "" || $email == "" || $password == "") {


echo "Please fill in all the fields";
}

1.4.4. Cicluri

Ciclul WHILE

Ciclul WHILE este una din comenzile cele mai utile din PHP. Fr a fi prea complicat. Un ciclu WHILE va
executa, aa cum sugereaz i numele, o anumit parte de cod (un set de instruciuni), atta timp ct este
ndeplinit o anumit condiie.

Repetarea de un numr fixat de ori

Dac este o anumit secven de instruciuni care trebuie repetate de un numr fixat de ori (fr a le rescrie),
atunci se poate folosi un ciclu while. Spre exemplu, dac se vrea a scrie cuvintele "Hello World" de 5 ori, se
poate face astfel:

$times = 5;
$x = 0;
while ($x < $times) {
echo "Hello World";
++$x;
}

45
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Primele dou linii sunt doar atribuiri ale variabilelor. Variabila $times capt valoarea din condiia ciclului, n
acest caz - 5 . Variabila $x este contorul care va numra de cte ori se execut secvena. Dup aceste atribuiri,
urmeaz linia WHILE. Acesta comand repetarea secvenei dintre acolade, ct vreme $x este mai mic dect
$times (alfel spus, repetarea pn c,nd $x devine egal cu $times). Secvena care se execut repetat apare n
urmtoarele 2 linii (ntre acolade).

Dup linia echo care afieaz textul, apare o alt linie:

++$x;

Din programare tim c asta nseamn incrementarea variabilei $x, adic acelai lucru cu:

$x = $x + 1;

Astfel, la fiecare repetare, variabila $x ia pe rnd valorile 1, 2, 3, 4, 5. La ultima, condiia din linia WHILE nu
mai este ndeplinit i ciclul ia sfrit.

Folosirea lui $x

Variabila de contorizare ca ciclului (n cazul de mai sus $x ) poate fi folosit nu numai pentru numrare. Spre
exemplu, dac se vrea crearea unei pagini web cu toate numerele de la 1 la 1000 n ea, se poate fie scrierea
fiecarui numr n parte, fie folosirea urmtoarei secvene:

$number = 1000;
$current = 0;
while ($current < $number) {
++$current;
echo "$current<br>";
}

S-a plasat comanda de incrementare ++$current; naintea instruciunii echo . Asta pentru c se dorete
nceperea cu scrierea lui 1 , nu a lui 0. De fapt, linia ++$current; poate fi plasat oriunde n ciclul WHILE.
Dup cum se pot efectua orice operaii aritmetice asupra numrului n cauz.

Vectori

Vectori i matrici

Vectorii sunt structuri obinuite n majoritatea limbajelor de programare. Sunt variabile speciale care pot lua
mai mult dect o singur valoare, toate stocate n spaiul propriu numerotat - n vector. Vectorii sunt extrem de
utili mai ales la ciclurile WHILE.

Definirea unui vector

Definirea - iniializarea unui vector este puin diferit de cea a unei variabile normale. n exemplul urmtor se
va introduce un vector cuprinznd 5 nume:

$names[0] = 'John';
$names[1] = 'Paul';
46
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

$names[2] = 'Steven';
$names[3] = 'George';
$names[4] = 'David';

Aa cum se vede, componentele unui vector sunt numerotate, pornind de la 0. Pentru a aduga o valoare unui
vector trebuie specifict poziia din cadrul vectorului - prin intermediul indicelui plasat ntre parantezele
drepte [ ].

Citirea unui vector

Citirea unui vector se face exact la fel ca i atribuirea. Trebuie precizat numele vectorului i numrul
componentei dorite. Astfel, dac se dorete a se vedea cel de al treilea nume (din vectorul $names ) se poate
folosi scriptul:

echo "Al treilea nume este $names[2]";

Which would output:

Al treilea nume este Steven

Folosirea vectorilor i ciclurilor

Una din cele mai utile utilizri a ciclurilor apare pentru a extrage informaiile dintr-un vector. Spre exemplu,
dac vrem s scoatem umtoarea list de nume:

Numele 1 este John


Numele 2 este Paul
Numele 3 este Steven
Numele 4 este George
Numele 5 estes David

Putem folosi urmtorul cod:

$number = 5;
$x = 0;
while ($x < $number) {
$namenumber = $x + 1;
echo "Numele $namenumber este $names[$x]<br>";
++$x
}

Aa cum se poate vedea, folosim variabila $x din acest ciclu pentru a afia numele nregistrate ntr-un vector.
Iar pentru afiare am folosit variabila $namenumber care este cu o unitate mai mare dect $x. Asta deoarece
numerotarea (indixarea) vectorului pornete de la 0.

47
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

1.4.5. Trimiterea unui e-mail din PHP

n PHP avem o comand mail() pentru a trimite un mesaj. Utilizat n formatul urmtor:

mail($destinatar,$subiect,$corpul_mesajului,$antet);

In acest exemplu variabilele indic prin numele lor sintaxa comenzii. De fapt se pot include chiar textele n
comand.

Mai nti variabila $destinatar. Aceasta conine adresa e-mail la care s fie transmis mesajul. Variabila
$subiect trebuie s conin textul care se dorete apariia n linia Subject: a mesajului. Iar variabila
$corpul_mesajului conine textul mesajului - coninutul su.

Prin variablia $antet se transmit componentele suplimentare din antetul mesajului. Cel mai des e vorba despre
cmpul From: , dar poate fi inclus oricare linie din antet, precum Cc:, sau Bcc: .

Trimiterea unui mesaj E-mail

Mai nainte de a expedia un mesaj, dac folosim variabile atunci va trebui ca, mai nti s iniializm aceste
variabile. Un exemplu:

$destinatar = "jalobean@relis.uvvg.ro";
$subiect = "despre PHP";
$corpul_mesajului = "PHP este unul dintre cele mai bune limbaje de comenzi pentru alctuirea scripturilor";
$antet = "From: webmaster@uvvg.ro\n";
mail($destinatar,$subiect,$corpul_mesajului,$antet);
echo "Mesaj trimis la $destinatar";

Acest cod va face dou lucruri. Va trimite un mesaj la adresa jalobean@relis.uvvg.ro , cu subject: 'despre
PHP' i cu textul:

PHP este unul dintre cele mai bune limbaje de comenzi pentru alctuirea scripturilor

iar mesajul e-mail va apare ca venind de la webmaster@uvvg.ro . Dar va mai fi transmis i textul:

Mesaj trimis la jalobean@relis.uvvg.ro

ctre navigator.

Formatul - aspectul mesajului e-mail

In exemplul de mai sus, n variabila $antet, linia From: este ncheiat cu \n. Acesta reprezint un simbol foarte
important la trimiterea unui e-mail. Este codul pentru "linie nou". Cum n antetul mesajului (i deci i n
variabila $antet) putem avea mai multe linii, fiecare trebuie s se ncheie cu combinaia \n . Acesta este
standardul international pentru formatul mesajelor e-mail.

Combinaia aceasta de trecere la linie nou ( \n ) poate fi folosit i n corpul mesajului, n variabila
$corpul_mesajului . Dar nu are voie s apar nici n adresa de destinaie (n variabila $destinatar ), nici n
subiectul mesajului (variabila $subiect ).
48
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Comanda Mail fr variabile

In sintaxa comenzii mail() nu conteaz numele variabilelor ci doar poziia - ordinea lor. Adic, n exemplul de
mai sus putem folosi alte patru variabile numite $v1 , $v2 , $v3 i $v4 . Totul se poate scrie i ntr-o singur
linie, introducnd direct textul, n forma:

mail("jalobean@relis.uvvg.ro","despre PHP","PHP este unul din cele mai bune limbaje","From:


webmaster@uvvg.ro\n");

Erori

Este foarte uor de fcut greeli ntr-un script, dup cum e foarte simplu s intervin greeli n scrierea
adreselor e-mail (n mod special dac folosim scriptul pentru a construi mesajele). Din cauza asta, se adug
scriptului o secven de verificare, de forma:

if(mail($to,$subject,$body,$headers)) {
echo "Mesajul e-mail a fost trimis la $to cu subiectul: $subject";
} else {
echo "A intervenit o eroare la trimiterea mesajului. Verificai scriptul i asigurai-v c adresa e-mail $to este
corect";
}

Dac mesajul este expediat fr probleme, acest fapt va fi comunicat - va apare n fereastra navigatorului.
Similar, n cazul unei erori, se va recepiona atenionarea cuvenit, cu sugestii de remediere.

1.4.6. Construcia formularului n PHP


Scrierea unui formular pentru a fi folosit cu un script PHP se face exact la fel ca i n HTML. Sunt trei dintre
compunente:

<input type="text" name="caseta" value="Numele d-voastra">

va afia o caseta pentru introducerea unui text, caset n care apar scrise (la nceput) cuvintele Numele d-
voastra. De fapt atributul value n aceast linie este opional. Informaia - textul atribuit atributului name va
constitui numele acestei casete text, trebuind s fie unic n formular.

<textarea name="mesaj">
Scriei aici mesajul d-voastr.
</textarea>

va afia o caset mare de text cuprinznd ndemnul 'Scriei aici mesajul d-voastr.'. Si de data aceasta, numele
casetei este definit (mesaj) i trebuie s fie unic.

<input type="submit" value="Trimite">

aceast linie va crea un buton de trimitere n formularul respectiv.

49
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Toate elementele formularului trebuie s fie cuprinse ntre tagurile <form> . Adic se folosesc aa:

<form action="prelucrare.php" method="post">


Elementele Formularului i comenzile de formatare, etc.
</form>

unde valoarea atribuit lui form action spune care este script-ul cruia i se transmit datele (n acest caz fiierul
prelucrare.php). Aici se poate avea chiar un URL complet (spre exemplu
http://relis.uvvg.ro/~jalobean/Cursuri/PHP-proc/prelucrare.php). Metoda method spune formularului cum s
transmit datele sale. Cu opiunea POST datele vor fi trimise scriptului ntr-un pachet (stream) atunci cnd
acesta le cere. O alt opiune este GET, caz n care datele din formular sunt trimise n forma unui url astfel c
vor apare dup un semn ? , precum n exemplul: http://relis.uvvg.ro/~jalobean/Cursuri/PHP-
proc/prelucrare.php?name=Mihai

Este indicat folosirea POST-ului dac-i vorba de informaii delicate (parole, etc.) pentru ca acestea s nu
poat fi vzute n bara de adrese a navigatorului.

Obinerea datelor din formular

Exist dou procedee diferite de extragere a datelor n PHP, care depind de modul n care datele au fost
trimise (cu metoda GET sau cu POST). Diferena major dintre cele dou const n faptul c, folosind GET,
variabilele i datele vor fi vizibile n adresa paginii, n timp ce folosind POST acestea sunt invizibile. Cu GET,
ns, putem transmite informaii ctre script fr un formular, editnd URL-ul.

Asta se poate face cam la fel cu transmiterea formularului folosind GET. Avantajul ar fi c, astfel se pot crea
legturi la script-uri care vor produce efecte diferite n funcie de legtura selectat. Spre exemplu, putem
construi un script care s ne arate diferite pagini Web, funcie de legtura selectat:

pagina.php?user=jalobean
poate arta pagina mea Web (a utilizatorului jalobean, iar:
pagina.php?user=djalobeanu
poate arta pagina utilizatorului djalobeanu de pe serverul Relis, folosind acelai script.

Ba este posibil transmiterea script-ului mai mult dect o singur valoare a unui atribut folosind schema de mai
sus i separnd elementele prin simbolul & :

pagina.php?user=david&referrer=gowansnet&area=6

Aceste elemente vor putea fi accesate separat folosind variabilele GET: user, referrer i area.

Pentru a prelua o variabil care a fost trimis script-ului cu metoda POST trebuie folosit un apel de forma:
$nume_variabila=$_POST['variabila'];
care preia, n fond, variabila de la POST (numele unui cmp din formular) i o atribuie variabilei
$nume_variabila.

Similar, la folosirea metodei GET vom scrie:


$nume_variabila=$_GET['variabila'];

50
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Iar asta se poate face i trebuie fcut pentru fiecare variabil pe care vrem s o folosim din formular (sau din
URL).

1.4.7. Comentariile in PHP

Ca la orice limbaj de programare, este important s fie introdus n script-ul pe care se face i comentarii. Dac
se lucreaz la un script mpreun cu altcineva, atunci trebuie s-l ajutat s neleag ce s-a vrut, cum s-a
abordat problema, ce reprezint variabilele introduse... Dac punem scriptul la dispoziia celor preocupai de
PHP sau de aplicaia realizat, cu att mai mult este nevoie de comentarii n script. Chiar i dac nu avem
planuri att de mari, comentariile ne vor fi de folos peste un timp, atunci cnd vom dori s ne amintim cum am
fcut ca s-l putem modifica adaptndu-l altor cerine.

In PHP exist dou moduri de a introduce comentarii. Unul folosit pentru o singur linie de comentariu, altul
folosit, mai ales, pentru comentarii mai largi, care privesc mai multe linii. Comentariul dintr-o linie se scrie n
forma:

// comentariul se poate scrie aici

Tot ce apare n linie dup marcajul // va fi ingnorat la execuia scriptului. Marcajul i comentariul aferent
poate apare oriunde pe linie (la nceput, sau dup o serie de comenzi, spre exemplu:

print "Hello $name"; // Salutam vizitatorul

Modul de comentariu pe mai multe linii este:

/* The following piece of code will take the input


the user gave and will check that it is valid before
adding it to the database */

Textul este plasat deci ntre marcajele /* i */ . Tot ce se afl ntre acestea va fi ignorat la execuie. Este foarte
important s nu uitm s nchidem comentariul, cu */ , altfel scriptul nu va rula deloc.

Print, Echo i HTML

Au fost folosite patru moduri diferite de a scoate - transmite informaiile ctre navigator:

echo("textul de aici");
echo "textul de aici";
print("textul de aici";
print "textul de aici";

Fiecare din liniile de mai sus face acelai lucru, aa nct se poate folosi oricare dintre variante ntr-un script.
i nu exist nici o constrngere de a utiliza o aceeai variant pe parcursul aceluai script. Singura problem
este toate apariiile semnului " n codul HTML trebuie s apar (s fie nlocuite cu) \" care, la un script lung,
poate s dureze. Asta conduce la o parte foarte util a PHP. Dac, spre exemplu, se creeaz dinamic un antet
al unei pagini Web cu PHP, atunci va fi o succesiune de coduri cam aa:

<?
Prima parte a codului PHP
51
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

?>
Codul HTML
<?
Partea final a codului PHP
?>

Dac codul PHP va continua de unde a fost lsat:

<?
IF Statement {
?>
HTML For IF Being Correct
<?
} else {
?>
HTML For IF Being Wrong
<?
}
?>

Trebuie, s nu fie uitat nchiderea buclelor din instruciunea IF (o eroare destul de frecvent ntlnit).

One Line Prints

Plasarea cod HTML n scriptul PHP, dar cnd se vrea a pune valoarea unei variabile n acea parte de cod. Spre
deosebire de cazul cnd se folosete instruciunile echo sau print, nu putem se poate pune numele unei
variabile ntr-o seciune care nu este cod PHP. n schimb, variabila poate fi inclus ntr-o mic secven PHP.

Spre exemplu, dac se vrea scrierea numelui cuiva, dintr-un script, cu formatare HTML, se poate face astfel:

<font face="Arial" size="7" color="red"><b><? echo($variablename); ?></b></font>

Se adaug n secvena HTML urmtoarea secven PHP:

<? echo($variablename); ?>

care este totuna cu:

<?
echo($variablename);
?>

doar c-i totul pus ntr-o singur linie.

52
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

1.5. PHP/MySQL

1.5.1. Necesitatea unei baze de date

O baz de date poate fi foarte util, mai ales atunci cnd poate fi folosit ntr-un site Web. Sunt multe lucruri
care se pot face ntr-un astfel de caz, de la afiarea unor liste i pn la producerea integral a paginilor Web
dintr-o baz de date. Cteva exemple cu PHP i MySQL, folosite mpreun, sunt:

Schimbarea - rotaia Banner-elor. Pentru a realiza schimbarea pe ecran a imaginilor la diferitele vizitri
ale unei pagini i a asigura astfel un interes mai mare al vizitatorilor, se poate folosi un script PHP care
deschide o baz de date se extrage aleator o imagine sau un set de imagini, pentru a-l include ntr-un
set de pagini Web. Scriptul PHP va contoriza deasemeni numrul de cte ori a fost vzut banner-ul,
putnd, cu modificri mici, s urmreasc chiar i numrul de click-uri. Pentru a aduga, schimba sau
edita bannerele, tot ce este de fcut este schimbarea bazei de date iar scriptul va ncrca banner-ul
corect n toate paginile site-ului Web.
Forumurile Web. Sute de forumuri de dezbatere sunt acum realizate - ruleaz n PHP i MySQL.
Acestea s-au dovedit mult mai eficiente dact alte sisteme, crend cte o pagin pentru fiecare mesaj i
oferind o larg varietate de opiuni. Toate paginile forumului pot fi actualizate prin schimbarea unui
script PHP.
Bazele de Date. Un astfel de exemplu (edificator) l ofer site-urile care dau toate informaiile dintr-o
baz de date. Spre exemplu, Script Avenue este rulat de cteva scripturi, care furnizeaz toate
informaiile dintr-o baz de date ampl. Toate categoriile de scripturi diferite pot fi accesate ntr-un
singur script exact prin schimbarea URL-ului pentru a accesa diferite pri ale bazei de date.
Site-urile Web. Cnd avem un site de mari dimensiuni - cu multe pagini, i dorina de a modifica
aspectul general sau a schimba proiectul, chestiune care ar cere foarte mult timp pentru aducere la zi i
ncrcare. Cu PHP i MySQL ntregul site Web se poate reduce la unul sau dou scripturi PHP care s
acceseze o baz de date MySQL pentru a obine informaiile pentru paginile Web. Pentru a actualiza
sau a modifica proiectul centrului Web nu trebuie s schimbm dect o pagin.

Sunt necesare trei componente pentru a putea rula scripturi PHP care s acceseze baze de date cu MySQL.

1. n primul rnd, este nevoie de un server Web. Acesta poate fi sau pe calculatorul personal sau pe o
'gazd' Web. Oricare pachet - oricare tip de server Web este acceptat i va lucra cu PHP i MySQL,
dar cel mai recomandat este Apache, care e public i gratis.
2. PHP trebuie s fie instalat pe server. Dac nu este deja instalat, putei s o facei sau s apelai la
administratorul serverului Web, n acest sens. Pachetul de instalare poate fi descrcat - preluat de la
http://PHP.net i este deasemeni public - gratuit.
3. Este nevoie de MySQL. Acesta este de fapt pachetul de programe pentru gestiunea bazelor de date. Se
poate folosi deasemenea multe alte sisteme de baze de date (SQL, Oracle etc.) dar aici discutm despre
PHP/MySQL, deci este nevoie de MySQL (cu toate c se folosesc comenzi care in de limbajul SQL i
'merg' la oricare din sistemele de baze de date SQL). i pachetul MySQL este public - gratuit, putnd
fi preluat din pagina oficial a firmei MySQL. Dar i n cazul MySQL trebuie verificat mai nti dac
nu cumva este deja instalat.

Dac nu se poate instala PHP i MySQL, sau dac gazda Web nu o permite, se poate apela la alt server Web,
la alt gazd. Spre exemplu, Freedom2Surf este un server Web public, care acord acces liber i suport PHP,
avnd MySQL instalat. HostRocket este un alt server excelent care ofer spaiu de pn la 300 MO, i include
PHP, MySQL i multe altele, dar percepe o tax de abonament.

53
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Pentru a afla dac PHP i MySQL sunt instalate:

Exist un test, att pentru PHP ct i pentru MySQL:

Se lanseaz un editor de texte i se scrie urmtoarele:

<?
phpinfo();
?>

se salveaz fiierul cu un nume precum phpinfo.php

Apoi se ncrc acest fiier n spaiul web, pe server, apelndu-l, dup aceea, din navigator. Dac PHP-ul este
deja instalat se va cpta o pagin plin cu toate detaliile instalrii respective. Dac se gsete o seciune
despre MySQL atunci nseamn c MySQL este i el deja instalat.

Gestiunea Bazelor de date

Chiar dac tot ce ine de administrarea bazelor de date poate fi realizat prin scripturi PHP, instalarea pe server
a pachetului PHPMyAdmin poate aduce un plus de confort. Este un excelent set de scripturi care asigur o
interfa administrativ pentru bazele de date MySQL. Si mai este i public-gratuit.

Cu el se poate aduga, elimina, edita, salva i vizualiza bazele de date, fiind deosebit de util pentru depanare.

1.5.2. Construirea unei Baze de Date

Introducere

Mai nainte de a porni construcia unor script-uri pentru baze de date, ar trebui o baz de date n care s
plasm informaii i din care s citim. Creerea unei baze de date n MySQL i pregatirea pentru date. Ca un
exemplu, se va crea o baz de date de tip carte de adrese de contact.

Construcia Bazei de Date

Bazele de date MySQL au un sistem de iniializare standard (un setup). Este vorba de o baz de date, compus
din tabele, oarecum separate, coninnd diferite cmpuri, etc. chiar dac sunt parte dintr-o baz de date.
Fiecare tabel conine nregistrri care sunt fcute din cmpuri.

Conectarea la o Baz de Date

Procesul de instalare a unei baze de date MySQL difer de la o platform la alta. n esen este vorba peste tot
de un nume al bazei de date, un nume de utilizator (cont) i o parol. Aceste informaii sunt cerute pentru
conectarea la baza de date.

Dac avei pachetul PHPMyAdmin (sau un program similar) instalat, atunci se poate intra acolo i s v
conecta introducnd contul (numele de utilizator) i parola. Dac nu, atunci trebuie fcut ntreaga
administrare a bazelor de date folosind script-uri PHP .
54
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Crearea unei Tabele

Mai nainte de orice altceva cu baza de date, trebuie s v creai o tabel. O tabel este o seciune a bazei de
date pentru memorarea unor informaii structurate (legate). ntr-o tabel vom defini diferite cmpuri care vor
fi folosite n acea tabel. Din cauza acestei construcii, aproape toate centrele cu baze de date trebuie s fie
satisfcute folosind doar o baz de date.

Crearea unei tabele n PHPMyAdmin se scrie numele, se selecteaz numrul de cmpuri i &Quot; se aps"
butonul (click). Se ajunge atunci la un ecran setup n care trebuie create cmpurile pentru baza de date. Dac
se folosete un script PHP pentru a crea propria baz de date, iar completa creere i iniializarea vor fi fcute
ntr-o singur comand.

Cmpuri

Exist o larg varietate de cmpuri i de atribute disponibile n MySQL . De expemplu:

Tipul cmpului Descriere


TINYINT Numr Intreg mic
SMALLINT Numr Intreg mic
MEDIUMINT Numr Intreg
INT Numr Intreg
VARCHAR Text (maximum 256 caractere)
TEXT Text

Acestea sunt doar cteva dintre cmpurile disponibile. O cutare pe Internet poate furniza lista cu toate tipurile
de cmpuri permise.

Crearea unei Tabele cu PHP

S creeaz o tabel din PHP este ceva mai dificil dect cu MySQL. Este de parcurs urmtorii pai:
CREATE TABLE nume_tabel {

Fields

Cmpurile sunt definite dup cum urmeaz:

fieldname type(length) extra info,

Ultimul cmp introdus nu poate include nici o virgul.

Baza de date cu adrese de contact

Baza de date de contact va conine toate informaiile de contact ale cunoscuilor introdui n tabel. Iar
informaiile vor putea fi editate i consulate n internet. Urmtoarele cmpuri vor fi folosite n baza de date:

55
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Nume Tipul Lungimea Descrierea


Id INT 6 Un identificator unic pentru fiecare nregistrare
Nume VARCHAR 15 Numele de familie al persoanei
prenume VARCHAR 15 Numele de botez al persoanei
telefon VARCHAR 20 Numrul de telefon
Mobil VARCHAR 20 Numrul de telefon mobil
Fax VARCHAR 20 Numrul de fax
Email VARCHAR 30 Adresa e-mail
Web VARCHAR 30 Pagina Web personal

E folosit un tip de cmp VARCHAR pentru coloana mumr_telefon/fax, chiar dac acestea sunt formate din
cifre. Chiar dac se putea folosi tipul INT, este preferabilp folosirea VARCHAR pentru c astfel vor fi
permise spaii i cratime, precum i poriuni de text, la fel ca numerele scrise ca text (exemplu 1800-
COMPANY) i cum nu se vor iniia apeluri telefonice de pe Web, totul e n ordine.

Exist nc ceva de care trebuie avut grij n aceast baz de date. Cmpul id va fi pus ca PRIMARY, INDEX,
UNIQUE i iniializat ca auto_increment (poziie ce apare n Extra n PHPMyAdmin). Raiunea pentru asta
este c acesta va fi cmpul identificator (primar sau index) i deci trebuie s fie unic. Definirea sa ca auto
increment nseamn c la adugarea fiecrei nregistrri, ct vreme nu specificm acolo un id, acesta va primi
ca valoare urmtorul numr.

Dac se folosete PHPMyAdmin sau un program de management, se poate creea o tabel numit contacte.

Crearea Tabelei n PHP

Pentru a crea aceast tabel se va folosi urmtoarea secven de comenzi PHP.

<?
$user="username";
$password="password";
$database="database";
mysql_connect(localhost,$user,$password);
@mysql_select_db($database) or die( "Baza de date nu poate fi selectata");
$query="CREATE TABLE contacts (id int(6) NOT NULL auto_increment,nume varchar(15) NOT
NULL,prenume varchar(15) NOT NULL,telefon varchar(20) NOT NULL,mobil varchar(20) NOT NULL,fax
varchar(20) NOT NULL,email varchar(30) NOT NULL,web varchar(30) NOT NULL,PRIMARY KEY
(id),UNIQUE id (id),KEY id_2 (id))";
mysql_query($query);
mysql_close();
?>

1.5.3. Introducerea datelor

56
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Conectarea la o baz de date

Primul lucru care trebuie fcut, mai nainte de a putea face ceva, este conectare la baza de date MySQL.
Acesta este un pas foarte important, pentru c, dac nu exista conexiune, comenzile ctre baza de date vor
eua.

Practic, pentru a folosi o baz de date trebuie precizat numele de utilizator (username), parola (password) i
numele bazei de date :

$username="nume_utilizator";
$password="parola";
$database="numele_bazei_de_date";

Sursa PHP este prelucrat de server nainte de a fi trimis navigatorului, astfel ncrcat este imposibil pentru
orice utilizator s vad scriptul.

Mai apoi, avem nevoie de o comand care s lanseze conexiunea la baza de date:

mysql_connect(localhost,$username,$password);

Aceast linie spune PHP-ului s se conecteze la serverul de baze de date MySQL la 'localhost' (localhost se
numete serverul pe care ruleaz PHP-ul. In afara cazului n care gazda Web indic altceva, vom folosi
localhost) folosind numele de cont memorat n $username i parola din $password.

nc o comand:

mysql_close();

Aceasta este o comand foarte important care nchide conexiunea cu serverul de baze de date. Scriptul va
rula nc, dac nu se include aceast comand, iar prea multe conexiuni MySQL deschise pot cauza
probleme serverului web. Este un obicei bun s se includ comanda de nchidere de mai sus dup ce s-a
introdus toate comenzile ctre baza de date, pentru a menine platforma n bun stare.

Selectarea bazei de date

Dup conectarea la severul de baze de date, trebie selectat baza de date pe care se dorete a fi folosit.
Trebuie s fie o baz de date la care s fie acces, cu respectivul nume de utilizator. Se folosete urmtoarea
comand:

@mysql_select_db($database) or die( "Baza de date nu poate fi selectata");

Aceasta spune PHP-ului s selecteze baza de date specificat n variabila $database (pe care am definit-o mai
nainte). Dac conexiunea nu se poate realiza procesul (execuia script-ului) se oprete afind textul:

Baza de date nu poate fi selectata

Aceast parte suplimentar 'or die' este bun pentru ieire, chiar dac nu asigur dect un minim control al
erorii.
57
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Execuia comenzilor

Dup conectarea la server i selecia bazei de date dorite, putem ncepe execuia comenzilor pe server.

Exist dou moduri de a executa o comand. Prima revine pur i simplu la introducerea comenzii n PHP.
Asta merge atunci cnd nu apar rezultate ca urmare a execuiei comenzii.

Cea de a doua variant este s definim comanda ca o variabil. Asta va atribui variabilei rezultatele operaiei.

Se va folosi prima cale, deoarece nu se atept rspuns de la baze de date. Comanda va arta cam aa:

mysql_query($query);

Folosirea acestei forme a comenzii este util pentru c se repet aceiai comand iari i iari fr a fi
nevoie s se memoreze altele. Tot ce e de fcut este schimbarea variabilei.

Introducerea datelor

Pentru a introduce primele informaii n baza de date:

Nume: Ionescu
Prenume: Gheorghe
Telefon: 021 3456789
Mobil: 0724 334455
Fax: 0264 567891
E-mail: ionescughe@personal.ro
Web: http://www.cinestie.inext.ro

Toate acestea vor fi introduse cu o singur comand:

$query = "INSERT INTO contacts VALUES ('','Ionescu','Gheorghe','021 3456789','0724 334455','0264


567891','ionescughe@personal.ro','http://www.cinestie.inext.ro')";

Mai nti, apare variabila $query creia i se atribuie o comand (vezi paragraful precedent). Urmtoarea parte,
adic:

INSERT INTO contacts VALUES

Ea spune PHP-ului s insereze n tabel numit contacts valorile care urmeaz (scrise ntre paranteze).

Acolo, ntre paranteze, avem sunt toate cmpurile de adugat. Apar toate cmpurile n ordine i sunt inserate
informaiile dintre ghilimele. Spre exemplu:

Ionescu

va fi inserat n al 2-lea cmp, care, n aceast tabel este cmpul 'nume' .


Nu a inserat nimic n primul cmp din baza de date (id). Asta din cauz c acest cmp va fi un cmp index,
58
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

elementul unic de identificare. Fiecare nregistrare din baza de date va avea un unic ID. Din aceast cauz,
cnd ncrcm baza de date, vom pune ID pe 'Auto Increment'. Asta nseamn c, ne-atribuindu-i nici o
valoare, el va lua la fiecare nregistrare urmtoarea valoare din ir. Iar prima nregistrare va avea valoarea
ID=1 .

59
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

1.5.4. Afiarea rezultatelor

Introducerea datelor dintr-o pagin HTML

Introducerea datelor din paginile HTML este aproape identic cu inserarea lor din script-uri PHP. Avantajul
const, ns, n faptul c nu apare nevoia schimbrii script-ului pentru fiecare cmp de introdus. In plus, putem
permite "vizitatorilor" s introduc direct datele lor.

Iat mai jos cum arat o pagin HTML cu celule text pentru introducerea detaliilor corespunztoare:

<form action="insert.php" method="post">


Nume Familie: <input type="text" name="nume"><br>
Prenume: <input type="text" name="prenume"><br>
Telefon: <input type="text" name="telefon"><br>
Mobil: <input type="text" name="mobil"><br>
Fax: <input type="text" name="fax"><br>
E-mail: <input type="text" name="email"><br>
Web: <input type="text" name="web"><br>
<input type="Submit">
</form>

Aceast pagin poate fi, desigur, formatat i pot apare diferite schimbri - variante. Este un formular de
pornire. Va trebui ns editat script-ul precedent, pentru ca, n locul introducerii informaiilor direct din script
n baza de date, s fie folosite variabilele:
<?
$username="username";
$password="password";
$database="baza_mea_de_date";

mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Baza de date nu poate fi selectata");

$query = "INSERT INTO contacts VALUES ('','$nume','$prenume','$telefon','$mobil','$fax','$email','$web')";


mysql_query($query);

mysql_close();
?>

Acest script trebuie salvat ca fiier cu numele insert.php, astfel ca s poat fi apelat de formularul HTML.
Treaba va merge ntruct, n loc ca datele s fie introduse local, ele se introduc n formular i sunt memorate
n variabilele care apar precizate acolo i care sunt transmise apoi PHP-ului.

Putem s adugm script-ului un mesaj care s confirme preluarea datelor. Asta face parte din 'oferta' de baz
a PHP i rmne ca exerciiu.

Scoaterea Datelor

In baza de date este cel puin o nregistrare, dac nu mai multe. Se pune problema cum se vizualizeaz, cum se
scoate aceste date folosind PHP. Prima comand la care vom apela este comanda SELECT din SQL, folosit
60
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

ntr-o cerere MySQL n forma:

SELECT * FROM contacts

Aceasta este o comand de baz din MySQL, care va spune script-ului s selecteze toate nregistrrile din
tabela contacts. Dar, de data aceasta, comanda furnizeaz un rezultat, ea va trebui executat atribuin
rezultatele unei variabile:

$query="SELECT * FROM contacts";


$rezultat=mysql_query($query);

n acest caz, ntregul coninut al bazei de date va fi atribuit variabilei cu numele $rezultat (care va fi deci o
matrice, un tablou). Mai nainte de a putea scoate aceste date vor trebui extrase ca variabile simple, separate.
Pentru asta trebuie s tiut cte nregistrri avem n tabel (deci i n variabila $rezultat ).

Numrarea liniilor

O comand special n MySQL pentru calculul numrului de linii din tabel. Este important pentru c n baza
de date se fac uzual numeroase actualizri, completri, tergeri.

$num=mysql_numrows($rezultat);

Astfel, variabila $num va cpta ca valoare numrul de linii din $rezultat (adic tocmai din baza de date).
Acest numr va putea fi folosit n continuare pentru ciclul n care se vor analiza i desface n variable separate
cmpurile fiecrei linii.

Construirea ciclului

Se va scrie un ciclu pentru a selecta din tabel (din rezultat) linie cu linie.... Se va defini un indice, o variabil
$i care va parcurge (cu incrementare) valorile de la 1 la $num .

$i=0;
while ($i < $num) {

OPERAIILE ASUPRA LINIEI

++$i;
}

Acesta este un ciclu tipic n PHP i va executa ansamblul numit OPERATIILE ASUPRA LINIEI de exact
$num ori, adic de attea ori ct trebuie. La fiecare reluare $i fiind mrit cu o unitate. Astfel $i poate fi folosit
i pentru a preciza numrul liniei care se prelucreaz.

Asocierea datelor la variabile

In partea pe care am numit OPERATIILE ASUPRA LINIEI trebuie s separat fiecare cmp din linia -
nregistrare asociindu-l unei variabile. Folosit pentru urmtoarea secven:

$variable=mysql_result($rezultat,$i,"numele_campului");
61
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Astfel, pentru a extrage fiecare component din baza noastr de date, se vor folosi urmtoarele instruciuni:

$nume=mysql_result($result,$i,"nume");
$prenume=mysql_result($result,$i,"prenume");
$telefon=mysql_result($result,$i,"telefon");
$mobil=mysql_result($result,$i,"mobil");
$fax=mysql_result($result,$i,"fax");
$email=mysql_result($result,$i,"email");
$web=mysql_result($result,$i,"web");

Combinarea Script-ului

Se poate scrie script-ul complet pentru scoaterea datelor. In acest script datele nu sunt formatate, adic vor fi
afiate toate cu acelai font, predefinit.

<?
$username="username";
$password="password";
$database="baza_noastra_de_date";

mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Baza de date nu poate fi selectata");
$query="SELECT * FROM contacts";
$rezultat=mysql_query($query);

$num=mysql_numrows($rezultat);

mysql_close();

echo "<b><center>Database Output</center></b><br><br>";

$i=0;
while ($i < $num) {

$nume=mysql_result($rezultat,$i,"nume");
$prenume=mysql_result($result,$i,"prenume");
$telefon=mysql_result($result,$i,"telefon");
$mobil=mysql_result($result,$i,"mobil");
$fax=mysql_result($result,$i,"fax");
$email=mysql_result($result,$i,"email");
$web=mysql_result($result,$i,"web");

echo "<b>$nume $prenume</b><br>Telefon: $telefon<br>Mobil: $mobil<br>Fax: $fax<br>E-mail:


$email<br>Web: $web<br><hr><br>";

++$i;
}

62
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

?>

1.5.5. Alte rezultate

Formatarea scoaterii

Mai sus, s-a scos o list cu toate persoanele nregistrate n baza de date. De fapt s-a ajuns s fie definite
variabilele care permit scoaterea sau afiarea, ncheind cu o comand destul de afiare (echo) fr a o explica.
Datele din tabel ar trebui prezentate pe ecran tot n forma unui tabel. Iar asta nu-i prea complicat. In fond dac
tim cum s afim (scoatem) fiecare variabil n parte, atunci tot restul privind formatarea, organizarea ca
tabel, etc

Tot ce este de fcut deci este s folosirea PHP-ului pentru scoaterile HTML incluznd variabilele n zonele
corecte. Cel mai simplu este nchiderea tagului PHP i s introducerea liniilor normale din HTML. Oridecte
ori se ajunge la o variabil se va include folosind o secven de forma:

<? echo "$numele_variabilei"; ?>

Se poate folosi un ciclu PHP pentru a repeta o secven de cod ca cea de mai sus, la includerea variabilelor
ntr-un tablou. Spre exemplu, folosind secvena de cod precedent cu ciclul corespunztor, putem formata
scoaterile pentru ca s apar ntr-o tabel mare:

<table border="0" cellspacing="2" cellpadding="2">


<tr>
<th><font face="Arial, Helvetica, sans-serif">Nume</font></th>
<th><font face="Arial, Helvetica, sans-serif">Telefon</font></th>
<th><font face="Arial, Helvetica, sans-serif">Mobil</font></th>
<th><font face="Arial, Helvetica, sans-serif">Fax</font></th>
<th><font face="Arial, Helvetica, sans-serif">E-mail</font></th>
<th><font face="Arial, Helvetica, sans-serif">Website</font></th>
</tr>

$i=0;
while ($i < $num) {

$nume=mysql_result($rezultat,$i,"nume");
$prenume=mysql_result($result,$i,"prenume");
$telefon=mysql_result($result,$i,"telefon");
$mobil=mysql_result($result,$i,"mobil");
$fax=mysql_result($result,$i,"fax");
$email=mysql_result($result,$i,"email");
$web=mysql_result($result,$i,"web");
?>

<tr>
<td><font face="Arial, Helvetica, sans-serif"><? echo "$nume $prenume"; ?></font></td>
63
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

<td><font face="Arial, Helvetica, sans-serif"><? echo "$telefon"; ?></font></td>


<td><font face="Arial, Helvetica, sans-serif"><? echo "$mobil"; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><? echo "$fax"; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><a href="mailto:<? echo "$email"; ?>">E-
mail</a></font></td>
<td><font face="Arial, Helvetica, sans-serif"><a href="<? echo "$web"; ?>">Website</a></font></td>
</tr>

<?
++$i;
}

echo "</table>";

Aceast secven va afia antetul tabelului, apoi va aduga o linie suplimentar pentru fiecare nregistrare din
baza de date, formatnd datele la scoatere.

Se vavexplica una din liniile din tabel, spre exemplu:

<a href="mailto:<? echo "$email"; ?>">E-mail</a>

care construiete o legtur email la adresa transmis de variabila $email . Asta arat una dintre calitile
importante i utile ale folosirii PHP pentru includerea datelor MySQL . Adic prin astfel de scoateri putem
face paginile Web dinamice.

Selectarea unor date

La fel cu afiarea ntregii baze de date, PHP poate fi folosit pentru a selecta date individuale, doar anumite
nregistrri, sau nregistrrile care verific anumite criterii. Pentru asta trebuie s folosim o variaiune a cererii
SELECT . Pentru afiarea ntregii tabele am folosit cererea:

SELECT * FROM contacts

Dac se vrea selectarea doar pe acele persoane care au prenumele 'Mihai' se va folosi o cerere de forma:

SELECT * FROM contacts WHERE prenume='mihai'

Ca i la alte cereri - comenzi SQL, sunt de fapt propoziii foarte apropiate de formularea curent din limba
englez. ntr-un mod asemntor se va putea selecta nregistrrile pe baza oricrui cmp din baza de date. Dar
se poate selecta o nregistrare folosind mai multe cmpuri, adugnd n formularea cererii clauza:

field='value'

Fr a intra n prea multe detalii, se mai spune c se pot folosi variabilele pentru a transmite criteriul dorit
pentru selecie. Spre exemplu, dac dintr-un formular de cutare se primete o variabil numit $nume_cautat
se poate imagina urmtoarea secven:

$query="SELECT * FROM contacts WHERE nume='$nume_cautat'";


64
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

$result=mysql_query($query);

1.5.6. nregistrri i erori

Interceptarea Erorilor

Prin scoaterea tuturor informaiilor dintr-o baz de date, este puin probabil s ajungem la situaia cnd nu mai
sunt date. Dar dac s-a permis ajustri i, tergeri i actualizri ale nregistrrilor, atunci se prea poate s
ajungem la o eroare. Din fericire, cu PHP i MySQL, avem un mod simplu de a evita o astfel de situaie
folosind:

$num=mysql_numrows($rezultat);

unde $rezultat conine rezultatul unei cereri - interogri a bazei de date ( precum selectarea tuturor
nregistrrilor). Aceasta va atribui variabilei $num numrul de linii din rezultat (care s-a utilizat ntr-un ciclu,
n lecia a 4-a). Se poate insera n ciclu o comand de captare/tratare a erorilor folosind o instruciune IF :

if ($num==0) {
echo "Baza de date nu conine nici o nregistrare";
} else {
Output Loop
}

Se poate dezvolta ramura asta fcnd-o mai prietenoas. Spre exemplu, oferind o legtur la pagina Add
Data, de introducere de informaii n baza de date, atunci cnd ea este vid.

Ordonarea datelor

Nu numai c se pot scoate datele n funcie de coninutul unui cmp, dar pot ordona aceste date pe baza unei
reguli aplicat coninutului unei coloane (spre exemplu aranjnd utilizatorii n ordine alfabetic). In mod
normal, afiarea n urma unei interogri se face n ordinea stabilit de identificatorul ID, pornind de la 1 n
sus. Se poate ns alege modul de ordonare (sortarea) dup oricare coloan din tabel.

Spre exemplu, o ordonare util ar putea fi dup numele de botez. Asta nsemnnd n ordine ascendent
(cresctoare, de la A la Z i de la 1 la 10...). Pentru a obine un astfel de rezultat folosim urmtoarea cerere:

SELECT * FROM contacts ORDER BY prenume ASC

Putem folosi, desigur i ordonarea descendent, specificnd DESC n locul lui ASC .

Alte variante cu mysql_numrows i Sortare

Valoarea care i se atribuie (ca mai sus) variabilei $num este foarte important, nu numai pentru cicluri i
captarea erorilor. Un exemplu poate fi scoaterea doar a ultimelor 5 nregistrri adugate bazei de date. Mai
nti, este ordonarea natural, stabilit de ID, (ultima nregistrare avnd valoarea maxim a ID), dar se alege
ordinea descendent.

65
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Astfel va avea nregistrrile ncepnd cu cea mai recent i terminnd cu cea mai veche. Mai trebuie doar
numrat, afind doar primele 5.

nainte de a ncepe ciclul de cinci, trebuie asigurat c $num este mai mare dect 5 . Este o secven de forma:

if ($num<5) {
$to=$num;
}else{
$to=5;
}

$i=0;
while ($i < $to) {
SECVENTA DE COMENZI mysql PENTRU SCOATERE

Cu alte cuvinte, dac sunt mai mult de cinci linii n tabel atunci ciclul se va face de la 0 la 5. In caz contrar,
dac sunt mai puin de 5 linii, ciclul va parcurge exact numrul respectiv de linii.

Cmpul ID-Selecia unei singure nregistrri


Iat cum se pot selecta nregistrri din baza de date folosind coninutul unui cmp particular:

SELECT * FROM contacts WHERE field='value'

Atunci, folosind unicitatea cmpului ID se poate selecta orice nregistrare din baza de date, folosind:

SELECT * FROM contacts WHERE id='$id'

unde $id este o variabil coninnd numrul unei nregistrri. Spre exemplu, dac se dorete o pagin Web
generat dinamic dintr-o baz de date cu un singur script PHP, se poate scrie script-ul ca s includ pagini
Web distincte ca nregistrri ale bazei de date. Atunci, folosind cmpul id, se poate selecta fiecare pagin
individual plasnd-o la soatere. Se poate chiar folosi chiar URL-ul paginii pentru a specifica nregistrarea
dorit

http://www.centrul_propriu.ro/stiri/items.php?item=5476

Iar script-ul PHP s caute nregistrarea care are numrul de ordine (id-ul) care corespunde valorii variabilei
$item, care n acest caz este 5476

Legturi la o singur nregistrare

Folosind aceast metod de alegere a nregistrrii folosind URL-ul, nregistrarea poate fi extins prin
generarea dinamic a URL-ului.. Se va realiza o pagin de aducere la zi a bazei de date cu adresele. Cu ideea
ca utilizatorul s-i poat modifica propriile detalii din nregistrare.

Pentru asta, se va include o nou coloan cuprinznd o legtur Update . Aceast legtur conducnd la o
pagin care s permit utilizatorului s actualizeze nregistrarea. Pentru a selecta nregistrarea din acea pagin
se va pune:

66
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

?id=$id

Cptnd identificatorul id al nregistrrii, secvena aceasta va crea o legtur la fiecare din nregistrri.

1.5.7. Actualizare i tergere


Se realizeaz un script de actualizare, care va avea dou pri:

Pagina de afiare a actualizrii

Prima parte a script-ului de actualizare folosete procedeul de selecie a unei singure nregistrri, adugnd
doar cteva elemente HTML pentru a-l face mai util. Mai nti, e connectarea la baza de date i selectarea
nregistrarii potrivite.

$id=$_GET['id'];
$username="nume_utilizator";
$password="parola";
$database="baza_de_date";
mysql_connect(localhost,$username,$password);

$query=" SELECT * FROM contacts WHERE id='$id'";


$result=mysql_query($query);
$num=mysql_numrows($rezultat);
mysql_close();

$i=0;
while ($i < $num) {
$nume=mysql_result($rezultat,$i,"nume");
$prenume=mysql_result($rezultat,$i,"prenume");
$telefon=mysql_result($rezultat,$i,"telefon");
$mobil=mysql_result($rezultat,$i,"mobil");
$fax=mysql_result($rezultat,$i,"fax");
$email=mysql_result($rezultat,$i,"email");
$web=mysql_result($rezultat,$i,"web");

Zona de cod suplimentar

++$i;
}

Unde 'Zona de cod suplimentar' marcheaz poriunea din script unde vor apare comenzile de actualizare.
Adic formatarea HTML pentru scoatere:

<form action="updated.php" method="post">


<input type="hidden" name="ud_id" value="<? echo "$id"; ?>">
Numele de Familie: <input type="text" value="ud_first" value="<? echo "$nume"?>"><br>
Numele de Botez: <input type="text" value="ud_last" value="<? echo "$prenume"?>"><br>
67
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Numrul de Telefon: <input type="text" value="ud_phone" value="<? echo "$telefon"?>"><br>


Numrul de Mobil: <input type="text" value="ud_mobile" value="<? echo "$mobil"?>"><br>
Numrul de Fax: <input type="text" value="ud_fax" value="<? echo "$fax"?>"><br>
Adresa E-mail: <input type="text" value="ud_email" value="<? echo "$email"?>"><br>
Adresa Web: <input type="text" value="ud_web" value="<? echo "$web"?>"><br>
<input type="Submit" value="Update">
</form>

Aceast secven construiete (scoate) un formular standard, dar n locul zonelor goale, aa cum apreau n
formularul pentru introducerea datelor, de data asta avem coninutul cmpului respectiv din nregistrarea n
cauz (care-i de actualizat). Asta l face mai adaptat scopului, mai comod de folosit.

Actualizarea bazei de date

Implic urmtoarea operaie:

$query = "UPDATE contacts SET nume = '$ud_first',prenume = '$ud_last',telefon = '$ud_phone',mobil =


'$ud_mobile',fax = '$ud_fax',email = '$ud_email',web = '$ud_web' WHERE id = '$ud_id'";

Aceast cerere spune sistemului de gestiune de baze de date s actualizeze tabela contacts n acele linii n care
ID coincide cu valoarea din $ud_id (care, aa cum se poate vedea din formularul anterior, a primit valoarea id
a nregistrrii pe care o actualizm), modificnd urmtoarele cmpuri cu valorile specificate (care au fost
introduse cu ajutorul formularului).

Aceast cerere poate fi nglobat ntr-un script simplu:

$ud_id=$_POST['ud_id'];
$ud_first=$_POST['ud_first'];
$ud_last=$_POST['ud_last'];
$ud_phone=$_POST['ud_phone'];
$ud_mobile=$_POST['ud_mobile'];
$ud_fax=$_POST['ud_fax'];
$ud_email=$_POST['ud_email'];
$ud_web=$_POST['ud_web'];

$username="nume_utilizator";
$password="parola";
$database="baza_de_date";
mysql_connect(localhost,$username,$password);

$query="UPDATE contacts WHERE id='$ud_id' SET first='$ud_first' last='$ud_last' phone='$ud_phone'


mobile='$ud_mobile' fax='$ud_fax' email='$ud_email' web='$ud_web'";
mysql_query($query);
echo "Actualizarea s-a fcut";
mysql_close();

Asta va actualiza baza de date transmind i o confirmare utilizatorului.

68
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

tergerea nregistrrilor

delete.php?id=9

Scriptul care va face asta, numit delete.php, este aproape identic cu cel de actualizare a bazei de date, cu
excepia comenzii MySQL (modului n care este construit cererea). In locul comenzii SQL UPDATE , se va
folosi:

DELETE FROM contacts WHERE id='$id'

Ciclurile

Se menioneaz i un alt mod de folosire a ciclurilor cu o baz de date. Se poate folosi un ciclu pentru a
executa un ir de cereri. Spre exemplu, dac trebuie schimbat- se extrag toate nregistrrile dintr-o baz de
date n care apare ca prenume Serban pentru a realiza un Website www.serban.ro:

Partea Standard de Conectare la Baza de Date

$query=" SELECT * FROM contacts WHERE prenume='Serban'";


$rezultat=mysql_query($query);
$num=mysql_numrows($rezultat);

$i=0;
while ($i < $num) {
$id=mysql_result($rezultat,$i,"id");
$query1="UPDATE contacts SET web='http://www.serban.ro' WHERE id='$id'";
mysql_query($query);
++$i;
}

mysql_close();

1.5.8. ncheierea scriptului


Atunci cnd se construiete un script complex folosind bazele de date, apare des secvena de conectare la
baza de date. De aceea, pentru a simplifica lucrurile, se poate fie s creearea un fiier cu numele de utilizator
i parola sau chiar un fiier de conectare. Spre exemplu, un fiier "username/password" poate fi construit cu
numele:
dbinfo.inc.php

cuprinznd n el:

<?
$username="numele_de_utilizator_al_bazei_de_date";
$password="parola";
69
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

$database="nume_baza_de_date";
?>

n care precizm datele concrete potrivite (numele_de_utilizator_al_bazei_de_date, parola,


nume_baza_de_date). Atunci n fiierele php se va folosi, chiar la nceput, urmtoarea secven, care va
include scriptul de mai sus:

include("dbinfo.inc.php");

sau, atunci cnd acesta se afl n alt director:

include("/[traseul complet]/dbinfo.inc.php");

Atunci, se va putea folosi n continuare variabilele $username, $password i $database n script-ul nostru, fr
a avea nevoie s le definim de fiecare dat. De asemeni, dac se va modifica cndva aceste informaii, spre
exemplu trecnd pe alt server web, tot ce va fi de schimbat va fi n acest unic fiier.

Aceeai schem se poate folosi pentru conectarea la baza de date, plasnd i comanda de conectare n fiier.
Atunci va trebui, asigurarea de nchiderea conexiunii, pentru a nu avea probleme cu serverul MySQL.

Cutarea n script

Se poate realiza i o cutare limitat n baza de date folosind funcia special din MySQL. Adic prin folosirea
funciei LIKE , n forma:

SELECT * FROM nume_tabela WHERE nume_camp LIKE '%$string%'

Asta nsemn c LIKE va spune bazei de date s foloseasc posibilitile proprii de cutare. Semnele % au
semnificaia c orice alte date pot s apar n poziia lor i variabila $string va conine cererea de cutare.
Adic poate avea acolo un cuvnt, sau un numr, spre exemplu:

LIKE '%pian%'

ceea ce va conduce la scoaterea liniilor care includ cuvntul pian n cmpul specificat.

Similar, se poate renuna la unul din semnele % astfel pentru a preciza poziia irului de caractere:

LIKE 'pian%'

Astfel se va putea selecta doar liniile n care cmpul specificat ncepe cu prefixul pian, caz n care, spre
exemplu, expresia urmtoare va fi evitat:

Un pian se afl pe scen.

Finalizarea Script-ului

Se poate descrca script-ul complet ca un fiier comprimat zip, pentru a examina ntreaga aplicaie

70
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

1.6-Aplicaia DBMT(Database Management System Technology):

1.6.1- Baza de date folosite:

71
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

72
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Tabelele folosite

Tabela informaii

73
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Tabela log_informaii

Tabela user

74
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

1.6.2- Baza de date:

Tabelele folosite Descriere

INFORMAII Date despre grupa de sportivi

LOG_INFORMAII Activitile desfurate n cadrul


site-ului de ctre utilizatori

USERI
Utilizatorii(profesori i studeni)

1.6.3- Structura fiierelor:

check.php-verificarea logarii
config.php-informaii
[css] directorul cu stilurile CSS-
db_connect.php- realizarea conexiuni cu baza de date
db_disconnect.php-realizeaz intreruperea conexiuni cu baza de date
download.php- foreaz descarcrea fiierului CSV
excel.csv- fiier format CSV
[images] directorul cu imagini
functions.php-set de comenzi care asigur efectuarea operaiilor de pe site
index.php-fiier principal
login.php-autentificare
logout.php-ieire

75
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

1.6.4 Prezentarea codului sursa de la fiarea bazei de date


// Afisare baza de date

function browseDB($tabel,$tip)
{
echo '<table id="prima-pagina" cellpadding="5" cellspacing="10">
<tr>
<td class="prima-pagina-cell"><table border="1" cellspacing="0" style="font-size: 9pt; text-align: center">';
echo '<tr>
<td rowspan="3">Nr. crt.</td>
<td rowspan="3">ID</td>
<td colspan="4">Date de identificare</td>
<td colspan="20">Masuratori somatice</td>
<td colspan="25">Calitati motrice</td>
<td colspan="7">Calitati psihice</td>
<td colspan="3">Teste specifice</td>
<td rowspan="3"></td>
</tr>';
echo '<tr>
<td rowspan="2">Nume</td>
<td rowspan="2">Prenume</td>
<td colspan="2">Varsta</td>
<td rowspan="2">Inaltime</td>
<td rowspan="2">Greutate</td>
<td colspan="2">Perimetru toracic</td>
<td rowspan="2">Elasticitate toracica</td>
<td colspan="6">Membre inferioare</td>
<td colspan="7">Membre superioare</td>
<td rowspan="2">Diametru biacromial</td>
<td rowspan="2">Diametru bitrohan</td>
<td colspan="3">Viteza</td>
<td colspan="4">Indemanare</td>
<td colspan="5">Forta</td>
<td colspan="3">Rezistenta</td>
<td colspan="5">Mobilitate</td>
<td colspan="2">Orientare</td>
<td rowspan="2">Vedere periferica</td>
<td colspan="2">Inteligenta motrica</td>
<td rowspan="2">Temperament Below</td>
<td rowspan="2">Sociabilitate</td>
<td rowspan="2">Curaj</td>
<td rowspan="2">Echilibru emotional</td>
<td rowspan="2">Disciplina</td>
<td rowspan="2">Atentie</td>
<td rowspan="2">Motivatie</td>
<td rowspan="2">Test 1</td>
<td rowspan="2">Test 2</td>
76
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

<td rowspan="2">Test 3</td>


</tr>';
echo '<tr>
<td>Ani</td>
<td>Luni</td>
<td>Inspir.</td>
<td>Expir.</td>
<td>L. picior dr.</td>
<td>L. picior st.</td>
<td>L. talpa dr.</td>
<td>L. talpa st.</td>
<td>Perim. glezna dr.</td>
<td>Perim. glezna st.</td>
<td>L. brat dr.</td>
<td>L. brat st.</td>
<td>Anvergura</td>
<td>L. palma dr.</td>
<td>L. palma st.</td>
<td>Perim. pumn dr.</td>
<td>Perim. pumn st.</td>
<td>Reactie</td>
<td>Deplasare (30m)</td>
<td>Executie</td>
<td>Scarita</td>
<td>Naveta</td>
<td>Matorini dr.</td>
<td>Matorini st.</td>
<td>Detenta lungime</td>
<td>Detenta inaltime</td>
<td>Aruncare mg. oina</td>
<td>Dinamometru dr.</td>
<td>Dinamometru st.</td>
<td>Aerobic</td>
<td>Anaerobica</td>
<td>Anduranta</td>
<td>Sfoara dr.</td>
<td>Sfoara st.</td>
<td>Sfoara lat.</td>
<td>Coloana vertebrala</td>
<td>Umeri</td>
<td>Spatiala</td>
<td>Temporala</td>
<td>Precizia in miscare</td>
<td>Memoria motrica</td>
</tr>';
$c=0;
$result=mysql_query("SELECT * FROM `$tabel` ORDER BY `nume` ASC, `PRENUME` ASC");
while ($row=mysql_fetch_row($result))
{
77
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

$c++;
echo '<tr><td>'.$c.'</td>';
foreach ($row as $item)
echo '<td>'.$item.'</td>';
echo '<td>';
if ($tip!= 'vizitator') echo '<span style="color: #4171FA">[<a href="index.php?section=edit&amp;field='.$row[0].'">modifica</a>] [<a
href="index.php?section=delete&amp;field='.$row[0].'" onclick="if (!confirm(\'Sunteti sigur ca doriti sa stergeti aceasta inregistrare?\'))
{return false;}">sterge</a>]</span>'; // daca utilizatorul nu are doar drepturi de citire afiseaza optiunile de alterare a inregistrarilor tabelei
echo '</td></tr>';
}
echo '<table></td></tr></table>';
}

1.6.5- Opiunile utilizatorilor

Utilizatorul ADMIN:
- Administrare utilizatori Administrarea parolelor, activarea si tergerea utilizatorilor
- Modificare baze de date Zona de administrare a bazelor de date pentru paginile site-ului

Utilizatorul PROFESOR:
- Baze de date-citire scriere modificare ncrcare, descrcare fiiere CSV
- Parola cont Modificarea parolelor pentru contul tutor

Utilizatorul STUDENT:
- Citire i descrcare fiiere CSV

1.7- Ghid de utilizare al aplicaiei :

Pasul 1:
- administratorul creaz conturi i acord permisiuni
-parola este generat automat

Pasul 2:
- utilizatorii primesc parola pe e-mail

Pasul 3:
- utilizatorii se autentific cu datele primite

78
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Pasul 4:
- profesorii pot adauga informatii in baza de date si pot incarca fisiere CSV

Pasul 5:
- toti utilizatorii pot vizualiza informatii din baza de date sau le pot descarca in fisiere CSV

Restricii:
- incarcarea exclusiva a fisierelor de tip CSV
- administratorul are drepturi de modificare, stergere a informatiilor despre useri, stergerea contului
- utilizatorii nu isi pot modifica decat propriile date

1.6.7- Prezentarea aplicaiei:

Pagina principal a aplicaiei

79
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Pagina de administrare utilizatori

Pagina creare cont

80
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Pagina de autentificare

Pagina cu lista utilizatorilor site-ului

81
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Pagina de adaugare informaii

Pagina de ncarcare fiier

82
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Pagina datelor de identificare

83
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Pagina de extragere informatii

Pagina de descrcare a bazei de date n fiier CSV

Pagina de golire a bazei de date

84
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Pagina de coninut a bazei de date

Pagina cu jurnalul activitilor utilizatorilor


85
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Pagina de cont

Pagina de schimbare a parolei

86
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

Pagina de actualizare a informaiilor din cont

Pagina de deconectare

87
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

BIBLIOGRAFIE

1. Julie C. Meloni - Php, MySql i Apache Editura Corint, Bucureti, 2005


2. Robert Dolinger Baze de date i gestiunea tranzaciilor Editura Albastr, Cluj Napoca, 2000

3. Cosmin Vrlan - Macromedia Flash Concepte, exemple, studii de caz, Editura Polirom, 2004

4. Benot Marchal XML by Example

5. Jesus Castagnetto, Harish Rawat, Sascha Schumann, Chris Scollo, Deepak Veliath Profesional
PHP Programing

88
UNIVERSITATEA TRANSILVANIA BRAOV
FACULTATEA DE LUCRARE DE LICEN
MATEMATIC-INFORMATIC

6. Steve Suering - MySQL Bible

7. MySQL/PHP Database Aplications Jay Greespan and Brad Bulger

8. PHP.net http://www.php.net
9. Netcraft - http://news.netcraft.com

89

You might also like