INTRODUCERE
Dezvoltarea foarte rapid din ultimii ani a resurselor hardware i software din domeniul
tehnologiei informaiei are meritul de a oferi un acces rapid la orice categorie de informaii i o mai
bun comunicare.
n zilele noastre trim ntr-o societate informatizat, ntlnim calculatoare peste tot, de la
ghieul la care pltim abonamente, facturi i pn la examenele pentru permisul auto, sau alte
examene, peste tot sunt calculatoare, la bnci, casierii, hoteluri, magazine, legate eventual ntre ele
i formnd astfel reele de calculatoare. Din faa calculatorului putem s ne pltim facturile,
abonamentele, putem achiziiona produse, servicii, putem planifica concedii, putem face o
multitudine de alte lucruri.
n prezent toate instituiile sunt nzestrate cu calculatoare i diferite programe pe care aceste
instituii lucreaz.
Evoluia internetului, a serviciului Worl Wide Web i felul n care acest serviciu a fost
imbriat de mulimea de utilizatori din ntreaga lume, au dus la o multitudine de site-uri Web: de
prezentare, reele sociale, comerciale, blog, forum, etc..
Prezenta lucrare cuprinde aspecte teoretice i practice ale modalitilor de concepere i
implementare a aplicaiei.
Lucrarea este structurat n 5 capitole, fiecare capitol, avnd la rndul lui mai multe
subcapitole.
Capitolul 1 Generaliti prezint partea introductiv a lucrrii, prezentarea domeniului din
care face parte lucrarea, tema lucrrii, sunt explicate noiuni ca internet, protocoale, servicii. Aceste
informaii sunt generale i au scopul de a facilita nelegerea lucrrii.
Capitolul 2 Tehnologiile folosite prezint tehnologiile software folosite la realizarea
aplicaiei practice Biblioteca Digitala .
Capitolul 3 Unelte folosite prezint aplicaiile software utilizate pentru crearea aplicaiei
Biblioteca Digitala, ele nefiind obligatorii i putnd fi nlocuite cu multe alte aplicaii de acelai
gen.
Capitolul 4 Descrierea aplicaiei prezint structurarea aplicaiei Biblioteca Digitala i
modul de funcionare i utilizare.
CAPITOLUL 1.
GENERALITATI
Tehnologiile disponibile, varietatea, atractivitatea fa de utilizatori i viteza de micare au dus
la rspndirea paginilor Web cu coninut dinamic.
Paginile Web cu coninut dinamic sunt folosite atunci cnd se dorete modificarea dinamic a
coninutului lor.
Un site Web dinamic, prezint vizitatorilor si un coninut variat fr a fi nevoie de intervenia
permanent a designer-ului sau al webmaster-ului ca in cazul paginilor Web statice, care nu ofera
interactivitate.
Paginile Web cu coninut dinamic se caracterizeaz prin urmtoarele:
coninutul lor este creat dinamic i poate diferi la accesri diferite; de exemplu la
aceeai adresa online coninutul paginii poate varia n funcie de anumii parametri
cum ar fi locaia geografic a utilizatorului, ora, paginile vizitate anterior, profilul
utilizatorului;
ofer interactivitate;
posibiliti de interaciune.
Limbajele i tehnologiile cele mai folosite pentru implementarea paginilor Web cu coninut
dinamic sunt perechea PHP- MySQL, care se bucur de promovabilitate datorit suportului oferit,
comunitii foarte mari de programatori i a licenei GPL (General Public License).
Alte limbaje folosite sunt: ASP (Active Server Pages), [Link], JSP (Java Server Pages) i
Perl . La acestea se mai adaug i o serie de alte tehnologii de interes mai restrns.
Paginile Web cu coninut dinamic contribuie n mare msur la susinerea i dezvoltarea
continu a comerului electornic (e-commerce) i al afacerilor electronice (e-business).
CAPITOLUL 2.
LIMBAJE I TEHNOLOGII UTILIZATE
n lume exist milioane de calculatoare, n care sunt stocate informaii. Pentru a face schimb
de informaii ntre ele, calculatoarele sunt interconectate formnd reele de calculatoare, multe
dintre aceste reele de calculatoare fiind la rndul lor conectate ntre ele formnd inter-reele (reele
de reele de calculatoare).
Aceast reea de reele de calculatoare se numete Internet, cea mai mare inter-reea public
(reea de reele de calculatoare cu acces public).
De fapt, specialitii susin c Internetul nu este o reea ci un ansamblu de reguli protocoale
de comunicaie - care permit transferul de date ntre diferite reele de pe glob, accesul la
informaiile stocate n calculatoarele acestora.
Cuvantul internet provine din limba englez , din cuvintele net care nseamn reea i
inter care nseamn ntre, rezultnd prin concatenarea lor cuvntul internet care se traduce
conexiune de reele.
Internetul s-a nscut pe la mijlocul anilor 60 n forma ARPAnet ( Advanced Research Projects
Agency Net) o reea ntre mai multe calculatoare din unele instituii americane, unul din
obiectivele proiectului fiind crearea unei retele de comunicaii digitale ct mai extinse care s
asigure transferul de fiiere i tiprirea de la distan..
Pe actul de natere al internetului figureaz anul 1969, acelai n care americanii au reuit s
trimit primii oameni pe Luna, anul n care ncepe s funcioneze reeaua ARPANet ntre patru
noduri: University of California din Los Angeles (UCLA), University of California din Santa Ana,
University of Utah i Stanford Research Institute (SRI).
Pentru protecia datelor transmise prin Internet, Ministerul Aprrii al SUA a creat n acea
perioad un protocol care reglementeaz tansmisia de date, n forma sa final TCP/IP (Transmission
Control Protocol/ Internet protocol) , care este i acum baza internet-ului.
TCP (Transmission Control Protocol), adic Protocolul de Control al Transferului este un set
de reguli care guverneaz transferurile de date ntre componentele din reea, este un mijloc de
corecie a erorilor de trasnmitere.
IP (Internet Protocol), adic Protocolul Internet, este un mijloc de dirijare a datelor astfel nct
acestea s ajung la destinaie. Datele circul pe Internet de la surs sub form de pachete din
aproape n aproape adic din nod de reea n nod de reea (router sau server) pn ajung la
destinaie.
Dezvoltarea internetului a fost foarte rapid, de la aproximativ 2000 de calculatoare care erau
legate la Internet n anul 1985, la zeci chiar sute de milioane de calculatoare n momentul de fa,
conectate n ntreaga lume, care permit accesul n reea a unui numr foarte mare de oameni. In
fiecare an, comunitatea primete milioane de noi utilizatori care doresc sa utilizeze internetul pentru
a cunoate informaii noi din domenii diferite.
La fel s-au dezvoltat i serviciile oferite de Internet: s-au fctut progrese n domeniul
conferinelor audio-video de la distane mari; nu mai suntem limitai la simple mesaje e-mail text,
acum putem formata textul i putem ataa imagini si alte elemente multimedia; avem telefonie prin
Internet, care reduce costurile; avem televiziune prin Internet care permite vizualizarea unui numr
mai mare de canale TV, are o calitate a imaginii i a sunetului superioare i permite accesarea unor
funcii precum vizualizarea n reluare a programelor TV din ultimele 24 de ore, ghid electronic al
programelor; si multe la alte servicii.
2.1. Pagini Web i Servere Web
Internetul nu trebuie confundat cu serviciul World Wide Web (WWW , Tim Berners Lee este
creatorul acetui serviciu, supranumit i printele Intenetului) , acesta fiind doar unul din multele
servicii oferite de Internet.
Construcia World Wide Web este pe baza unui protocolului numit HyperText Transfer
Protocol (HTTP), adic n romn Protocolul de Transfer al Hipertextului, care este un sistem de
reguli ce formeaz un protocol de comunicare ntre client i server.
Patru dintre componente cheie ale servicului Web sunt : HTTP amintit mai sus; HTML
(HyperText Markup Language), adic Limbajul de Marcare a Hipertextului, limbajul prin care sunt
construite fiierele Hypertext (documente electronic care conin pe lang textul obinuit i imagini,
clipuri audio, video sau hyperlink-uri, referine ctre alte documente); browser-ul i serverul Web.
Browserul este o aplicaie prin intermediul creia Paginile Web sunt vizualizate pe
calculatorul client.
Web, Site Web sau Pagina Web sunt termeni folosii pentru a descrie resurse disponibile n
Internet. Site-ul Web este o colecie de fiiere de diferite extensii(.html, .htm, .php, .xml, .js, .css,
etc.) care transmit informaii ctre un utilizator prin intermediul unui browser (navigator). Pagina
Web face referire la un singur fiier (de tip .html, .htm, .php, .xml, etc) al crui nume este afiat n
bara de adrese a browser-ului mpreun cu adresa URL (Uniform Resource Locator, care nseamn
Identificator universal al Resurselor in Internet), dar care poate include mai multe fiiere.
Un Web server este un program care furnizeaz pagini Web la cerere. Cnd un utilizator de la
o adres IP specific solicit un anumit fiier, serverul Web ncearc s obin acel fiier i s-l
trimit napoi utilizatorului.
Fiierul solicitat poate fi codul surs HTML al unei pagini Web, o imagine GIF, un fiier
Flash, un document XML, sau un fiier video. Browserul Web este cel care determin ceea ce
trebuie cerut, nu serverul Web.
Internetul reprezint o mulime global de calculatoare interconectate, similar unei reele
locale, dar la o scar mult mai larg. Elementul primar al Internet-ului este World Wide Web
(cunoscut sub denumirea de Web sau WWW ). WWW este un suport pentru text, grafic, animaie
i sunet. Documentele destinate Web-ului sunt cunoscute sub numele de pagini Web.
Un site Web este definit ca o colecie de informaii prezentat sub forma unor pagini Web,
fiiere multimedia, documente i de alte tipuri, ntre care exist legturi.
10
2.2. Pagini Web Dinamice pe partea de client (client-side)
Tehnologii care permit realizarea de pagini dinamice pe partea de client sunt :
o
o
o
o
scripturi pe partea de client (client side scripts)
Appleturi java
Dynamic HTML
Controale ActiveX
Scripturile pe partea de client sunt secvene de program incluse n pagina HTML care se
execut de ctre browser. Secvenele de program sunt incluse prin tagul <script> sau n proprietile
anumitor componente HTML ca rspuns la diferite evenimente)
HTML i XHTML
Paginile Web sunt fiiere cu simplu text construite folosind limbajul Hypertext Markup
Language (HTML).
HTML este cel mai folosit limbaj de marcare, care permite transformarea oricrui text n
hipertext prin introducerea de marcaje,care vor indica modul cum vor aprea paginile documentului.
HTML furnizeaz mijloacele prin care coninutul unui document poate fi adnotat cu diverse tipuri
de metadate i indicaii de redare. Indicaiile de redare pot varia de la decoraiuni minore ale
textului, cum ar fi specificarea faptului ca un anumit cuvnt trebuie subliniat sau ca o imagine
trebuie introdus, pn la scripturi sofisticate, hari de imagini i formulare. Metadatele pot include
informaii despre titlul i autorul documentului, informaii structurale despre cum este mprit
documentul n diferite segmente, paragrafe, liste, titluri etc. i informaii cruciale care permit ca
documentul s poat fi legat de alte documente pentru a forma astfel hiperlink-uri (sau web-ul).
Paginile HTML sunt formate din etichete sau tag-uri i au extensia .html sau .htm. Majoritatea
etichetelor sunt pereche, una de deschidere <eticheta> i alta de nchidere </eticheta> dar
mai exist i cazuri n care nu se nchid i atunci se folosete <eticheta/> , iar browserul
interpreteaz aceste etichete afind rezultatul pe ecran.
HTML-ul nu este un limbaj case sensitiv (adic nu face deosebirea ntre literele mici i cele
mari).
Pagina principala a unui domeniu este fiierul [Link] respectiv [Link]. Aceast pagin
este setat a fi afiat automat la vizitarea unui domeniu. De exemplu la vizitarea domeniului
[Link] este afiat pagina [Link]/[Link] .
Componena unui document HTML este: 1. versiunea HTML a documentului; 2. zona head cu
etichete <head> </head> ; 3. zona body cu etichetele <body> </body> sau
<frameset> </frameset> .
Versiunea HTML poate fi:
HTML 4.01 Strict
<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01//EN
[Link] (versiune n care folosirea elementelor
nvechite este interzis).
HTML 4.01 Transitional
<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN
[Link] (versiune n care folosirea elementelor
nvechite este permis).
HTML 4.01 Frameset
11
<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Frameset//EN
[Link] (versiune n care n mare parte sunt permise
doar elementele relaionale cu tipul frame).
HTML 5
<!DOCTYPE HTML>
Toate paginile HTML ncep i se termin cu etichetele <html> si </html
Head conine titlul paginii ntre etichetele <title> si </title>, descrieri de tip <meta>,
stiluri pentru formatarea textului, scripturi i linkuri ctre fiiere externe (de exemplu scripturi,
fiiere de tip CSS sau favicon).
Etichetele de tip <meta> conin cuvinte cheie, descrierea paginii, date despre autor,
informaii utile motoarelor de cutare i au urmtorul format:
<META NAME=nume CONTENT=coninut>.
Body gzduiete practic toate etichetele afiate de browser pe ecran.
Exemplu: o pagina HTML cu titlul Exemplu iar coninutul Pagina Web:
<html>
<head>
<title>Exemplu</title>
</head>
<body> Pagina Web </body>
</html>
XHTML (eXtensible HyperText Markup Language) este un limbaj de marcare ce are aceleai
capabiliti expresive ca i HTML, dar cu o sintax mai strict. XHTML poate fi considerat ca
ncruciarea dintre HTML i XML n multe privine, fiind o reformulre a HTML n XML.
Practic XHTML este un inlocuitor modern al mai vechiului limbaj HTML, XHTML1.0 fiind
aproape identic cu standardul HTML 4.01, o versiune mbuntit, mult mai strict i mai curat a
standardului HTML 4.0. Abstractiznd se poate afirma c XHTML reprezint o definire de tip XML
a unui document HTML adic pe scurt o combinaie ntre HTML i XML.
Avantajele unei aplicaii XHTML sunt multiple: pot fi citite de toate dispozitivele XML, n
timp ce pastreaza compatibilitatea cu toate browserele de Internet mai vechi sau mai noi far a
necesita specificaii suplimentare.
Taguri i atribute
n continuare sunt prezentate cele mai importante taguri HTML folosite n implementarea
aplicaiei Biblioteca Digitala. Toate datele sunt referitoare la versiunea HTML 4.01, cea mai nou
versiune existent i folosit n implementarea aplicaiei.
Tagul <table> : n HTML rolul unui tabel nu este doar de a afia o informaie cu carcater
tabelar, el fiind folosit i pentru aezarea elementelor n pagina i este considerat un instrument
eficient pentru obinerea, asezarea i mbinarea precis a elementelor. n construcia unui tabel pot
intra urmtoarele taguri:
<table> </table> - marcheaz nceputul respectiv sfritul tabelului
<tr> </tr> - marcheaz nceputul respectiv sfritul unui rnd
<th> </th> - tag opional care marcheaz nceputul respectiv sfrsitul capului de tabel
cunoscut i sub numele de table header. Coninutul va fi afiat conform conveniei bold i
12
centrat pe mijloc.
<td> </td> - marcheaz nceputl respectiv sfrsitul unei celule
<caption> </caption> - definete natura tabelului, se folosete doar dup tagul care
marcheaz nceputul de tabel i poate fi folosit doar o dat.
<colgroup> <colgroup> - definete un grup de coloane i este folosit la formatare
<col /> definete valori de atribute pentru una sau mai multe coloane din tabel
<thead> <thead> - marcheaz partea de header dintr-un tabel . Aceasta seciune
poate fi
repetat de catre browser daca tabelul este mprit pe mai multe pagini
<tbody> </tbody> - grupeaz tabelul n corpuri. Un tabel poate avea unul sau mai
multe
corpuri
<tfoot> </tfoot> - marcheaz partea de footer dintr-un tabel. Aceasta seciune poate fi
repetat de catre browser dac tabelul este mprit pe mai multe pagini ( la imprimare sau alte
paginaii media)
Un exemplu de tabel, poate fi reprezentarea unei matrici ptratice:
<table border=1>
<tr>
<td>a11</td>
<td>a12</td>
=>
</tr>
<tr>
<td>a21</td>
<td>a22</td>
</tr>
</table>
a11
a21
a12
a22
rezultatul
Atributele opionale al tagului <table> sunt :
border - specific grosimea bordurii tabelului valoare n pixeli
cellpading - specific spaiul dintre peretele celulei i coninutul celulei valoare n
pixeli
cellspacing - specific spaiul dintre doua celule valoare n pixeli
frame - specific care parte din bordurile exterioare s fie vizibile valori: void,
above, below, hsides, lhs, rhs, vsides, box, border
rules - specific care parte din bordurile interioare s fie vizibile valori: none,
groups, rows, cols, all
summary sumarul tabelului valoare: text
width - specific limea tabelului, valaorea este fix n pixeli sau procentual % cu
referire la dimensiunea vizibil a paginii n browser
Atributele opionale ale tagului <tr> sunt:
align - specific aliniamentul rndului din tabel valori: left, center, right, justify,
char
char - aliniaz rndul dup caracterul specificat. Atributul align trebuie s aibe
valoarea char valoare : character
charoff - specific numarul de offset pentru alinierea coninutului rndului de la
valoarea atributului char. Atributul align trebuie sa aibe valoarea char valoare:
numar
13
valign - specific aliniamentul pe vertical a coninutului unui rnd valori: top,
middle, bottom, baseline
Atributele opionale ale tagului <td> sunt:
abbr - specific o abreviere a coninutului celulei valoare: text
align - specific aliniamentul celulei valori: left, center, right, justify, char
axis clasifica celulele valori: nume, categorie
char - aliniaz celula dup caracterul specificat. Atributul align trebuie s aibe
valoarea char valoare: character
charoff - specific numrul de offset pentru alinierea coninutului celulei de la
valoarea atributului char. Atributul align trebuie s aibe valoarea char valoare:
numar
colspan - specific peste cte celule din dreapta ei, celula respectiv se va ntinde
orizontal valoare - numar
headers - specific o lista de una sau mai multe celule header, desprite prin spaiu
de care se leag celula. Acest atribut nu are efect vizual n browsere, dar poate fi
folosit de cititoarele de ecran valoare: Header_id
rowspan specifica peste cte celule de dedesubtul ei celula respectiv se va ntinde
vertical valoare: numar
scope - definete modul de asociere a celulelor header cu cele de date n tabel. Acest
atribut nu are efect vizual n browsere, dar poate fi folosit de cititoarele de ecran
valaori: Col, Colgroup, row, Rowgroup
valign - specific aliniamentul pe vertical a coninutului unui rnd valori: top,
middle, bottom, baseline
Tagul <form> : Este un formular care se trimite de ctre utilizator la webserver prin
apsarea butonului submit al formularului. Diferena ntre HTML i XHTML este c atributul name
este Deprecated, n locul sau folosindu-se atributul id. Elementele unui formular sunt cuprinse ntre
tagurile <form> <form> i mai sunt numite i controale n care utilizatorul poate introduce
date.
Acestea sunt : <input>
<textarea>
<button>
<select>
<option>
<optgroup>
<fieldset>
<label>
Atributul obligatoriu al tagului <form> este :
action - specific unde s trimit datele cnd forma este trimis valoare: URL
Atributele opionale ale tagului <form> sunt:
accept - specific tipul de fiiere pe care serverul le accept (fiiere care pot fi
trimise prin upload) valoare: MIME_type
accept-charset - specific o lista de codri de fiiere pe care serverul o accept
valaore : character_set
enctype - specific cum s fie codate datele care se transmit serverului (doar pentru
method = post) valoare: application/x-www-form-urlencodedmultipart/formdatetext/plain
14
method - specific ce metod a protocolului HTTP s fie folosit la transmiterea
datelor valori : get , post
name specifica numele formularului valoare: nume
target - specific unde s se afieze rspunsul dup ce formularul a fost trimis
valori: _blank, _self, _parent, _top, framename
Exemplu de folosire a tagului <form> :
<form action=[Link] method=post>
Nume: <input type=text name=nume /><br />
Prenume: <input tpe=text name=prenume /><br />
<input type=submit value=Aplica />
</form>
Acest exemplu simplist colecteaz numele i prenumele de la utilizator i le trimite la
webserver la pagina [Link] folosind metoda post, dup apsarea butonului cu numele Aplica.
Tagul <input> : Este un element folosit n cadrul tagului <form> pentru a declara
controalele care permit introducerea datelor. Acest atribut variaz foarte mult datorit multitudinii
tipurilor pe care le accept.
Atributele opionale ale tagului <input> sunt :
accept - specific tipul de fiiere pe care serverul le accept (fiiere care pot fi
trimise prin upload) valoare: MIME_type
alt - specific un text alternativ doar pentru tipul image valoare: text
checked - specific dac elementul input trebuie preselectat la ncarcarea paginii.
Valabil doar pentru tipul checkbox sau radio valoare: checked
disabled - specific dac elementul input trebuie s fie dezactivat valoare: checked
maxlength - specific numrul maxim de caractere permise valoare: numar
name - specific numele elementului input valoare: nume
readonly - specific dac elementul input nu este editabil valoare: readonly
size - specific limea n caractere a unui element input valoare: nume
src - specific URL-ul imaginii care se folosete ca i buton de submit (doar pentru
tipul image) valoare: URL
type - specific tipul elementului input valori: button, checkbox, file, hidden,
image, password, radio
value - specific valoarea predefinit a elementului input valoare: text
Exemplu de folosire a tagului <input> :
<input type=radio name=numar value=par /> 2<br />
<input type=radio name=numar value=impar /> 3 <br />
<input type=checkbox name=hoby value=filme /> Imi plac filmele<br />
<input type=checkbox name=hoby value=sport /> Imi place sportul<br />
<input type=checkbox name=hoby value=muzica /> Imi place muzica<br />
Parola: <input type=password name=parola />
Aceste trei exemple creaz doua butoane radio, trei butoane check-box i un buton de tip
parol. De observat este c pentru a relaiona elementele de tip buton radio sau cele de tip checkbox
numele trebuie sa fie identic.
15
Tagul <select>, tagul <option>: <select> este un element folosit n cadrul tagului
<form> pentru a declara controale care permit introducerea datelor. Este folosit mpreuna cu tagul
<option> care definete opiunile elementului <select> .
Atributele opionale ale tagului <select> sunt :
disabled - specific dac elementul select trebuie s fie dezactivat valoare: disabled
multiple - specific dac mai multe opiuni pot fi selectate n acelai timp valoare:
multiple
name - specific numele elementului select valoare: nume
size - specific numrul de opiuni vizibile n lista drop-down valoare: numar
Atributele opionale ale tagului <option> sunt :
disabled - specific dac elementul select trebuie s fie dezactivat valoare: disabled
label - specific o eticheta mai scurt a opiunii. Aceast etichet va fi afiat n lista
drop-down valoare: text
selected - specific dac opiunea este preselectat la ncarcarea paginii valoare:
selected
value - specific valoarea care va fi trimis ctre server n cazul n care elementul
select va fi selectat cu aceast opiune valoare: text
Exemplu de folosire a tagului <select> i <option> :
<select name=masini size=1>
<option value=dacia>Dacia</option>
<option value=opel> selected=selected>Opek</option>
<option value=mercedes>Mercedes</option>
</select>
Acest exemplu afieaz un selector de dimensiune un camp selectat cu valoarea Opel avnd ca
opiuni disponibile pentru selecie: Dacia, Opel i Mercedes.
Tagul <button> : Este un element folosit n cadrul tagului <form> pentru a declara
butoane. n interiorul elementului <button> se poate pune coninut cum ar fi text sau imagini,
aceasta fiind diferena ntre un buton creat cu <button> i unul cu <input> .
Atributele opionale ale tagului <button> sunt :
disabled - specific dac elementul select trebuie s fie dezactivat valoare: disabled
name - specific numele butonului valoare: nume
type - specifica tipul butonului valori: button, reset, submit
value - specific valoarea iniiala a butonului valoare: text
Exemplu de folosire a tagului <button> :
<button type=button>Apasa</button>
Acest exemplu afieaz un buton cu numele Apasa dar care nu are nicio aciune la apsarea
lui.
Tagul <div> : Este un element care folosete o diviziune sau o seciune din cadrul
documentului HTML. Este folosit pentru a grupa elemente bloc, pentru a le putea formata cu
16
ajutorul lui styles. Este foarte folosit mpreuna cu CSS pentru aezarea elementelor n pagina i
formatarea lor.
Exemplu de folosire a tagului <div> :
<div style=color:green>
<p>Culoare textului este verde</p>
</div>
Acest exemplu afieaz textul din paragraful </p> n culoare verde.
Tagul <ul> , tagul <li> : <ul> definete o list neordonat de elemente afiate cu un
marcator n fa. Acest marker poate fi anulat cu ajutorl CSS. Se folosete mpreun cu tagul <li>
care definete elementele listei. Este folosit atat la crearea listelor ct i la crearea meniurilor.
Exemplu de folosire a tagului <ul> si <li> :
<ul>
<li>ceai</li>
<li>lapte</li>
<li>cafea</li>
</ul>
CSS - Noiuni generale
CSS (Cascading Styles Sheets) nu este definit ca un nou limbaj, ci ca un mecanism de
formatare a documentelor scrise n limbaj de marcare (HTML). Nu se poate realiza o pagina web
folosind numai CSS, care a fost creat astfel nct s conlucreze cu HTML-ul. Scopul su principal
este de a stiliza paginile web scrise n HTML sau XHTML, dar poate fi aplicat i la orice tip de
document XML. CSS a aprut din nevoia de a separa coninutul unui document de forma de
prezentare a documentului (culori, poziionarea elementelor, formatarea textului, fundal, etc.).
Folosind CSS , beneficiem de urmtoarele avantaje: scderea dimensiunii n KB a paginii
web, atunci cnd codul CSS e coninut ntr-un fiier extern; accesul rapid la coninut; mai multe
pagini web pot s foloseasc acelai format i aceeai pagina s aibe formate diferite n funcie de
rezoluia ecranului sau tipul dispozitivului pe care este vizionat; efecte mai sofisticate dect cele
produse de codul HTML (suprapunerea unei imagini una peste alta, a unui text peste alt text,
impresia de relief, afiarea unor fonturi mai mari dect h1, etc.).
CSS - Taguri, sintaxe, proprieti
CSS poate fi inclus ntr-o pagina n mai multe moduri:
Atributul style : Primul mod este cu ajutorul atributului style n interiorul unui tag HTML,
elementele de formatare ale tagului fiind trecute ca valoare i separate prin punct i virgula. Aceast
metod nu este ncurajat deoarece nu realizeaz separarea dorit ntre coninut i forma de
prezentare:
<p style=color:red; text-align:center>Text.</p>
17
Exemplul va afia mesajul Text. aliniat pe centru fiind scris cu culoarea roie.
Tagul <style> : Al doilea mod este folosind tagul <style> . Acest tag poate fi folosit doar
n interiorul tagului <head> i nici aceasta metod nu realizeaz parial separarea dorit ntre
coninut i forma de prezentare, internvenia ulterioar asupra formei de prezentare pentru pagini
complexe fiind greoaie.
Atributul obligatoriu al tagului <style> este:
type - specific media tipul tagului style valoare: text/css
Atributul opional al tagului <style> este :
media - specific tipul dispozitivului pentru care este optimizat resursa media valori:
screen, tty, tv, projection, handheld, print, braille, aural, all
Exemplu de folosire a tagului <style> :
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN
[Link]
<html xmlns=[Link]
<head>
<style type=text/css>
h1 {color::red;}
p {color:blue;}
</style>
</head>
<body>
<h1>Header</h1>
<p>paragraf</p>
</body>
</html>
Exemplul va afia mesajul Header cu rosu i mesajul paragraf cu albastru, aliniamentul
textului fiind implicit adic la stnga.
O alt particularizare a acestui tag este faptul c, cu ajutorul lui se pot importa fiiere css de pe
un site extern:
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN
[Link]
<html xmlns=[Link]
<head>
<title></title>
<style type=text/css>
@import url([Link]
</style>
</head>
<body>
</body>
</html>
18
Tagul <link> : Al treilea mod este folosind tagul <link>. Acest tag poate fi folosit doar n
interiorul tagului <head>, aceast metod fiind ncurajat deoarece separ forma de prezentare
ntr-un fiier, coninutul rmnnd n fisierul HTML:
Atributele opionale ale tagului <link> sunt:
charset - specific o lista de codri de caractere pe care le are documentul legat
valoare: char_set
href - specific URL-ul documentului de legat valoare: URL
hrelang - specific limbajul textului din documentul legat : language_code
media specific limbajul textului din documentul legat valori: screen, tty, tv,
projection, handheld, print, braille, aural, all
rel - specific dac elementul input trebuie s fie dezactivat valori: alternate,
appendix, bookmark, chapter, contents, copyright, glossary, help, home, index, next,
prev, section, start, stylesheet, subsection
rev - specific relaia dintre documentul legat i documentul curent valori:
alternate, appendix, bookmark, chapter, contents, copyright, glossary, help, home,
index, next, prev, section, start, stylesheet, subsection
target - specific unde s fie ncrcat documentul legat valori: _blank, _Self, _top,
_parent, frame_name
type - specific media tipul documentului legat valoare: MIME_type
Exemplu de folosire a tagului <link> :
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN
[Link]
<html xmlns=[Link]
<head>
<title></title>
<link rel=stylesheet type=text/css href=css/[Link] />
</style>
</head>
<body>
</body>
</html>
Syntaxa CSS: este format din reguli. O regul are dou prti: un selector ce definete
elementele HTML pe care se aplic regula i una sau mai multe declaraii care se pun ntr-un bloc
marcat prin acolade. Declaraiile sunt delimitate prin ,,;. Fiecare declaraie este o pereche de valori,
prima fiind numele proprietii, iar a doua fiind valoarea efectiv desprite prin ,, : .
<style type=text/css>
.title {
font-size:12px;
font-weight:bold;
color:red;
}
</style>
19
Proprietile sunt de dou feluri: cele care se motenesc i sunt preluate de urmaii acelui
element care a fost setat, aa cum sunt cele trei proprieti din exemplul de mai sus (font-size,
font-weight si color) i proprieti care nu se motenesc.
Selectorii sunt elemente ce au rolul de a selecta elemente din documentul HTML asupra
crora se aplic stilul respectiv i apar n faa unui bloc de declaraii. Exista opt tipuri principale de
selectori :
Selectorul universal (*) aplic regula ctre toate elementele HTML. Acest tip de selector este
mai puin folosit pentru ca este general, paginile HTML cernd diversitate.
Selectorul de tip element html este selectorul care aplic regula la toate elementele HTML de
acel tip i urmasilor si pentru proprietile care se motenesc dac cumva urmaii nu au stiluri
proprii.
Selectorul pseudo-element nu corespunde niciunui element de tip HTML i se separ de
selectorul principal de tip HTML prin ,, ; . Exemplu: p:first-line sau p:first-letter.
Selectorul de tip id se scrie ,,#numeid i se aplic elementului HTML care are definit
id=numeid (id-ul trebuie definit ca i nume unic n pagina).
Selectorul de tip class se scrie ,,.numeclasa i se aplic elementului HTML care are definit
atributul class=numeclasa. Numele clasei poate fi acelai pentru mai multe elemente HTML
(de obicei elementele HTML sunt de acelai tip dar acest lucru nu este obligatoriu).
Selectorul de tip pseudo-class se atribuie unui element HTML n anumite conditii i se
folosete n combinaie cu un selector de tip element HTML de cele mai multe ori cu tagul a.
Selectorii pseudo-class sunt precedati de ,,: ca i cei pseudo-element i sunt urmtorii:
a:link se folosete doar pentru linkuri, deci pentru elemente din interiorul tagului
<a> i selecteaz toate link-urile care nu au fost vizitate
a:visited este similar cu link dar cu aciune pentru link-urile vizitate
a:hover pentru elementele n starea mouse-over
a:active pentru elemente cnd se execut click
a:focus pentru elemente care au focus
Descendant selectors sunt selectorii de tip urma. Se scriu element1 element2. Aplic
regulile la elementele care sunt urmai ale altor elemente, mai muli selectori separndu-se prin
spaii, fiecare urma avnd stramoul n stnga.
Parent-child selectors sunt selectori de tip parinte-copil. Se scriu element1>element2 i
selecteaz toi copiii lui element1 de tipul element2 avnd n vedere ca element1 poate avea
i copii de alt tip nu doar element2 .
Mai exist i adjacent selectors i attribute selectors, dar sunt implementai pe foarte puine
browsere.
Unitile de msur folosite n cadrul stilurilor CSS sunt de dou tipuri: uniti de msur
absolute (px pixel, in inch, cm, mm pt point=1/72 inch, pc pica=1/6 inch) i uniti de msur
relative (% sau em=100% n plus faa de valoarea predefinit exemplu 1.1em=110%).
20
Proprieti pentru text:
Nume
proprietate
text
Valoare
Descriere
Color
rgb(x,x,x)
#xxxxxx
nume culoare
inherit
Rtl
Ltr
Inherit
normal
lungime
inherit
normal
numar
lungime
%
inherit
left
right
center
justify
inherit
none
underline
overline
line-through
blink
inherit
lungime
%
inherit
offset1
offset2
offset3 color
Specific culoarea textului
direction
letter-spacing
line-height
text-align
textdecoration
text-indent
text-shadow
Specific direcia textului sau direcia de scriere n cazul input,
textbox, etc.
Specific distana dintre caractere. Lungimea nu poate fi relativ
(%) i trebuie precedat de unitatea de msur
Specific distana dintre liniile unui text. Numrul va fi nmulit
cu mrimea fontului pentru a rezulta distana dintre linii.
Valoarea lungime trebuie urmat de unitatea de msur (px, cm,
em, etc.). Procentul se aplic ca i numar la mrimea fontului
textului
Specific aliniamentul pe orizontal al textului
Specific efectele care s se aplice textului
Specific mrimea spaiului folosit ca i indent la prima linie din
text
Specific dac textul s foloseasc umbr. Offset1 este o
lungime care trebuie urmat de unitate de msur (px, cm, em,
etc) i definete poziionarea la dreapta (daca e pozitiv) sau la
stga (daca e negativ) a umbrei faa de text. Offset2 are aceleai
caracteristici ca i offset1 i reprezint poziionarea n jos (dac
este pozitiv) sau n sus (dac este negativ) a umbrei f de text.
Offset3 are aceleai caracteristici ca i offset2 i reprezint
nivelul de blur a marginilor umbrei. Se folosesc doar valori
pozitive. Color are aceleai caracteristici ca i proprietatea de la
text i reprezint culoarea umbrei.
21
text-transform
none
capitalize
uppercase
lowercase
inherit
Specific modul de transformare al literelor (din mari n mici sau
invers) textului
Nume
proprietate
text
Valoare
Descriere
vertical-align
lungime
%
baseline
sub
super
Specific alinierea vertical a textului. Valoarea relativ (%) se
aplic la proprietatea line-height. Baseline reprezint alinierea
predefinit a textului. Sub respectiv super, aliniaz textul ca i
cnd at fi subscript respectiv superscript
top
text-top
middle
bottom
text-bottom
inherit
white-space
word-spacing
normal
nowrap
pre
pre-line
pre-wrap
inherit
Specific controlul asupra spaiilor i caracterelor linie-noua
dintr-un text. Normal va ignora elementele white-space i va ine
cont de ele doar la ncadrare. Nowrap nu ine cont de ncadrare
fornd extinderea i adugarea unui desfaurtor (scroll). Pre va
ine cont de toate caracterele linie-noua i nu va face wrap la
spaiu. Pre-line la fel ca i pre, doar ca va face wrap i la spaiu
dac este necesar
Specific distana dintre cuvintele unui text. Valoarea lungime
trebuie urmat de unitatea de msur (px,cm,em, etc.)
normal
lungime
inherit
Not: valorile din tabelul de mai sus scrise cu litere cursive, nu sunt valori propriu-zise, ele
trebuiesc nlocuite.
22
Proprieti pentru font :
Nume
proprietate
font
Valoare
Descriere
font
lista
proprietati
nume-font
nume-familie
inherit
xx-small
x-small
small
medium
large
x-large
xx-large
smaler
larger
lungime
%
inherit
normal
italic
oblique
inherit
normal
small-caps
inherit
Specific lista de proprieti pe care o poate avea fontul
desprite prin spaiu
Specific fontul i/sau familia de fonturi utilizat pentru acest
element
font-family
font-size
font-style
font-variant
font-weight
Specific mrimea fontului. Exist 7 dimensiuni predefinite (de
la xx-small pana la xx-large). Smaler respectiv larger se aplic la
elementul printe i seteaz o marime mai mare respectiv mai
mic. La fel i valoarea relativa (%) se aplica la elementul
printe. Valoarea lungime trebuie urmat de unitatea de msur
(px, cm, em, etc)
Specific stilul fontului: normal, italic, oblic
Specific dac fontul trebuie s fie afiat folosind small-caps.
Small-caps transform literele mici n litere mari dar ele sunt de
dimensiuni mai micidecat literele mari. Exemplu: Acasa devine
ACASA
Specific grosimea fontului. Valoarea 400 corespunde la normal,
iar 700 corespunde la bold
normal
bold
bolder
lighter
100
200
300
400
500
600
700
inherit
Not: valorile din tabelul de mai sus scrise cu litere cursive, nu sunt valori propriu-zise, ele
trebuiesc nlocuite.
23
Proprieti pentru background :
Nume
proprietate
background
Valoare
Descriere
background
lista
proprietati
scroll
fixed
inherit
culoare
transparent
inherit
Specific lista de proprieti pe care o poate avea fontul,
desprite prin spaiu
Specific fontul i/sau familia de fonturi utilizat pentru acest
element
backgroundattachement
backgroundcolor
backgroundimage
URL
none
inherit
backgroundleft top
position
left center
left bottom
right top
right center
right bottom
center top
center center
center bottom
x% y%
xpos ypos
inherit
backgroundrepeat
repeat
repeat-x
repeat-y
no-repeat
inherit
Not: valorile din tabelul
trebuiesc nlocuite.
Specific mrimea fontului. Exista 7 dimensiuni predefinite (de la
xx-small pana la xx-large). Smaler respectiv larger se aplic la
elementul printe si seteaza o mrime mai mare respectiv mai
mic. La fel i valoarea relativ (%) se aplic la elementul
parinte. Valoarea lungime trebuie urmt de unitate de msur
(px, cm, em, etc)
Specific stilul fontului: normal, italic, oblic
Specific poziionarea imaginii de fundal. Prima valoare este
pentru poziionarea pe vertical , a doua este pentru poziionarea
pe orizontala. 0% 0% reprezint left top, 0% 100% reprezint
right top, 100% 0 % reprezinta left bottom iar 100% 100%
reprezinta right bottom. Xpos se folosete pentru poziionare
vertical i trebuie urmat de unitatea de msur (px, cm, em, etc.).
Ypos se folosete pentru poziionare orizontal i trebuie urmat de
unitate de msura (px, cm, em, etc.). Dac se specific o singur
valoare (procent sau xpos/ypos), cealalt va fi presetat la 50%
Specific dac i cum se repet imaginea de fundal (dac
imaginea este mai mic decat dimensiunea elementului la care se
aplic fundalul). x pentru repetare doar pe orizontal, -y pentru
repetare doar pe vertical
de mai sus scrise cu litere cursive, nu sunt valori propriu-zise, ele
24
Proprietile principale pentru box model (un element HTML):
Nume
proprietate
Derivate
width
height
margin
border
padding
float
clear
position
top
bottom
left
right
-top-bottom-left-right-color-style-width-height-radius-image
etc
top
bottom
left
right
Valoare
Descriere
auto
lungime
%
inherit
auto
lungime
%
inherit
auto
lungime
%
inherit
Triplet
de
dimensiune
stil culoare
inherit
Specific limea unui element. Valoarea lungime
trebuie urmat de unitatea de msur (px, cm, em,
etc.). Procentul se aplic la valoarea elementului
printe
Specific nlimea unui element. Valoarea lungime
trebuie urmat de unitatea de msur (px, cm, em,
etc.). Procentul se aplic la valoarea elementului
printe
Specific existena unui spaiu gol ntre bordur i
printe. Valoarea lungime trebuie urmat de unitate de
msur (px, cm, em, etc.). Procentul se aplic la
valoarea elementului printe.
Specific existena unui spaiu gol ntre bordur i
printe. Valoarea lungime trebuie urmat de unitatea de
msur (px, cm, em, etc.). Procentul se aplic la
dimensiunea elementului
auto
lungime
%
inherit
left
right
none
inherit
left
right
both
none
inherit
static
absolute
fixed
relative
inherit
Specific existena unui spaiu gol ntre bordur i
coninut. Valoarea lungime trebuie urmat de unitatea
de msur (px, cm, em, etc.). Procentul se aplic la
dimensiunea elementului
Se aplic doar elementelor block nu in line. Left
poziioneaz elementul stnga sus, right poziioneaz
elementul dreapta sus
Se aplic doar elementelor block nu n line. Anuleaz
proprietatea float
Specific tipul metodei de poziionare aplicat
elementului. Static genereaz elementele n ordinea din
document (este valoare predefinit). Absolute
poziioneaz elementul referitor la poziia primului
strmo. Fixed poziioneaz elementul relativ la
fereastra browserului. Relativ poziioneaz elementul
25
relativ la poziia lui normal
visibility
visible
hidden
collapse
inherit
Not: valorile din tabelul de mai sus
trebuiesc nlocuite.
JavaScript - Noiuni generale
Specific dac elementul este vizibil sau nu. Collapse
se aplic doar la elemente din cadrul tabelului i
nltur o coloan sau o linie fra a afecta aspectul
tabelului
scrise cu litere cursive, nu sunt valori propriu-zise, ele
JavaScript este un limbaj de programare orientat obiect bazat pe conceptul prototipurilor.
JavaScript are o sintax apropiat de cea a limbajului C , nu are legatur cu limbajul Java, doar
copiaz nume i convenii de nume din Java, aceasta fiind singura legatur dintre cele doua limbaje.
Este folosit mai ales pentru introducerea unor funcionaliti n paginile web, codul Javascript
din aceste pagini fiind rulat de ctre browser. Limbajul este binecunoscut pentru folosirea sa n
construirea site-urilor web, dar este folosit i pentru accesul la obiecte ncastrate (embedded objects)
n alte aplicaii.
HTML permite crearea layout-ului paginilor i a formularelor, dar nimic mai mult. Pentru a se
construi interfee intuitive i sofisticate este necesar i un limbaj de scripting la nivel de client.
Scripting-ul permite scrierea de cod (mici programe) care ruleaz n cadrul browserului.
Cel mai cunoscut limbaj de scripting pe parte de client este JavaScript, care este suportat
(mau mult sau mai puin) de aproape orice browser existent. Folosind JavaScript se poate realiza:
validarea formularelor, animarea textului i a imaginilor, crearea de meniuri drop-down i a
controalelor de navigare, se pot efectua procesri de baz numerice sau asupra textelor i multe
altele.
Scripting-ul permite programatorilor s detecteze i s proceseze evenimentele. De exemplu,
o pagin care se ncarc, un formular trimis, micarea pointer-ului mouse-ului asupra unei imagini
sunt toate evenimente, iar script-urile pot fi executate automat de browser atunci cnd aceste
evenimente au loc.
Script-urile pot fi incluse n codul HTML sau pot fi stocate n fiiere externe i legate n
interiorul codului HTML.
JavaScript - Sintax , evenimente
JavaScript poate fi introdus n documentele HTML prin mai multe metode:
Introducnd codul JavaScript n tagul <script> :
<script type = text/java/script>
alert (Atentie!);
</script>
Incluznd o librarie JavaScript (un fiier extern cu extensia .js) :
<script src=lib/[Link] type = text/javascript></script>
Folosind atributele HTML de tip eveniment:
<img
src=images/[Link]
javascript:changeBoutton(this)/>
border=0
26
onmouseover
Lista principalelor atribute de tip evenimente HTML. Numrul lor difer n funcie de tag, nu
toate fiind valabile pentru toate tagurile :
onblur
- Scriptul se execut cnd elementul i pierde focus-ul
onclick
- Scriptul se execut la click pe element
ondblclick
- Scriptul se execut la dublu click pe element
onfocus
onmousedown
onmousemove
onmouseout
- Scriptul se execut cnd elementul ctig focus-ul
- Scriptul se execut la apsarea butonului de la mouse
- Scriptul se execut la micarea pointerului de la mouse
- Scriptul se execut la micarea pointerului de pe element
onmouseover
- Scriptul se execut la poziionarea pointerului pe element
onmouseup
- Scriptul se execut la eliberarea butonulu de la mouse
onkeydown
- Scriptul se execut la apsarea unei taste
onkeypress
- Scriptul se execut dup apsarea i eliberarea tastei
onkeyup
- Scriptul se execut la eliberarea tastei
onload
- Scriptul se executa la incarcarea paginii
onunload
- Scriptul se execut la nchidera paginii
Limbajul JavaScript este case sensitive. Folosete constante i variabile care sunt de dou
feluri, globale i locale. Tipurile principale de variabile sunt: number (numar), string (ir de
caractere), Boolean (true/false), array (vector) i undefined (cuvnt cheie ce denot o variabil
neiniializat).
var numar= 11.22; //variabila de tip number
var nume=Radu; //variabila de tip string
var persoane=[Mihai,Alina]; //variabila de tip array
Obiectele JavaScript sunt variabile mai complexe compuse din proprieti (alte variable) i
metode (funcii). Ele pot fi definite de programator sau sunt standard implementate n limbaj cum ar
27
fi obiectul document. Proprietile i metodele pot fi accesate prin : nume_obiect.proprietate
sau nume_obiect.metoda .
[Link](id); //acceseaza metoda getElementById a obiectului
document
Funciile sunt prti de cod reutilizabile. Ele se definesc, apoi sunt apelate (la apelare se
execut partea de cod din definiie). Funciile pot returna sau nu valori, returnarea lor se face prin
folosirea cuvntului cheie return.
Elementele HTML pot fi accesate i chiar modificate cu JavaScript. De asemenea atributele
CSS deoarece devin proprieti ale elementului style care la rndul su este proprietate a
elementului HTML pot fi accesate i modificate.
[Link](text1); //tipareste in interiorul documentului HTML text1
[Link]=20px; //seteaza marimea fontului elementului
myelem la 20 pixeli
28
2.3. Pagini Web dinamice generate pe partea de server - Limbajul PHP
Caracteristicile Paginilor Web dinamice generate pe partea de server (server-side) sunt:
o
o
o
o
o
necesit un procesor pentru paginile dinamice sau un mediu de execuie
ntr-o pagin de script (PHP, ASP) pot fi mbinate limbajul HTML i secvente de cod
secvenele de cod sunt executate pe partea de server nainte de a trimite pagina la client
ofer posibilitatea de interaciune cu baze de date diferite
au acces la toate resursele serverului Web
PHP - Noiuni generale
PHP (Hypertext Preprocesor) este un limbaj de programare server-side, folosit iniial pentru a
produce pagini web dinamice, dar este folosit la scar larg n dezvoltarea paginilor i aplicaiilor
web.
PHP este una dintre cele mai interesante tehnologii existente ,deoarece mbin caracteristici
dintre cele mai complexe cu simplitatea n utilizare, este un limbaj de programare comod pentru
nceptori, chiar i pentru cei care nu au mai desfurat activiti de programare n trecut.
Ca i alte limbaje de scripting pentru Web, PHP permite furnizarea un coninut Web
dinamic, adic un coninut Web care se modific automat de la o zi la alta sau chiar de la un minut
la altul. Coninutul Web este un element important n susinerea traficului unui sit Web; de regul,
vizitatorii nu vor mai reveni la o pagin Web care conine aceleai informaii ca i cele prezentate la
ultima vizit.
Spre deosebire de limbajele de scripting, precum JavaScript, PHP ruleaz pe serverul Web,
nu n browserul Web i. n consecin, PHP poate obine accesul la fiiere, baze de date i alte
resurse inaccesibile programului JavaScript.
PHP este simplu de utilizat, fiind un limbaj de programamre structurat, ca i C-ul, Perl-ul sau
ncepnd de la versiunea 5 chiar Java, sintaxa limbajului fiind o combinaie a celor trei. Datorit
modularitii sale poate fi folosit i pentru a dezvolta aplicaii de sine stttoare sau poate fi folosit
precum Perl sau Python n linia de comand..
PHP poate fi folosit pe aproape toate marile sisteme de operare, incluznd Linux, multe
variante de Unix (HP-UX, Solaris, OpenBSD), Microsoft Windows, Mac OS X, RISC OS. PHP are
de asemenea suport pentru majoritatea serverelor de web din prezent. Acestea includ serverele
Apache, Microsoft Internet Information Server, Personal Web Server, Xitami, OmniHTTPd, i
multe atele. Pentru majoritatea serverelor PHP are un modul, iar pentru celelalte suport standardul
CGI, PHP putnd s lucreze ca un procesor CGI.
Una dintre cele mai puternice i importante faciliti n PHP este suportul su pentru o gam
larg de baze de date. PHP suport i ODBC, standardul Open Database Connection, deci se poate
conecta la orice alt baz de date ce suporta acest standard mondial, conlucrareaaya cu majoritatea
29
bazelor de date relaionale, de la MySQL i pn la Oracle, trecnd prin MS Sql Server,
PostgreSQL, sau DB2.
Gratuitatea este cea mai important caracteristic a PHP-ului. Dezvoltarea PHP-ului sub
licena open-source a determinat adaptarea rapid a PHP-ului la nevoile web-ului, eficientizarea i
securizarea codului.
Tipuri de date
PHP, suporta opt tipuri de date:
Patru tipuri scalare: boolean, integer , float (numere n virgul mobil, sau double) i string.
Dou tipuri compuse: array, obiect.
Dou tipuri speciale: resource, NULL.
Tipul unei variabile, de obicei nu este stabilit de programator, ci este decis la rulare de PHP, n
funcie de contextul n care acea variabil este folosit.
Boolean valori logice de tip adevrat sau false, similare cu cele din C++ sau Perl.
Integer numere ntregi (n baza 10, 2 sau 16). Valoarea maxim depinde de sistem i de tipul
integer. Tipul poate fi signed sau unsigned, adic dependent de semnul + sau sau independent
de acestea. Valorile pentru integer unsigned sunt mai mari decat cele pentru signed. Sistemele pe 32
bii pot crea numere ntregi ntre -2147483648 i 2147483647 (2^31-1). Maximul pentru sisteme pe
64 bii este 9223372036854775807.
Float cunoscute ca numere reale. Valorile maxime sunt de asemenea dependente de
platform, n general cu un maxim de ~1.8e308 cu o precizie de 14 zecimale dup virgul (formatul
64 bits IEEE).
String siruri de caractere. nainte de PHP6, un caracter era echivalent cu un byte. Nu exist
limitri pentru lungimea unui ir, n fara memoriei alocate PHP.
Array n PHP un array este un tip de dat care conine un grup de elemente. Fiecare element
are un indice intern n group, iar fiecarui indice i corespunde o valoare elementul n sine. Un
astfel de grup poate fi folosit ca o simulare pentru diverse situaii matematice precum vectori, serii,
dicionare de elemente, liste ordonate, matrici sau matrici de matrici. Indcii i valorile unui grup pot
fi orice tip de dat intern PHP (cu excepii: obiectele, resursele i null nu pot fi indici).
Obiecte O clasa este o colecie de proprieti i funcii avnd o logica comun. Obiectele
sunt instante ale unei clase, n care proprietile obiectului primesc valori specifice. Vezi POO
programarea orientat pe obiecte.
Resurse acestea sunt variabile speciale care conin legaturi cu resurse externe PHP. De
exemplu, conexiunea cu o baza de date este o resursa deschis i meninuta cu ajutorul unor funcii
special definite pentru aceast munc.
NULL este un tip special de dat , care semnific ca variabila respectiva nu a fost definita si
ca nu are valoare sau valoarea e necunoscuta.
30
Sintaxa
Codul PHP poate fi introdus n orice loc n interiorul documentului HTML, dar trebuie
delimitat de marcajul specific <?php />
Cnd PHP interpreteaz un fiier trece prin textul acestuia pn cnd ntlnete unul din tagurile speciale care i spun s porneasc interpretarea textului ca fiind cod PHP. Mai departe, parserul execut tot codul ntlnit, pn la ntlnirea unui tag PHP de nchidere, care anun trecerea
normal prin text, din nou.
Acest mecanism permite nglobarea codului PHP n interiorul codului HTML: tot ceea ce
este n afara tag-urilor PHP este lsat nemodificat, n timp ce tot ceea ce este n interior este
interpretat ca fiind cod.
Exist patru categorii de tag-uri care pot fi folosite pentru a marca bolcurile de cod PHP.
Dintre acestea, doar dou (<?php. . .?> i <script language="php">. . .</script>) sunt
ntotdeauna disponibile.
Exemplu:
<?php
Echo Hello world!;
?>
Instruciunile sunt separate la fel ca n C sau Perl fiecare instruciune este terminat cu un
semn punct i virgul.
Tag-ul de nchidere implic i sfritul instruciunii, deci urmtoarele dou exemple sunt
echivalente:
<?php
echo "Test";
?>
<?php echo "Test" ?>
PHP suport comentarii de tip 'C', 'C++' i Unix shell. De exemplu:
<?php
echo "Test1"; // Comment pe o linie de tip C++
echo "Test2";
echo " Test3"; # Comment pe o linie de tip Unix shell
?>
Comentariul pe o sigur linie, de fapt realizeaz comentarea codului pn la sfritul liniei
curente sau pn la terminarea blocului curent PHP, oricare din aceste dou cazuri apare primul.
Functii:
PHP are sute de funcii ncorporate i alte cteva mii disponibile prin intermediul extensiilor.
Pe lng acestea programatorul poate crea funcii care s se muleze nevoilor aplicaiei respective.
Dintre funciile de baz folosite i la crearea aplicaiei Biblioteca Digitala se pot enumera:
mysql_connect: se folosete pentru a crea sau reutiliza o conexiune ctre o baz de date
MySQL. Returneaz un identificator MySQL de conexiune sau FALSE dac conexiunea nu poate fi
stabilit. Dac funcia este rulat a doua oar cu aceeai parametrii, a doua conexiune nu se va mai
realiza, fiind returnat identificatorul conexiunii existente. Pentru a crea o a doua conexiune se
folosete cuvntul cheie new_link .
Sintaxa mysql_connect:
resource mysql_connect ([ string $server = ini_get(mysql.default_host)
31
[, string $username = ini_get(mysql.default_user) [, string $password =
ini_get(mysql.default_password) [, bool $new_link = false [, int $client_flags
= 0 ]]]]] )
Exemplu:
$conexiune = mysql_connect($server,$username,$password) or die(Nu se
poate crea o conexiune cu serverul MySQL );
Exemplul realizeaz o conexiune cu un server MySQL identifiat prin numele coninut n
variabila $server folosind credenialele: user=$username, parola=$password. Dac conexiunea nu
reuete, se afieaz mesajul ,,Nu se poate crea o conexiune cu serverul MySQL restul de cod
nemaifiind rulat (dac acesta exist).
mysql_select_db: se folosete pentru a seta o baz de date ca i curent pentru o conexiune
care are asociat un identificator (conexiunea exist). Returneaz TRUE pentru succes i FALSE
pentru eroare.
Sintaxa mysql_select_db:
bool mysql_select_db ( string $database_name [, resource $link_identifier =
NULL ] )
Exemplu:
mysql_select_db($db_name) or die(Baza de Date nu este disponibila);
Exemplul selecteaz baza de date cu numele coninut n variabila $db_name ca i baz de date
curent pentru o conexiune existent. Dac selecia nu reuete, se afieaz mesajul din die i se
oprete execuia restului de cod (dac acesta exist).
mysql_query : se folosete pentru a trimite o singur interogare ctre o baz de date asociat
unei conexiuni. Funcia nu suport interogri multiple. Dac nu exisa conexiune ctre un server
MySQL, se va ncerca crearea unei conexiuni n prealabil, conexiune identic cu apelul funciei
mysql_connect() fr parametrii. Rezultatul funciei este o resurs pentru operaiile MySQL care
returneaz un set de rezultate ( cum ar fi SELECT, SHOW, DESCRIBE, EXPLAIN, etc.), TRUE
pentru celelalte operaii (cum ar fi INSERT, UPDATE, DELETE, DROP) si FALSE n caz de eroare
sau dac userul nu are drepturi pentru a accesa tabelul.
Sintaxa mysql_query :
resource mysql_query ( string $query [, resource $link_identifier = NULL ])
Exemplu :
$rezultat1 = mysql_query(select * from persoane) or die(Executie select
fara succes);
Presupunem c tabelul persoane exist i are date populate. Exemplul stocheaz n resursa
$rezultat1 reyultatul operaiei MySQL: select * from persoane. Dac operaia MySQL nu se execut
cu succes rezultat se afieaz mesajul din die i se oprete execuia de cod (dac acesta exist).
32
mysql_num_rows: se folosete pentru a obine numrul de linii dintr-un set de rezultate. Se
poate folosii doar n cadrul operaiilor SELECT sau SHOW, acestea fiind singurele care aduc un set
de rezultate practic. n caz de eroare rezultatul este FALSE.
Sintaxa mysql_num_rows:
int mysql_num_rows ( resource $result )
Exemplu:
$nr_randuri = mysql_num_rows($rezultat1);
Exemplul se execut dup exemplul de la mysql_query i stocheaz n variabila $nr_randuri
numrul de rnduri din setul de rezultate stocat n variabla $rezultat1.
mysql_fetch_array: se folosete pentru a descarc continutul unei liniidin setul de rezultate din
resursa ntr-un vector. Returneaz FALSE dac nu mai sunt linii de descrcat n setulde rezultate.
Vectorul poate fi accesat folosind indexul numeric sau indexul ir de caractere care are ca i valori
numele coloanelor sau aliasurile lor dac sunt folosite aliasuri. Pentru a evita cazurile n care exist
dou coloane n setul de rezultate cu acelai nume, caz n care informaia din vector pentru a doua
coloan nu poate fi accesat folosind indexul ir de caractere se recomand folosirea indexului
numeric.
Sintaxa mysql_fetch_array :
array mysql_fetch_array ( resource $result [, int $result_type = MYSQL-both ] )
Exemplu:
while ($rand = mysql_fetch_array($resultat1)) {
printf(ID: %s Nume: %s Prenume
$rand2[2]);
}
: %s , $rand[0], $rand[1],
Exemplul se execut dup exemplul de la mysql_query i descarc i tiprete linie cu linie
coninutul resursei $rezultat1.
mysql_close : se folosete pentru a nchide o conexiune ctre serverul MySQL care are asociat
un identificator. Dac identificatorul nu este trimis ca paramateru, ultima conexiune deschis va fi
nchis. Folosirea acestei funcii nu este obligatorie deoarece la sfaritul execuiei scriptului toate
conexiunile se nchid. Returneaz TRUE n caz de succes i FALSE n caz de eroare.
Sintaxa mysql_close:
bool mysql_close ([ resource $link_identifier = NULL ] )
Exemplu:
mysql_close($conexiune);
Exemplul se execut dup exemplul de la mysql_connect i nchide conexiunea cu
identificatorul $conexiune.
die: se folosete pentru a ntrerupe execuia scriptului. Este similar cu exit().
33
Sintaxa die:
void die ([ string $status] )
session_start: se folosete pentru a crea o sesiune sau pentru a rezuma o sesiune curent
bazndu-se pe un identificator de sesiune trimis prin GET, POST sau cu ajutorul unui cookie.
Returneaz TRUE n caz de succes i FALSE la eroare.
Sintaxa session_start :
bool session_part ( void )
Exemplu:
session_start();
session_destroy: se folosete pentru a distruge toate informaiile din sesiunea curent.
Returneaz TRUE n caz de succes i FALSE la eroare.
Sintaxa session_destroy:
bool session_destroy ( vod );
Exemplu:
session_destroy();
isset: se folosete pentru a verifica dac o variabil exist i are setat o valoare diferit de
NULL. Retruneaz TRUE dac variabila exist i are o valoare diferita de NULL sau FASE dac
variabila nu exist sau are valoare NULL. Dac se trimit mai multe variabile ca parametru
verificarea va ncepe de la stnga spre dreapta n lista de variabile i se va opri la prima variabil
setat pe NULL sau inexistent returnnd FALSE ca i rezultat.
Sintaxa isset:
bool isset ( mixed $var [, mixed $ ] )
mail: se folosete pentru a trimite e-mailuri. Returneaz TRUE dac e-mailul a fost acceptat
pentru trimitere sau FALSE n caz contrar. Dac un e-mail a fost acceptat pentru trimitere nu
nseamna neaparat ca el va i ajunge la destinaia dorit, serverul de e-mail (configurat n [Link])
ocupndu-se de transmisia efectiv.
Sintaxa mail:
bool mail ( string $to , string $subiect , string $message [, string
$additional_headers [, string $additional_parameters ]] )
Exemplu:
$destinatar=destinatie@[Link];
$expeditor=expeditor@[Link];
34
$subiect=e-mail de test;
$mesaj=<html>
<body bgcolor=#FAFAFA>
<font style=color:#4F4F4F;>
Buna ziua, <br/>
Acesta este un email de test
</font>
</body>
</html>;
$headers=From: $expeditor\r\n ;
$headers .= Content-type: text/html\r\n;
mail($destinatar, $subiect, $message, $headers);
Exemplul trimte un email cu titlul $subiect din partea $expeditor ctre $destinatar cu mesajul
$mesaj.
move_upload_file: se folosete pentru a muta un fiier ncarcat prin POST din locaia de
POST n calea dorit. Funcia verific prima dat dac fiierul a fost corect ncarcat prin HTTP
POST i abia apoi mut fiierul n noua locatie. Returneaz TRUE dac mutarea se face cu succes
sau FALSE daca verificarea sau mutarea este eronata.
Sintaxa move_upload_file:
bool move_upload_file ( string $filename , string $destination )
Exemplu:
move_upload_file($_FILES[uploadedfile][tmp_name],
path1/.$_FILES[uploadedfile][name]) or die(mutarea a esuat);
Exemplul mut fiierul ncrcat n calea path1 din directorul curent pstrnd numele de
ncrcare. Directorul path1 trebuie s existe. n caz de eroare scriptul iese cu mesajul ,,mutarea a
euat.
unlink: se folosete pentru tergerea fiierelor. Returneaz TRUE dac tergerea s-a efectuat cu
succes i FALSE n caz contrar.
Sintaxa unlink:
bool unlink ( string $filename [, resource $context ] )
Exemplu:
unlink (path1/[Link]) or die(tergerea a euat);
Exemplul terge fiierul [Link] din calea path1 din directorul curent. n caz de eroare
scriptul iese cu mesajul ,,tergerea a euat.
35
2.4. Baze De Date - MySQL
Noiuni generale
n sensul cel mai larg, o baz de date (database) este o colecie de date corelate din punct de
vedere logic, care reflect un anumit aspect al lumii reale i este destinat unui anumit grup de
utilizatori. O baz de date poate fi creat i meninut manual (de exemplu, fiele de eviden a
crilor dintr-o bibliotec, aa cum erau folosite cu ani n urm) sau computerizat, ceea ce reprezint
obiectul lucrrii de fa.
O baz de date trebuie s asigure:
abstractizarea datelor (baza de date fiind un model al realitii),
integrarea datelor (baza de date este un ansamblu de colecii de date intercorelate, cu
redundan controlat),
integritatea datelor (se refer la corectitudinea datelor ncarcate i manipulate astfel nct
s se respecte restriciile de integritate),
securitatea datelor (limitarea accesului la baza de date),
partajarea datelor (datele pot fi accesate de mai muli utilizatori, eventual n acelai timp),
independena
datelor
(organizarea datelor s fie transparent pentru utilizatori,
modificrile n baza de date s nu afecteze programele de aplicaii).
MySQL este un sistem de gestiune a bazelor de date relaional,produs de compania suedeza
MySQL AB i distribuit sub Licena Public General GNU. Este cel mai popular SGBD (Sisteme
de Gestiune a Bazelor de Date) open-source la ora actual, fiind o component cheie a stivei LAMP
(Linux, Apache, MySql, PHP).
Dei este folosit foarte des mpreun cu limbajul de programare PHP, cu MySQL se pot
construi aplicaii aproape n orice limbaj. Exist multe scheme API disponibile pentru MySQL ce
permit scrierea aplicaiilor n numeroase limbaje de programamre pentru accesarea bazelor de date
MySQL, cum ar fi: C, C++, C#, Java, Perl, PHP, Python, FreeBasic, etc. O interfaa de tip ODBC
denumit MyODBC permite altor limbaje de programare ce folosesc aceast interfa, s
interacioneze cu bazele de date MySQL cum ar fi ASP sau Visual Basic.
Licena GNU GPL nu permite ncorporarea MySQL n softuri comerciale, pentru acestea
existnd contra cost o licent comercial.
MySQL este component integrat a plaformelor WAMP (Linux/Windows-Apache-MySQLPHP/Perl/Python). Popularitatea sa ca aplicaie web este strns legat de cea a PHP-ului care este
adesea combinat cu MySQL i denumit Duo-ul Dinamic.
Pentru a administra bazele de date MySQL se poate folosi modul linie de comand sau, prin
descrcare de pe internet, o interfa grafic: MySQL Administrator i MySQL Query Browser. Un
alt instrument de management al acestor baze de date este aplicaia gratuit , scris n PHP,
phpMyAdmin.
36
MySQL poate fi rulat pe mai multe dintre platformele software existente: AIX, FreeBSD,
GNU/Linux, Mac OS X, NetBSD, Solaris, SunOS, Windows 9x/NT/2000/XP/Vista/7.
MySQL Database Software este un sistem client/server ce const ntr-un server MySQL
multithreaded care suport diferite programe client i biblioteci, unelte administrative i o gam
larg de interfee pentru programarea aplicaiilor (Application Programming Interfaces APIs)
Cteva dintre caracteristicile de baz ale MySQL sunt:
- Funcioneaz pe diferite platforme
- Dispune de API pentru C, C++, Eiffel, Java, Perl, PHP, Pyton, Ruby i Tcl
- Complet multi-threaded folosind thread-uri de kernel. Acest lucru nseamn c poate lucra cu
uuin pe mai multe procesoare dac sunt disponibile
- Un sistem de alocare a memoriei foarte rapid i bazat pe thread-uri
- Folosete tabele temporare stocate n memorie
- Funciile SQL sunt implementate folosind o bibliotec de clase optimizat i sunt foarte rapide.
De obicei, nu are loc alocare a memoriei dup iniializarea interogrilor.
- Serverul este disponibil ca program separat ce poate fi folosit ntr-un mediu de reea de tip
client/server. De asemenea, este disponibil i ca bibliotec ce poate fi inclus n aplicaii de
sine stttoare
- Ofer motoare tranzacionale i non-tranzacionale de stocare a datelor
Administrarea bazelor de date MySQL
CREATEDATABASE: creaz o baz de date cu un nume dat. O baz de date n MySQL este
implementat ca un director care conine fiiere ce corespund la tabelele din baza de date. Deoarece
nu exist tabele nr-o baz de date atunci cnd este creata iniial, declaraia CREATEDATABASE
creeaz numai un director n directorul de date MySQL i fisierul [Link] .
Dac se creaz manual un fiier n directorul de date MySQL , serverul l va considera ca i
director de baz de date i l va afia prin comanda SHOWDATABASES.
Sintaxa CREATE :
CREATE{DATABASE|SCHEMA}{IFNOTEXIST}db_name
[create_specification]
create_specification:
[DEFAULT]CHARACTERSET[=]charset_name
|[DEFAULT]COLLATE[=]collation_name
Exemplu:
CREATEDATABASEDB1;
Exemplul creaz o baza de date cu numele DB1.
37
DROPDATABASE: terge o baz de date cu un nume dat. Dup tergerea unei baze de date
trebuiesc terse i privilegiile asupra bazei de date deoarece acestea nu se terg automat. Rezultatul
funciei DROP reprezint numrul de tabele care au fost terse. Funcia DROP n general terge
toate fiierele i directoarele din directorul bazei de date i respectiv pe acesta. Dac cumva nu se
reuete tergerea tuturor fiierelor sau a directoarelor din directorul bazei de date se recomand
tergerea lor manual i rerularea comenzii DROPDATABASE.
Syntaxa DROP :
DROP{DATABASE|SCHEMA}[IFEXIST]db_name
Exemplu:
DROPDATABASEDB1;
Exemplul terge baza de date cu numele DB1.
CREATETABLE : creaz un tabel cu un nume dat ntr-o bazade date. User-ul trebuie s aibe
privilegii de tip CREATE pentru a putea executa operaia. n mod implicit tabela este creat pe baza
de date selectat sau cea implicat dac nu a fost selectat n prealabil o baz de date. Numele poate
fi scris sub forma nume_db.nume_tabel pentru ca tabela s se creeze n baza de date nume_db .
Dac se folosesc identificatori citai , atunci numele bazei de date i cel al tabelei ar trebui citai
separat: nume_db.nume_tabel.
Cuvntul cheie TEMPORARY se foloseste pentru a crea tabele temporare. Un tabel temporar
este vizibil doar pe sesiunea curent, fiind ters la nchiderea sesiunii. Asta nseamn c dou
sesiuni pot avea acelai nume de tabel temporar dar cu coninut diferit. Tabelele temporare pot avea
acelai nume cu un tabel normal existent ( tabelul existent fiind ascuns pn la tergerea celui
temporar). Pentru a crea tabele temporare sunt necesare drepturi de CREATE TEMPORARY
TABLES .
MySQL reprezint fiecare tabel printr-un fiier de tipul forma de tabel cu extensia .frm n
directorul bazei de date. Motorul de stocare folosit poate crea i alte fiiere pentru tabelul respectiv (
de exemplu MyISAM creaz fiierele .MYD pentru date i .MYI pentru indeci ).
Sintaxa CREATETABLE :
CREATE[TEMPORARY]TABLE[IFNOTEXIST]tbl_name
[(create_definition,)]
[table_options]
[partition_options]
select_statement
Exemplu:
CREATETABLEpersonal(
varstaINT,
numeVARCHAR(30),
prenumeVARCHAR(30)
);
Exemplul creaz un tabel cu numele persoane i trei coloane: varsta, nume, prenume.
38
SELECT : aduce pentru vizualizare date din una sau mai multe tabele. Este necesar ca cel
puin o coloan (sau data) s fie cerute pentru afiare n operaia SELECT. Operaia SELECT poate
fi folosit i pentru a afia linii calculate fr a se face referire la vreun tabel. n aceste cazuri se
poate face referire la DUAL ca i nume de tabela dummy.
Sintaxa SELECT:
SELECT
[ALL|DISTINCT|DISTINCTROW]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT][SQL_BIG_RESULT][SQL_BUFFER_RESULT]
[SQL_CACHE|SQL_NO_CACHE][SQL_CALC_FOUND_ROWS]
select_expr[,select_expr]
[FROMtable_preferences
[WHEREwhere_condition]
[GROUPBY{col_name|expr|position}
[ASC|DESC],[WITHROLLUP]]
[HAVINGwhere_condition]
[ORDERBY{col_name|expr|position}
[ASC|DESC],]
[LIMIT{[offset,]row_count|row_countOFFSEToffset}]
[PROCEDUREprocedure_name(argument_list)]
[INTOOUTFILEfile_name
[CHARACTERSETcharset_name]
export_option
|INTODUMPFILEfile_name
|INTOvar_name[,var_name]]
[FORUPDATE|LOCKINSHAREMODE]]
Exemplu:
SELECT*FROMpersonal;
SELECT1+1;
SELECT1+1FROMDUAL;
Primul exemplu afieaza toate datele din tabelul personal. Al doilea exemplu afieaza 2. Al
treilea exemplu afiseaza 2.
INSERT: se foloseste pentru a introduce rnduri noi ntr-o tabel existent. Pentru a introduce
linii bazate pe valori explicite se folosete sintaxa INSERTVALUESsau INSERTSET.
Pentru a introduce valori din alte tabele se folosete sintaxa INSERTSELECT.
Sintaxa 1 INSERT :
INSERT[LOW_PRIORITY|DELAYED|HIGH_PRIORITY][IGNORE]
[INTO]tbl_name[(col_name,)]
{VALUES|VALUE}({expr|DEFAULT},),(),
[ONDUPLICATEKEYUPDATE
col_name=expr
[,col_name=expr]]
39
Sintaxa 2 INSERT :
INSERT[LOW_PRIORITY|DELAYED|HIGH_PRIORITY][IGNORE]
[INTO]tbl_name
SETcol_name={expr|DEFAULT},
[ONDUPLICATEKEYUPDATE
col_name=expr
[,col_name=expr]
Sintaxa 3 INSERT :
INSERT[LOW_PRIORITY|HIGH_PRIORITY][IGNORE]
[INTO]tbl_name[(col_name,)]
SELECT
[ONDUPLICATEKEYUPDATE
col_name=expr
[,col_name=expr]
Exemplu:
INSERTINTOpersonal(varsta,nume,prenume)VALUES(50,popescu,ion);
INSERTINTOpersonalSETvarsta=40,nume=popescu,prenume=maria;
INSERTINTOpersonal1(varsta,nume,prenume)SELECT*FROMpersonal;
S presupunem c tabelele personal i personal1 exist i au structura tabelului din exemplul
CREATETABLE. Primul exemplu adaug persoana popescu ion cu varsta 50 n tabelul personal.
Al doilea exemplu adaug persoana popescu maria cu varsta 40 n tabelul personal. Al treilea
exemplu copiaz datele din tabelul personal n tabelul personal1.
UPDATE: se folosete pentru a modifica date dintr-o tabel existent. Clauza SET indic care
coloana se va modifica i valoarea cu care va fi modificat. Valoarea poate fi i o expresie sau
cuvntul cheie DEFAULT pentru a seta coloana la valoarea sa explicit. Clauza WHERE specific
condiiile de identificare a rndurilor care trebuiesc modificate. Daca WHERE lipsete toate rndurile
vor fi modificate. ORDER BY specific ordinea n care se vor face modificrile,iar LIMIT
limiteaz numrul de rnduri la care s se fac modificrile.
Sintaxa UPDATE :
UPDATE[LOW_PRIORITY][IGNORE]table_reference
SETcol_name1={expr1|DEFAULT}[,col_name2={expr2|DEFAULT}]
[WHEREwhere_condition]
[ORDERBY]
[LIMITrow_count]
Exemplu:
UPDATEpersonalSETvarsta=45WHEREprenume=maria;
S presupunem c tabelul personal exist i are structura tabelului din exemplul de la CREATE
TABLEi datele de la exemplul INSERT. Linia cu prenumele maria va avea varsta schimbat din
40 n 45.
40
DELETE: se folosete pentru a terge linii dintr-o tabel existent i returneaz numrul de
linii terse. Clauza WHERE specific condiiile de identificare a rndurilor care se doresc a fi terse.
Dac WHERE lipsete toate rndurile vor fi terse. ORDERBY specific ordinea n care se vor
terge rndurile, iar LIMIT limiteaz numrul de rnduri care s fie terse.
Sintaxa DELTE :
DELETE[LOW_PRIORITY][QUICK][IGNORE]FROMtbl_name
[WHEREwhere_condition]
[ORDERBY]
[LIMITrow_count]
Exemplu:
DELETEFROMpersonalWHEREvarsta=50;
S presupunem c tabelul personal exist i are structura tabelului din exemplul de la CREATE
TABLE i datele de la exemplul INSERT. Exemplul de mai sus va terge linia cu varsta 50 (numele
popescu, prenumele ion) din tabela personal.
DROPTABLE : se folosete pentru a terge unul sau mai multe tabele. Sunt necesare drepturi
de DROP pentru fiecare tabel. Dac se specific o list de tabele pentru tergere i unul din tabele
nu poate fi ters, MySQL returneaz o eroare indicnd numele tabelului care nu a fost ters, dar
terge tabelele din list care pot fi terse. Cuvntul cheie TEMPORARY se folosete pentru a terge
tabelele temporare. La tergerea unei tabele nu se terg drepturile userilor pentru acel [Link]
tergere sunt terse fiierele care au fost create n directorul bazei de date pentru tabelul respectiv.
RESTRICT i CASCADE sunt permise pentru a face portarea mai uoar. n MySQL 5.1 nu au
nicio funcionalitate.
Sintaxa DROPTABLE:
DROP[TEMPORARY]TABLE[IFEXIST]
tbl_name[,tbl_name]
[RESTRICT|CASCADE]
Exemplu:
DROPTABLEpersonal;
S presupunem ca tabelul personal exist i are structura tabelului din exemplul de la CREATE
TABLE. Exemplul de mai sus terge tabelul personal.
41
Bibliografie
1. Teodoru Gugoiu, HTML prin exemple, Editura TEORA , 2003
42
2. Teodoru Gugoiu, HTML, XHTML CSS si XML prin Exemple Ghid practic, Editura
TEORA, 2005, traducere Radu Biri
3. Tom Negrino, Dori Smith, JavaScript PENTRU WOLRD WIDE WEB Ghid de nvare
rapid prin imagini, Editura Corint, 2004, traducere Oana Pun, Dan-Andrei Dimitriu
4. Chip Kompakt, CSS Tehnici eseniale nva prin exemple practice, Editura 3 D Media
Comunications, 2012
5. Jim Keogh, JavaScript fr mistere - Ghid pentru autodidaci, Editura Rosetti Educational,
2006
6. Vikram Vaswani, MySQL. Utilizarea i administrarea bazelor de date MySQL, Editura
Rosetti Educational, 2010
7. Steven Holyner, Iniiere n PHP 5, Editura TEORA, 2005
8. Traian Anghel, manualul tu de PHP, Editura Albastr, 2012
9. Michael Glass, Yan Le Scouarnec, Elizabeth Naramore, Gary Mailer, Jeremy Stolz, Jason
Gerner, Beginning PHP, Apache, MySQL Web Development, 2004, Wiley Publishing Inc
10. [Link]
11. [Link]
12. [Link]
13. [Link]
14. [Link]
15. [Link]
16. [Link]
17. [Link]
18. [Link]
19. [Link]
20. [Link]
43