Date post: | 14-Jul-2015 |
Category: |
Documents |
Upload: | liana-chenderes |
View: | 134 times |
Download: | 0 times |
of 213
Cuprins 2.3.2 Structura unei pagini .................................................................................. 3 2.3.3 Paragrafe. Atribute ale unui tag ................................................................. 4 2.3.4 Elemente pentru formatarea textului.......................................................... 5 2.3.5 Liste ........................................................................................................... 8 2.3.6. Imagini .................................................................................................... 12 2.3.7. Specificarea culorilor n HTML. ............................................................ 17 2.3.8. Tabele...................................................................................................... 18 2.3.9 Legturi (link-uri) .................................................................................... 23 2.3.10. Elemente de structur (HTML, HEAD, BODY). ................................. 26 2.3.11. Pagini cu cadre (FRAMESET, FRAME, IFRAME). ........................... 29 2.3.12. Bare de separare (HR)........................................................................... 35 2.3.13 Formulare ............................................................................................... 36 2.4. Extinderi ale limbajului HTML standard: HTML dinamic, script-uri. .......... 43 2.4.1. CSS (Cascading Style Sheets). ............................................................... 44 2.4.2 JavaScript ................................................................................................. 47 2.4.3. DOM (Document Object Model). ........................................................... 50 3. Limbajul PHP ....................................................................................................... 57 3.1. Introducere scurt istoric al apariiei limbajului PHP; mod de funcionare. 57 3.2. Cerine tehnice pentru rularea limbajului ...................................................... 58 3.3. Testarea instalrii. Structura unui fiier PHP. ................................................ 60 3.4. Constante. Variabile. Operatori. Afiarea datelor. ......................................... 64 3.5. Instruciuni ale limbajului PHP...................................................................... 70 3.5.1. Instruciunea expresie. ............................................................................ 70 3.5.2. Instruciunea bloc (se mai numete i compus). ................................... 70 3.5.3. Instruciunea if. ....................................................................................... 71 3.5.4. Instruciunea while. ................................................................................. 71 3.5.5. Instruciunea do...while. .......................................................................... 72 3.5.6. Instruciunea for. ..................................................................................... 73 3.6. Transmiterea datelor prin intermediul formularelor. ..................................... 73 3.7. Funcii n PHP. ............................................................................................... 84 3.8. Prelucrarea irurilor de caractere. .................................................................. 88 3.9. iruri (masive) n PHP. .................................................................................. 93 3.10. Upload de fiiere via PHP. ........................................................................... 97 3.11. Programare grafic utiliznd PHP. ............................................................ 100 3.12. Exploatarea bazelor de date MySQL prin intermediul limbajului PHP. ... 106 3.12.1. Introducere n MySQL. ....................................................................... 106 3.12.2. Testarea instalrii MySQL. Configurarea bazei de date. .................... 107 3.12.3. Crearea unei baze de date. .................................................................. 109 3.12.4. Tabele.................................................................................................. 110 3.12.5. Tipuri de date n MySQL. ................................................................... 113
3.12.6. Operatori utilizai n MySQL. Variabile. ............................................ 116 3.12.7. Funcii predefinite n MySQL............................................................. 120 3.12.8. Coloane calculate prin intermediul unei interogri............................. 122 3.12.9. Valoarea NULL. ................................................................................. 124 3.12.10. Valori implicite pentru coloanele unei tabele. .................................. 125 3.12.11. Cheie primar i cheie unic. ............................................................ 125 3.12.12. Coloane cu valori de tip autoincrementare. ...................................... 127 3.12.13. Sortarea datelor. ................................................................................ 128 3.12.14. Filtrarea datelor. ................................................................................ 129 3.12.15. Actualizarea datelor. ......................................................................... 129 3.12.16. Funcii agregate................................................................................. 131 3.12.17. Subinterogri. .................................................................................... 132 3.12.18. Gruparea datelor. .............................................................................. 133 3.12.19. Uniuni de tabele. ............................................................................... 134 3.12.20. Exploatarea bazelor de date MySQL utiliznd limbajul PHP. ......... 140 4. ASP.NET ............................................................................................................ 145 4.1. Limbajul de scripting ASP.NET (server-side) ............................................. 147 4.1.1. Structura unei pagini ASP.NET ............................................................ 147 4.1.2 Controale ASP.NET............................................................................... 149 4.1.3. Ciclul de via a unei pagini web .......................................................... 150 4.2. Modelul client-server ................................................................................... 151 4.2.1. Controalele server web ......................................................................... 151 4.2.2. Post Back .............................................................................................. 158 4.2.3. Controale pentru validarea datelor ........................................................ 158 4.2.4. Controale server web avansate ............................................................. 160 4.2.5. Conectarea la o surs de date a controalelor ......................................... 162 4.2.6. Pstrarea informaiilor ntre paginile Web............................................ 163 4.3. Interaciunea cu baza de date web ............................................................... 164 4.3.1. Rolul bazelor de date ............................................................................ 164 4.3.2. Accesarea bazelor de date web ............................................................. 165 4.3.3. Proiectarea bazelor de date ................................................................... 167 4.3.4. Accesul direct la date prin intermediul ADO.NET............................... 170 4.3.5. Crearea unei conexiuni ......................................................................... 170 5. Aplicaii practice i metodologice ...................................................................... 174 5.1. Prelucrarea irurilor de caractere ................................................................. 174 5.2. Backtracking ................................................................................................ 176 5.3. Divide et impera........................................................................................... 181 5.4. Cifrele unui numr, numere prime, factori primi ......................................... 183 5.5. Probleme propuse pentru atestat (SGBD) .................................................... 187
2.3.2 Structura unei pagini Pagina ex1.html este primul exemplu si are urmtorul coninut:
Rezultatul interpretrii acestui cod de ctre Mozilla Firefox este urmtorul:
Observm c: O pagin ncepe ce tag-ul i se termin cu tag-ul ; O pagin conine un antet (HEAD) i corpul propriu-zis (BODY); Antetul este cuprins ntre etichetele i ; Corpul este cuprins ntre etichetele i ; Opional, antetul poate conine titlul paginii, cuprins ntre tag-urile i . Titlul apare pe bara de titlu a ferestrei afiate n browser. Corpul poate conine texte i/sau imagini. n exemplu, pagina conine textul Acesta este primul exemplu de pagina...
Comentariile, care nu sunt afiate de ctre browser, pot fi scrise ntre tagurile . Numele tag-urilor nu sunt case sensitive, deci pot fi scrise att cu litere mici ct i cu litere mari.
2.3.3 Paragrafe. Atribute ale unui tag n general, textele coninute de o pagin se pot gsi n mai multe paragrafe. Un paragraf se introduce ntre tag-urile ... . La afiare, dou paragrafe consecutive vor fi separate printr-o linie goal. Tag-ul poate lipsi; un nou paragraf poate fi detectat prin tag-ul . n cadrul unui fiier HTML, enter-ul nu are nici un efect. De asemenea, dac dou cuvinte ale unui paragraf sunt separate prin mai multe spaii sau alte caractere albe (enteruri, tab-uri), browser-ul afieaz doar un singur spaiu. Majoritatea tag-urilor accept atribute. Acestea determin comportamentul mai amnunit al elementului respectiv. Un atribut se specific nainte de nchiderea parantezei unghiulare a tag-ului (>) prin: nume_atribut=valoare. n cazul paragrafului, atributul align controleaz alinierea textului din cadrul paragrafului. Dac acest atribut nu este prezent, alinierea este fcut n mod implicit la stnga. Acest atribut poate lua una dintre valorile center, left, right, justify, dup cum arat exemplul urmtor.
Alinierea paragrafelor Aliniat in centru Aliniat la dreapta Aliniat la stinga Paragraf aliniat justify
Rezultatul acestui cod (ex002.html) este interpretat de Mozilla Firefox n modul urmtor:
2.3.4 Elemente pentru formatarea textului
: Are ca efect forarea afirii a ceea ce urmeaz pe rndul urmtor.
Acest tag nu creeaz un nou . ... : Are rolul de a afia bold
(ngroat) textul cuprins ntre cele dou taguri ale sale. Un tag
sinonim al lui este: ..., ... : Are rolul de a afia italic
(nclinat) textul cuprins ntre cele dou tag-uri ale sale. Tag-uri
sinonime ale lui sunt: ...,...,..., ... : Are rolul de a afia
subliniat textul cuprins ntre cele dou tag-uri ale sale. Un tag
sinonim al lui este: ..., ... : Are rolul de a afia tiat (cu o
linie orizontal) textul cuprins ntre cele dou tag-uri ale sale. Un
tag sinonim al lui este: ..., ... : Are rolul de a afia textul
cuprins ntre cele dou tag-uri ale sale mai mare dect textul n care
este cuprins. ... : Are rolul de a afia textul cuprins ntre cele
dou tag-uri ale sale mai mic dect textul n care este cuprins. ... :
Are rolul de a afia textul cuprins ntre cele dou tag-uri ale sale
mai sus (ca o putere) ... : Are rolul de a afia textul cuprins ntre
cele dou tag-uri ale sale mai sus (ca un indice) ... : Are rolul de
a afia textul cuprins ntre cele dou tag-uri ale sale mai sus
monospaiat (toate caracterele ocup aceeai lungime practic, se
folosete fontul Courier New)n cod-ul HTML de mai jos gsii toate
aceste tag-uri exemplificate (ex003.html): Formatare text Text
folosind tag-ul B
Text folosind tag-ul STRONG
Text folosind tag-ul I
Text folosind tag-ul DFN
Text folosind tag-ul EM
Text folosind tag-ul U
Text folosind tag-ul INS
Text folosind tag-ul S
Text folosind tag-ul DEL
Normal Mai mare Normal
Normal Mai mic Normal
Exponent exponent
Indice indice
Text monospatiat Codul interpretat de Mozilla Firefox:Pentru
scrierea titlurilor se utilizeaz tag-urile ..., ..., . . . , ....
Practic, n funcie de numrul de dup H mrimea fontului difer (
utilizeaz fontul de dimensiune maxim, fontul de dimensiune minim)
iar textul care apare ntre tag-uri este scris ngroat (bold).Pentru
stabilirea font-ului se folosete tag-ul .... Atributele acestuia
sunt: o face indic numele font-ului o size indic mrimea (trebuie s
fie un numr cuprins ntre 1 i 7. Implicit este 3) o color permite
specificarea culorii. Aceasta se specific fie prin intermediul
constantelor predefinite ale HTML-ului (numele englezesc al
culorii) fie prin componentele sale de Rou, Verde i Albastru
exprimate n hexazecimal, de forma #RRGGBB.Iat un exemplu de
utilizare al lor (ex004.html): Exemplificare titluri si font Acesta
este un titlu de tip H1 Acesta este un titlu de tip H2 Iar acesta
este un titlu de tip H3 Acest text este scris cu fontul Arial,
albastru, dimensiune 4
Iar acest text este scris normal
Iata si culorile cucubeului, scrise cu font-ul Comic Sans MS, bold,
dimensiune 7:
R O G V A I V Vizualizat n browser:Aa cum am vzut, dac n cadrul
unui text din cadruldocumentului HTML apare un grup de mai multe
spaii, n browser va fi afiat doar unul singur. Dac dorim forarea
afirii unui spaiu, se folosete identificatorul special (ultimul
caracter, ;, face parte din identificator)2.3.5 Liste Acestea
permit ca anumite enunuri (texte, elemente) s fie numerotate sau
marcate ntr-un anumit fel. O astfel de organizare poart numele de
liste.n HTML distingem 3 feluri de liste: Liste ordonate (Ordered
Lists): sunt liste n care elementele sunt numerotate. Inserarea lor
n cadrul documentului HTML se face prin tag-urile ..., elementele
(itemii) lor fiind introduse ntre aceste dou tag-uri prin ...
(tag-ul de sfrit nefiind obligatoriu). Implicit, numerotarea se
face cu numere arabe (1, 2, 3, ...). Ea poate fi modificat prin
folosirea atributului type n cadrul tag-ului OL. Acesta poate lua
una dintre valorile: o a : numerotarea se va face cu litere mici
(a, b, c, ...) o A : numerotarea se va face cu litere mari (A, B,
C, ...) o i : numerotarea se va face cu numere romane mici (i, ii,
iii, iv ...) o I : numerotarea se va face cu numere romane mari (I,
II, III. IV, ...) o 1 : (implicit) numerotarea se va face cu numere
arabe obinuite (1, 2, 3, ...) Iat un exemplu de cod i vizualizarea
sa n browser (ex005.html): Liste Iata o lista ordonata implicita:
Primul item Al doilea item Al treilea item Al patrulea item Iata si
o alta lista, cu numere romane Primul item Al doilea item Al
treilea item Al patrulea item Liste neordonate (Unordered Lists):
sunt liste n care elementele nu sunt numerotate, ci n dreptul
fiecruia este afiat un marcator. Inserarea lor n cadrul
documentului HTML se face prin tag-urile
...,elementele (itemii) lor fiind introduse ntre aceste dou
tag-uri prin ... (tag-ul de sfrit nefiind obligatoriu). Implicit,
marcarea lor se face prin cerculee pline. Ea poate fi modificat
prin folosirea atributului type n cadrul tag-ului UL. Acesta poate
lua una dintre valorile: o disc : marcarea se face cu cerculee
pline (implicit) o square : marcarea se face cu ptrele o circle :
marcarea se face cu cerculee goaleIat un exemplu de cod i
vizualizarea sa n browser (ex006.html): Liste Iata o lista
neordonata implicita: Primul item Al doilea item Al treilea
item Al patrulea item Iata si o alta lista, marcata cu
patratele Primul item Al doilea item Al treilea item Al
patrulea item Si alta, marcata cu cerculete goale Primul
item Al doilea item Al treilea item Al patrulea item Liste de
definiie (Definition Lists): au rolul de a descrie o list de
definiii. Inserarea lor n cadrul documentului HTML se face prin
tag-urile ....Elementele lor sunt de dou tipuri: o Termenul care
este definit: este introdus ntre tag-urile ... (tag-ul de sfrit
nefiind obligatoriu). o Definiia propriu-zis: este introdus ntre
tag-urile ... (tagul de sfrit nefiind obligatoriu). Iat un exemplu
de cod i vizualizarea browser (ex007.html): Liste Iata o lista de
definitie: Curentul electric reprezinta deplasarea dirijata a
sarcinilor electrice. Exista doua marimi fizice care caracterizeaza
curentul electric: intensitatea curentului electric is densitatea
de curent Intensitatea curentului electric numita adesea, curent
electric, caracterizeaza global curentul masurand cantitatea de
sarcina electrica ce trabate sectiunea considerata in unitatea de
timp. Se masoara in amperi Densitatea de curent sa neste o marime
vectoriala Asociata fiecarui punct, intensitatea curentului
regasindu-se ca integrala pe intreaga sectiune a conductorului din
densitatea de curent. Se masoara in amperi pe metru patrat. 2.3.6.
Imagini Tag-ul utilizat pentru inserarea unei imagini este . Forma
general a acestui element este . Acest tag nu are i form de
nchidere. Atributele sale sunt: src identific fiierul efectiv de pe
disc, ce conine imaginea respectiv. Dac imaginea se afl n
directorul curent, se specific doar numele i extensia sa. Dac se
afl ntr-un subdirector, acesta se specific naintea numelui i
extensiei imaginii, separat prin caracterul /. Imaginile
recunoscute de majoritatea browser-elor internet sunt de tip .jpg,
.gif, .png align specific tipul de aliniere al imaginii n raport cu
textul n cadrul cruia se afl. Acesta poate lua una dintre valorile
urmtoare: o right : imaginea se aliniaz n dreapta, iar textul care
urmeaz este scris n locul rmas liber, n stnga acesteia; o left :
imaginea se aliniaz n stnga, iar textul care urmeaz este scris n
locul rmas liber, n dreapta acesteia; o top : doar latura de sus a
imaginii se aliniaz cu rndul de text n cadrul cruia se afl;
urmtorul rnd de text va fi afiat dup imagine, ocupnd ntreaga lime a
ecranului; o middle : rndul de text n cadrul cruia se afl imaginea
se aliniaz la jumtatea nimii acesteia; urmtorul rnd de text va fi
afiat dup imagine, ocupnd ntreaga lime a ecranului; o bottom : doar
latura de jos a imaginii se aliniaz cu rndul de text n cadrul cruia
se afl; urmtorul rnd de text va fi afiat dup imagine, ocupnd
ntreaga lime a ecranului;Dac dorim ntreruperea unei alinieri de
imagine de tip right sau left nainte ca textul s fi umplut spaiul
liber din stnga, respectiv dreapta acesteia, putem folosi tag-ul
br, cruia i adugm unul dintre atributele clear=left sau clear=right
sau clear=all, dup caz. atributul alt=text permite specificarea
unui text alternativ ce va fi afiat fie dac meninem cursorul de
mouse asupra imaginii, fie n locul imaginii propriuzise, n cazul n
care imaginea nu poate fi ncrcat din cauza unei probleme de
conexiune. Iat cteva exemple: atributul align=right ex008.html
Imagini Acest text este asezat inaintea imaginii
In schimb, acest text este aliniat in stinga imaginii, deoarece am
folosit atributul align="right" in momentul in care am inserat
imaginea in pagina noastra web prin intermediul tag-ului src.
atributul align=right mpreun cu tag-ul
- ex009.html Imagini Acest text este asezat inaintea imaginii
Acest text, aliniat in stinga imaginii, il intrerupem fortat
AICI
In acest fel, restul textului se va alinia in mod obisnuit, sub
imagine, restul spatiului din stinga raminind liber. atributul
align=top - ex010.html Imagini Acest text este asezat inaintea
imaginii
Se observa ca doar primul rind al textului este aliniat cu latura
de sus a imaginii, restul textului fiind afisat dupa imagine
atributul align=middle - ex011.html Imagini Acest text este asezat
inaintea imaginii
Se observa ca doar primul rind al textului este aliniat la
jumatatea inaltimii imaginii, restul textului fiind afisat dupa
imagine atributul align=bottom - ex012.html Imagini Acest text este
asezat inaintea imaginii
Se observa ca doar primul rind al textului este aliniat cu latura
de jos a imaginii, restul textului fiind afisat dupa imagine
atributele height i width permit specificarea altor dimensiuni
pentruimagine, dect cele reale ale acesteia.Evident, dac
dimensiunile nu sunt proporionale cu cele reale, imaginea va fi
deformat. Totodat, dac specificm dimensiuni mai mari dect cele
reale, imaginea se va vedea mai puin clar. n realitate, imaginea
este transferat de pe server la dimensiunile sale originale,
redimensionarea avnd loc doar la nivelul calculatorului pe care
este vizualizat pagina - ex013.html. Imagini Imaginea originala are
dimensiunile 250x135:
Iat-o redimensionata proportional la 125x77:
Iat-o si deformata:
sau
atributul border determina grosimea afirii unui chenar n jurul
imaginii. ex014.html Imagini Imaginea originala are dimensiunile
250x135 is este inconjurata de un chenar de grosime 10:
atributele hspace=nr.pixeli i vspace=nr.pixeli stabilesc distana
minim pe orizontal sau verticala fa de celelalte obiecte din
pagina. ex015.html Imagini Iata o aliniere a imaginii de tip
"right", aliniere in cadrul careia nu am modificat nici unul dintre
cele doua atribute care controleaza spatierea dintre imaginesi
restul elementelor, pe orizontala respeciv pe verticala
Iata acum o aliniere a imaginii tot de tip "right", aliniere in
cadrul careia am modificat ambele atribute care controleaza
spatierea dintre imagine si restul elementelor, stabilind valorile
de 20 pe verticala respeciv de 15 pe orizontala
2.3.7. Specificarea culorilor n HTML. O serie de elemente din HTML
permit utilizarea de atribute de culoare. Acestea pot fi
specificate n dou moduri: prin constanta HTML ce reprezint numele
culorii (n englez, bineneles). Exist 216 astfel de constante
recunoscute de majoritatea browser-elor. Ne vom limita n a le
enumera doar pe cele 16 care sunt considerate de baz,
exemplificndu-le pe fiecare:prin constante de tip RGB (Red, Green,
Blue) Principiul de baz al redrii electronice ale unei imagini n
culori se bazeaz peamestecarea n proporii diferite ale culorilor
Rou, Verde i Albastru. n acest mod, se poate obine orice culoare se
dorete. n cazul culorilor pe care le poate reda un browser HTML,
fiecare dintre aceste componente de culoare poate avea 256 de stri
posibile: de la0, care nseamn c respectiva culoare lipsete cu
desvrire, pn la 255, care nseamn c respectiva culoare este folosit
la intensitatea maxim. n acest fel, prin amestecuri diferite, putem
obine 2563, deci aproximativ 16 milioane de nuane diferite.
Componentele de culoare n HTML se specific folosind numere
hexazecimale. Astfel, fiecare dintre numerele dintre 0 i 255 se
codific n hexazecimal printr-un numr ntre 00 i FF. Constanta HTML
pentru specificarea unei culori are forma general#RRGGBB,n care RR,
GG respectiv BB reprezint cte un numr hexazecimal cuprinsntre 00 i
FF.2.3.8. Tabele Tabelele reprezint un element foarte important al
unei pagini web. n foarte multe cazuri, tabele cu chenare
invizibile sunt folosite ca i schelet al paginii, pentru a putea
realiza alinieri complexe ale elementelor acesteia. Tag-ul pentru
descrierea unui tabel este .... n cadrul acestora trebuie descrise
liniile (rndurile) tabelului, n cadrul fiecrui rnd trebuind
descrise celulele acestuia. Descrierea unui rnd se face ntre
tag-urile .... La rndul lor, celulele din cadrul rndului se descriu
ntre .... Att tag-ul ct i tag-ul pot fi omise. Un prim atribut al
tag-ului este border=grosime_pixeli. Dac acest atribut este omis,
tabelul va avea un chenar invizibil. Dac se specific doar
atributul, omind grosimea, aceasta va fi luat, implicit, ca fiind
1. Iat un exemplu de cod pentru definirea unui tabel (ex016.html):
Tabele Rindul 1, celula 1 Rindul 1, celula 2 Rindul 2, celula 1
Rindul 2, celula 2 Atribute ale tag-ului
cellpadding=nr_pixelipermite stabilirea unui spaiu care va fi lsat,
n fiecarecelul a tabelului, ntre coninutul celulei i marginile
acesteia. Dac nu se specific acest atribut, el este n mod implicit
considerat 0 cellspacing=nr_pixelipermite stabilirea spaiului care
va fi lsat ntre chenarelecelulelor vecine n tabel (i inclusiv ntre
ele i chenarul exterior al tabelului). Dac nu se specific acest
atribut, el este n mod implicit considerat 2. Coninutul unei celule
poate fi ct se poate de general: de la text i imagini pn la alte
tabele (se pot deci construi chiar i tabele imbricate)
width=limepoate stabili ct de lat s fie tabelul. Limea poate fi dat
nprocente, caz n care se va calcula ca i procent din limea
ferestrei browserului (ex: width=50%) sau n pixeli (ex: width=500);
height=nlimepoate stabili ct de nalt s fie tabelul. Limea poate fi
dat, lafel ca i n cazul atributului width, n procente sau n
pixeli;aligndetermin alinierea tabelului n pagin. Poate la una
dintre valorile left, rightsau center. Dac, pe lng tabel, mai
scriem i text, acesta se va poziiona fa de tabel n acelai mod n
care se poziioneaz i fa de imagini; bgcolor=culoarepermite
stabilirea culorii de fundal a tuturor celulelor tabelului; permite
stabilirea culorii chenarului (deopotriv cel
interiorbordercolor=culoarect i cel exterior) Exemplu din fisierul
ex017.html: Tabele Poza
Accesori Microfon Dif. ext Filtru Antene Deltaloop Ground plane
Windom Atribute ale tag-ului align determin, pentru toate celulele
de pe linie, modul alinierii coninutului pe orizontal, n interiorul
celulelor. Poate la una dintre valorile left, right, center sau
justify; valign determin, pentru toate celulele de pe linie, modul
alinierii coninutului pe vertical, n interiorul celulelor. Poate la
una dintre valorile top, bottom sau middle;bgcolor determin, pentru
toate celulele de pe linia respectiv, culoarea de fundal.Atribute
ale tag-ului width i height determin, pentru celula respectiv,
limea i nlimea. Poate fi dat n procente sau pixeli. Dac e
specificat n procente, se va lua din limea, respectiv nlimea
tabelului. Modificarea limii i a nlimii unei celule va avea efect i
asupra celorlalte celule, pentru ca tabelul s fie aliniat; align i
valign stabilesc, la fel ca i n cazul lui , modul n care este
aliniat coninutul n interiorul celulei, pe orizontal respectiv pe
vertical, fiind prioritare fa de alinierea la nivel de linie
colspan=nstabilete ntinderea celulei respective n dreapta cu n
coloane(echivalentul operaiei Merge Cells din Word, n cazul n care
unim celule adiacente pe orizontal); rowspan=nstabilete ntinderea
celulei respective n jos cu n linii (echivalentuloperaiei Merge
Cells din Word, n cazul n care unim celule adiacente pe vertical);
bgcolordetermin, pentru celula respectiv, culoarea de fundal. Este
prioritar fade acelai atribut la nivel de linie.Tag-ul ... Poate
nlocui .... Atributele sunt aceleai. Singura diferen este c textele
de dup tag-ul sunt, n mod implicit, tiprite ngroat (Bold) iar
alinierea lor se face pe centru;Tag-ul ... Permite scrierea unui
titlu pentru tabel. Acest tag trebuie s se gseasc imediat dup.Acest
tag suport atributul align. Acesta poate lua una dintre valorile:
left (titlulva fi poziionat n stnga sus), right (poziionare dreapta
sus), top (poziionare pe centrusus), bottom (poziionare pe centru
jos);Exemplul ex018.html: Tabele Banda 05h00 - 10h00 10h00 - 16h00
16h00 - 22h00 80m (3.7MHz) Buna Redusa 40m (7.100 MHz) Redusa Buna
20m (14.100MHz) Buna Redusa Buna 10m (28.2MHz) Inchisa 2.3.9
Legturi (link-uri) Aa cum am vzut n partea introductiv a acestui
capitol, noiunea de www este strns legat de documentele de tip
hipertext. Tot ceea ce am prezentat din limbajul HTML pn n momentul
de fa, reprezint doar partea descriptiv a acestuia, cu ajutorul
creia putem crea un coninut static. Link-urile reprezint mecanismul
prin care: putem face ca un vizitator al paginii, prin executarea
unui click, s poat accesa o alt pagin, la care dorim s-i crem
posibilitatea unui acces rapid i, dac acesta dorete, s poat reveni
n pagina iniial prin apsarea butonului Back al browserului de
Internet; putem face ca un vizitator al paginii noastre s primeasc
un anumit fiier, de orice tip, care se gsete pe site-ul nostru
(download); putem face ca un vizitator al paginii noastre s poat
asculta un mesaj sonor sau chiar s poat viziona un film; putem ca,
printr-un click, s putem vizualiza o pagin (inclusiv cea curent)
doar dintr-un anumit loc, fr a folosi barele de derulare; putem ca,
prin accesarea unui click, cel care viziteaz pagina s ne poat
trimite un e-mail.Pentru toate acestea, vom folosi tag-ul ...,
numit i Ancor.Ancore de legtur Acestea permit ca un anumit element
din document s conin legtura ctre o alt pagin. Elementul care face
legtura este de obicei un text sau o imagine. De regul, elementul
legat i schimb aspectul fa de cel clasic: textul va fi subliniat i
colorat altfel, iar imaginea va avea un chenar colorat. n momentul
n care ducem cursorul deasupra elementului legat, acesta capt forma
unei mini, indicndu-ne astfel c este vorba de un link pe care l
putem utiliza. Printr-un simplu click, accesm pagina ctre care este
fcut legtura. Acest tip de legtur se realizeaz practic folosind
atributul href, exemplul ex019.html) Tabele Prin efectuarea unui
click pe acest text browserul deschide pagina dedicata
radioamatorilor Dup cum se observ, atributul href primete adresa
complet a paginii ctre care dorim s facem legtura. Dac e vorba de
un fiier local, din acelai director cu pagina din care facem
legtura, la href este suficient s scriem numele i extensia (de
ex:href=pagina.html)Ancore de legtur ctre fiiere (pentru download)
Se realizeaz n mod analog cu cele ctre alte pagini, la atributul
href trebuind specificat adresa fiierului respectiv (dac este n
acelai director cu pagina din carefacem legtura, e suficient s-i
scriem numele i extensia). Ex: n cazul n care fiierul pentru
download este local: Pentru download arhiva executa un clickaiciEx:
n cazul n care fiierul pentru download se afl la alt adres:Pentru a
descarca calendarul concursurilor nationale si internationale, da
un click aiciLegturile ctre fiiere de tip sunet sau film se fac
absolut n aceeai manier. n funcie de extensia lor (.pdf, .mid,
.wav, .mp3, .avi) n momentul executrii unui click asupra obiectului
care face legtura ctre ele, acestea vor fi deschise automat ctre
browser cu programul corespunztor.Legturi relative la coninutul
documentului (paginii) Sunt acele ancore care permit accesarea
direct a unei pagini web ntr-un anumit loc, fr a mai folosi barele
de derulare pentru a ajunge n acel loc. Pentru aceasta, locul
respectiv trebuie marcat. Acest lucru se face tot cu ajutorul
tag-ului , ns folosind atributul id, care va denumi locul respectiv
printr-un identificator, ca n exemplul de mai jos (a se observa c
ntre tag-ul de deschidere i cel de nchidere putem s nu punem nici
un element):Accesarea direct a acestui loc cu ajutorul unui link se
poate face astfel: Din interiorul aceleii pagini: specificnd la
atributul href identificatorul respectiv (cel de la id) nainte de
care se pune de caracterul #, ca n exemplul urmtor:Salt direct la
concursurile nationaleDin alt pagin: specificnd la atributul href
adresa paginii accesate (a fiierului html) urmat de caracterul #,
ca n exemplul urmtor:Deschide documentul extern, direct la
concursurile nationale#capitolul 2Ancor de legtur pentru trimiterea
unui e-mail Acestea permit ca, atunci cnd o persoan ne viziteaz
site-ul, dac dorete, s ne poat trimit un e-mail fcnd un simplu
click pe legtura respectiv. Totui, pentru ca acest lucru s fie
funcional, cel care viziteaz site-ul trebuie s aib configurat pe
calculatorul su un client de e-mail (cel mai frecvent este Outlook
Express). Iat un exemplu pentru o astfel de ancor: Click aici
pentru a trimite un e-mail (tag-ul ... nu face altceva dect s
afieze textul din cadrul su italic) Dup cum se observ, pentru
trimiterea unui e-mail, dup atributul href trebuie specificat
mailto: urmat de adresa de e-mail a destinatarului.2.3.10. Elemente
de structur (HTML, HEAD, BODY). Dup cum am vzut n partea
introductiv, orice document html este cuprins ntre tag-urile i . El
este alctuit dintr-un unic antet (HEAD) i un unic corp (BODY).
Aceste 3 elemente au rolul de a defini structura documentului. Din
acest motiv ele se mai numesc i elemente de structur.Tag-ul BODY
poate conine urmtoarele atribute: background=fiier_imaginepermite
specificarea unei imagini de fundal. Aceastase va repeta att pe
orizontal ct i pe vertical, pn cnd se acoper ntreagasuprafa necesar
corpului; bgcolor=culoare text=culoare link=culoarepermite
specificarea unei culori de fond;permite specificarea culorii
ntregului text cuprins n pagin; permite specificarea culorii unui
link nevizitat; permite specificarea culorii unui link activ; un
link estealink=culoareconsiderat activ n timpul vizitrii i imediat
dup aceasta;vlink=culoarepermite specificarea culorii unui link
vizitat, care nu mai esteactiv.Coninutul seciunii n cadrul acestei
seciuni putem ntlni diverse alte tag-uri. Despre tag-ul am discutat
deja, el permind scrierea unui titlu pentru pagin. n afar de
acestea, vom aminti nc alte 3 tag-uri: permite stabilirea unei
adrese de baz pentru resurse. Acest tag sefolosete n special atunci
cnd resursele (sau, n fine, o mare parte a acestora) se gsesc n alt
director dect cel n care se afl documentul curent. n acest fel,
folosirea fiierelor din directorul specificat n BASE se poate face
direct prin numele i extensia lor. Specificarea se face prin: este
folosit pentru a furniza informaii motoarelor de cutare.
Uneledintre acestea viziteaz doar antetul pentru a obine informaii.
Informaiile coninute de acest element nu sunt afiate de browser, ns
este important s l folosim pentru ca informaiile coninute n site-ul
nostru s fie accesibile. Locul tag-ului este n antet ().Atributele
tag-ului sunt name i content. Folosirea lor este ceva mai
particular, rezultnd din exemplele urmtoare: pentru a specifica
autorul unui document:pentru a specifica titlul unui
document:pentru a preciza cuvintele cheie dup care s fie regsit
site-ul:pentru a specifica limba n care este scris site-ul:Exist i
alte atribute ale elementului META, ns cele dou deja prezentate
sunt suficiente. este utilizat pentru introducerea stilurilor.
Acestea permit stabilirea mai amnunit a modului n care apar,
implicit, diferitele elemente din document. Valorile se trec ntre
.... Exemplu: P {font-family:Comic Sans MS; font-size:14pt;} Prin
specificarea lui P nainte de paranteza acolad, stabilim ca modul
implicit de afiare al paragrafelor (s ne reamintim c este tag-ul
pentru paragraf) s fie cel descris ntre parantezele acolade, deci,
n cazul exemplului de fa font-ul folosit s fieComic Sans MS,iar
dimensiunea caracterelor s fie de 14.este utilizat pentru
introducerea anumitor secvene de program n cadrulpaginilor web.
Exist mai multe limbaje (numite de scriptare) care permite scrierea
acestor secvene, cum ar fi JavaScript, VBscript. Specificarea
limbajului n care este codat scriptul se face cu ajutorul
atributului language, ca n exemplul de mai jos: function calcul() {
s=0; for(i=1;i Schimbarea culorii de fundal a unui tabel, culoare
pe care o compunem cu ajutorul a 3 valori pentru componentele R, G,
B (ntre 0 i 255) pe care le scriem n nite zone text. Culoarea
astfel formata va fi afiat intr-o caset (ex035.html) Exemplu de
JavaScript function toHex(numar) {//aceasta functie converteste
numarul parametru din zecimal //in hexazecimal. Ne bazam ca este
cuprins intre 0 si 255 c1=parseInt(numar/16); c2=numar%16; //in c1
si c2 am obtinut cele 2 cifre hexazecimale if(c1>9)
c1=String.fromCharCode(65+c1-10); //daca c1 este mai mare decit 9,
o inlocuim cu litera corespunzatoare (A=10, B=11, ..., // F=15)
adunind la codul ASCII al lui A (65) diferenta corespunzatoare.
Conversia, in //JavaScript, de la codul ASCII la caracter se face
prin //String.fromCharCode(codul ascii al caracterului) if(c2>9)
c2=String.fromCharCode(65+c2-10); return String(c1)+String(c2); }
function rgb(red,green,blue) {//aceasta functie genereaza constanta
HTML de tip culoare plecind de la valorile lui //red, green, blue,
numere cuprinse intre 0 shi 255.Ea se foloseste de functia de mai
sus return "#"+toHex(red)+toHex(green)+toHex(blue); } 49 function
coloreaza() {//aceasta functie se apeleaza la apsarea butonului
definit in cadrul lui BODY. Inprimul //rind testam daca valorile
sunt intregi. Observati ca am folosit identificatorii dati la
//atributul id pentru a extrage valorile din cimpurile text. In
primul rind, pentru a //accesa obiectele de tip va trebui sa ne
folosim de o //functie speciala DOM, si anume
document.getElementById. Aceasta functie ne intoarce //o variabila
prin intermediul careia putem accesa in continuare obiectul cu
ID-ul //respectiv. //In cazul nostru, obtinem variabilele r, g si b
pe baza cimpurilor text cu ID-urile //rr, gg si bb definite in
cadrul sectiunii , mai jos. //Pe baza variabilelor de tip obiect r,
g si b, cimpul "value" ne va intoarce taman //valoarea scrisa in
acestea r=document.getElementById("rr");
g=document.getElementById("gg"); b=document.getElementById("bb");
nr=parseInt(r.value);ng=parseInt(g.value); nb=parseInt(b.value);
if(nr!=r.value)//daca valoarea convertita la intreg nu coincide
//cu cea neconvertita, inseamna ca nu este inteaga, deci dam un
mesaj {alert("Valoarea lui r nu este corecta!"); return;}//si iesim
fortat (ca in C) cu return //procedam analog pentru celelalte doua
if(ng!=g.value) {alert("Valoarea lui g nu este corecta!");return;}
if(nb!=b.value) {alert("Valoarea lui b nu este corecta!");return;}
//acum verificam sa fie cuprinse intre 0 si 255 if(nr255) {
alert('Valoarea lui r nu este cuprinsa intre 0 si 255');return;}
if(ng255) { alert('Valoarea lui g nu este cuprinsa intre 0 si
255');return;} if(nb255) { alert('Valoarea lui b nu este cuprinsa
intre 0 si 255');return;} //in fine, daca am trecut de aceste
filtre, valorile lui r, g si b sunt corecte // si putem, in fine,
stabili culoarea de fundal a celuilalt tabel (caruia i-am dat
//id-ul tabel) la cea pe care o obtinem din combinatia r, g, b
introdusa. tbl=document.getElementById("tabel"); //La fel ca mai
sus, getElementById ne intoarce o variabila prin intermediul
//careia putem accesa obiectul cu id-ul respectiv
tbl.style.backgroundColor=rgb(nr,ng,nb); //apoi, prin intermediul
variabilei intoarse, si anume tbl, //stabilim culoarea de fundal a
tabelului. Pentru intoarcerea culorii //in formatul recunoscut de
HTML, adica #RRGGBB apelam functia //rgb scrisa tot de noi, mai sus
} Introdu componentele de culoare (numere intre 0 si 255):
Rosu Verde Albastru
Testeaza
TEST AREA Prin intermediul unui control de tip vom cere
utilizatorului s introduc un numr x ntre 4 si 20. Pe baza acestui
numr (pe care-l validm) vom genera, ntr-un element de tipul iframe,
un tabel cu x linii i x coloane, n care punem numerele de la 1 la
x2 i ale crui celule le colorm alternativ, la fel ca pe o tabl de
ah. (ex036.html) function genereaza() {
n=document.getElementById("nn"); nr=parseInt(n.value);
if(nr!=n.value)//verificam daca in n este un numar intreg
{alert('Numarul introdus nu este intreg');return;} else
if(nr20)//verificam si daca este intre 4 si 20 {alert('Numarul
trebuie sa fie intre 4 si 20'); return;}
d=document.getElementById("ifr").contentWindow.document; //obtinem
in variabila d referinta DOM catre documentul din iframe
d.open();//deschidem acest document pentru rescriere d.write('');
k=0;//si generam, prin script, in cadrul sau, codul HTML//care
creeaza tabelul anuntat for(i=1;i Genereaza tabelul
3. Limbajul PHP3.1. Introducere scurt istoric al apariiei
limbajului PHP; mod de funcionare.PHP este un limbaj de programare
destinat n primul rnd Internetului, aducnd dinamic unei pagini web.
Este unul dintre cele mai importante limbaje de programare web
open-source (este gratuit i, n plus, utilizatorii pot aciona liber
asupra procesului de dezvoltare) i server-side (codul surs nu se
ruleaz pe calculatorul celui care vizualizeaz pagina, ci pe
serverul web). Numele su este un acronim recursiv: Php este un
Hypertext Processor. Limbajul a fost nceput n 1994 ca o extensie a
limbajului server-side Perl, i apoi ca o serie de CGI-uri
compilate, de ctre Rasmus Lerdorf, pentru a genera un curriculum
vitae i pentru a urmri numrul de vizitatori ai unui site. A evoluat
apoi n PHP/FI 2.0, dar proiectul open-source a nceput s ia amploare
dup ce Zeev Suraski i Andi Gutmans au lansat o nou versiune a
interpretorului PHP n vara anului 1998, aceast versiune primind
numele de PHP 3.0. Tot ei au schimbat numele n acronimul recursiv
amintit mai sus, pn atunci PHP-ul fiind cunoscut ca Personal Home
Page tools. n prezent este utilizat versiunea 6 a acestui limbaj.
Prin CGI (Common Gateway Interface) se nelege o interfa a unui
server de web, care extinde funcionalitile acestuia. CGI nu se
refer la un anumit limbaj de programare, ci definete un modul
standardizat, prezent n cadrul unui server HTTP. Prin intermediul
acestui modul se stabilesc regulile prin care server-ul va pasa
datele primite de la un utilizator ctre o aplicaie scris ntr-un
anumit limbaj de programare, pentru ca apoi s ntoarc rezultatele
acestei aplicaii napoi la utilizator. Limbajul PHP, n marea
majoritate a cazurilor, se folosete sub form de secvene de cod
inserate n cadrul unui document HTML. Din acest motiv, vom prefera
termenul de script PHP celui de program PHP. Structura unui script
PHP este foarte asemntoare cu cea a unui cod scris n limbajul C,
mai ales n sensul n care structurile de programare au aceeai sintax
i aceeai funcionalitate.Rolurile de baz ale unui script PHP constau
n aceea c scipt-ul poate prelua date trimise de ctre o pagin web de
la un client (n general, datele pot fi trimise de ctre o pagin web
prin intermediul formularelor) i de a executa o secven de program n
urma creia va rezulta un cod HTML, cod pe care clientul l va primi
sub forma unei pagini web. Clientul nu va avea acces la codul
efectiv al script-ului, ci, prin faptul c acesta se afl pe server i
se ruleaz tot pe acesta, va primi direct HTML-ul generat de
script.3.2. Cerine tehnice pentru rularea limbajuluiCerine tehnice
pentru rularea limbajului PHP pe un sistem Windows. Detalii asupra
instalrii Dup cum am vzut n capitolul precedent, PHP nu este un
limbaj de programare de sine-stttor (cum ar fi C++, spre exemplu)
ci se folosete n simbioz n primul rnd cu HTML, i deci pentru a
rula, are nevoie neaprat de un server de web (http server).
Practic, pentru a face ca pe calculatorul nostru s poat rula fiiere
php, avem nevoie s instalm, pe lng limbajul PHP, i un server de
web, i de a face legtura dintre cele dou. Acest lucru se poate face
separat, ns sunt necesare o serie de setri foarte minuioase i
greoaie. Din acest motiv, pentru testarea aplicaiilor pe care le
vom studia, vom folosi un pachet gratuit, disponibil pe Internet,
numit XAMPP. Acest pachet, foarte simplu de instalat, conine mai
multe aplicaii. Cele care ne vor interesa pe noi sunt serverul
Apache (pentru http), un server de MySQL, i suport pentru limbajul
PHP. Cerinele tehnice pentru rularea n bune condiii sunt minimale:
practic, pe orice calculator care este capabil s ruleze Windows
2000, XP sau Vista, pachetul XAMPP va rula fr probleme. Dei
instalarea sa poate fi fcut n mai multe feluri, cel mai la ndemn
este s folosim o versiune de tip Installer a sa. Adresa de unde
poate fi descrcat pachetul gratuit este:
http://www.apachefriends.org/en/xampp-windows.htmlDownloadai
executabilul installer-ului: derulai pagina pn cnd dai de seciunea
Download, accesnd primul link Installer, ca n figura de mai
jos:Lansai n execuie installer-ul. Vom alege instalarea n limba
englez. Lsm nemodificat directorul propus pentru instalare
(c:\xampp). n fereastra urmtoare vom bifa toate cele 3 csue care ne
propun instalarea server-elor Apache, Mysql respectiv Filezilla
(acesta din urm fiind de fapt un server de FTP) ca i servicii.La
sfritul instalrii, server-ul de web este deja funcional, avnd
inclus att suport php ct i baza de date MySQL. Prin intermediului
panoului de control XAMPP putem vedea care este starea curent a
server-elor instalate, i le putemde asemenea gestiona. Pentru a
testa efectiv funcionalitatea server-ului web, deschidem un browser
de internet, scriind la adres: http://localhost. Dac instalarea a
fost fcut cu succes, ne apare o pagin din care suntem invitai s
alegem limba de operare, dup care suntem dui n pagina HOME a
instalrii fcute. Directorul rdcin al documentelor web este
c:\xampp\htdocs. n vederea testrii aplicaiilor PHP pe care le vom
studia n continuare, vom crea n acest director un alt subdirector
phpapps. Dup ce l-am creat, putem testa existena sa deschiznd
browser-ul de internet n care scriem adresa:
http://localhost/phpapps n browser trebuie s ne apar un director
gol. n mod implicit, toate fiierele i subdirectoarele pe care le
punem n acesta vor fi vizibile prin intermediul server-ului de
http. Numele index.htm, index.html respectiv index.php sunt
rezervate: dac denumim vreun fiier n acest mod, la intrarea n
directorul care l conine, n loc de a ne arta ceea ce se gsete n
acest director, serverul web ne va arta direct pagina coninut de
fiierul respectiv.3.3. Testarea instalrii. Structura unui fiier
PHP.Spre deosebire de fiierele .html care o dat create pe discul
local cu un editor de texte pot fi deschise imediat tot local,
direct n browser-ul de Internet, pentru a rula codul PHP este
absolut necesar ca fiierele s fie puse n directorul n care rezid
documentele serverului web, iar vizualizarea lor s fie fcut prin
intermediul acestuia. n mod implicit, un fiier care conine un
script PHP trebuie s fie salvat cu extensia .php. S crem primul
nostru script PHP. Vom descrie operaiile necesare acestui lucru,
bazndu-ne pe instalarea pachetului XAMPP descris n capitolul
anterior. Astfel, toate scripturile pe care le vom crea le vom pune
n directorul c:\xampp\htdocs\phpapps. Cu ajutorul unui editor de
texte (de exemplu Notepad, Notepad++) creai urmtorul fiier, pe care
l salvai n directorul de mai sus sub numele ex037.php (codulde mai
jos este preluat aa cum apare vizualizat n editor). Pagina
continand script PHP Titlu de nivel H1 Observai structura absolut
identic celei a unui fiier HTML. Noutatea este adus de scriptul
PHP, care este inserat ntre tag-urile . Instruciunea echo cuprins
ntre acestea este o instruciune specific limbajului PHP, ea avnd
rolul de a scrie n pagina web textul ce urmeaz dup, cel cuprins
ntre ghilimele. S vizualizm acum pagina rezultat n urma acestui
fiier. Pentru aceasta, deschidei browser-ul de Internet, scriind
urmtoarea adres: http://localhost/phpapps. Dac XAMPP a fost corect
instalat, vei obine urmtoarea pagin:n pagin v este artat coninutul
directorului n care este creat fiierul ex037.php, aa cum este
vizualizat prin intermediul serverului de web. n aceast pagin facei
un click pe fiierul ex037.php, pentru a-l vizualiza prin
intermediul serverului web. Dac totul este n regul, coninutul afiat
n browser trebuie s fie urmtorul:nainte de a trece la detalierea
limbajului de programare PHP, s mai ncercm un exemplu. n acelai
director (c:\xampp\htdocs\phpapps) creai fiierul ex038.php, cu
urmtorul coninut: Numere perfecte Primele 10 patrate perfecte
Remarcai similitudinea dintre limbajul PHP i C, n cazul
instruciunilor din cadrul scriptului: n afara faptului c variabila,
care n C ar fi fost i, aici este $i, instruciunea for are aceeai
sintax. Sintaxa lui echo este uor de asimilat, prin analogie cu
coutVariabile n PHP identificatorii rezervai variabilelor ncep cu
caracterul $. n continuare, respect aceleai specificaii din C, deci
imediat dup caracterul $ trebuie s fie o liter sau liniua de
subliniere (_), iar n rest pot fi folosite i cifrele. Spre
deosebire de C, variabilele nu se declar la nceput, ci tipul lor
este definit (implicit, de ctre limbaj) atunci cnd sunt folosite.
Mai mult, i pot schimba tipul n funcie de valoarea pe care o rein.
Exemplu de script (ex040.php): Remarcai faptul c valoarea
atributului color (i anume red) a trebuit a fi scris ntre
ghilimele. Textul din cadrul echo-ului n care am afiat acest
atribut, fiind deja n interiorul unor ghilimele, a trebuit s
folosim caracterul special \ pentru a face aceast afiare posibil.
Dac am fi folosit, pur i simplu, ghilimele obinuite, instruciunea
echo ar fi considerat c n acel loc se ncheie stringul, iar din
acest caz n-ar mai fi putut interpreta caracterele urmtoare, ceea
ce s-ar fi terminat cu producerea unei erori. n PHP este posibil i
adresarea indirect. Acest lucru nseamn c, dac o variabil conine o
expresie de tip string n care este reinut numele unei variabile,
putem afia direct valoarea variabilei reinut de string. Pentru
aceasta se va folosi nc o dat caracterul $ (de forma $$x). Exemplu
de script (ex041.php): Operatori Muli dintre operatorii limbajului
PHP sunt cunoscui din C++. Acesta este motivul pentru care vom
prezenta doar anumite particulariti specifice limbajului PHP. i
prezentm, n ordine descresctoare a prioritilor lor: 1. ! , ++ , --
, (int) , (double) , (string) ; 2. * , % , / ; 3. < , , >=
;4. == , != , === , !== ; 5. & ; 6. ^ ; 7. && ; 8. ?: ;
9. = , += , -= , /= , *= , %= , &= , |= , ^= ; 10. And ; 11.
Xor ; 12. Or ; 13. , ;n PHP se pot folosi operatori de conversie
explicit, cunoscui din C++. Ca i n C++, ei se aplic prefixat.
Astfel, exist: (int) conversie ctre o valoare ntreag, (string)
conversie ctre ir, iar (double) conversie ctre real. Exemplu de
script (ex042.php): Exemplu de script (ex043.php): Exemplu de
script (ex044.php): Exemplu de script (ex045.php): Afiarea datelor
Dup cum am vzut deja, una dintre cele mai folosite instruciuni de
afiare n PHP este echo. Are dou forme: data afiat se scrie ntre
paranteze rotunde (aceast form nu poate fi folosit pentru afiarea
mai multor date): echo(Ana are mere); datele afiate sunt scrise dup
echo, fr a fi grupate ntre paranteze i separate prin virgule: echo
Ana are , 1+2, mere;O alt instruciune de afiare este print. Dup ea
urmeaz o singur dat, care poate fi sau nu pus ntre paranteze.
Funcioneaz ca i echo, n plus, n cazul n care folosim forma cu
paranteze, va ntoarce valoarea true dac afiarea a fost fcut cu
succes, respectiv false n caz contrar.Alte dou instruciuni folosite
n special pentru cazurile n care dorim s depanm un program sunt:
var_dump(expresie) print_r(variabila) afieaz tipul expresiei urmat
de valoarea sa; n cazul unor variabile compuse (iruri, obiecte)
produce o afiarea tuturor componentelor ale acestora.Dup cum am
vzut deja prin exemplele date, n loc de ghilimele, se pot folosi i
apostrofuri. Diferena este dat de faptul c, n cazul folosirii
ghilimelelor, dac irul de caractere conine numele unor variabile,
acestea vor fi evaluate, deci se va afia coninutul lor, pe cnd n
cazul apostrofurilor se va afia numele variabilei ca atare. Nu
putem folosi ghilimele incluse n cadrul altei perechi de ghilimele,
i nici apostrofuri incluse ntre alte perechi de apostrofuri, n
schimb, putem include ghilimele ntr-un ir delimitat de apostrofuri
sau apostrofuri ntr-un ir delimitat de ghilimele. Exemplu de script
(ex046.php): 3.5. Instruciuni ale limbajului PHP.Instruciunile PHP
sunt asemntoare cu cele din C. Din acest motiv, ne vom limita la o
scurt prezentare a lor i la cteva exemple de utilizare.3.5.1.
Instruciunea expresie. La fel ca i n C++ se folosete n special
pentru calcule i atribuiri. Exemplu: $x=$x*10+3;3.5.2. Instruciunea
bloc (se mai numete i compus). Are aceeai sintax i funcionalitate
ca n C, i anume de a grupa mai multe instruciuni, astfel nct
acestea s joace rolul sintactic al uneia singure. Instruciunile se
scriu ntre paranteze acolade: { ... ... }3.5.3. Instruciunea if.
Are aceeai form i funcionalitate ca i n C: if(expresie)
instruciune1; [else instruciune2;] Deci, dac expresia este evaluat
ca fiind adevrat (sau diferit de 0) se executinstruciune1.
instruciune2.Dac este fals (sau 0) iar ramura else este prezent, se
va executa La fel ca i n C, dac n loc de o singur instruciune sunt
mai multe, se vorgrupa ntr-un bloc. Exemplu de script (ex047.php)
care conine un if: 3.5.4. Instruciunea while. Are aceeai form i
funcionalitate ca i n C: while(expresie) instruciune; Principiul de
executare este urmtorul: Se evalueaz expresia; Dac aceasta este
adevrat (sau diferit de 0) se execut instruciunea subordonat,dup
care se revine la Pasul P1. n caz contrar se termin execuia
repetitivei while, trecndu-se la instruciunea urmtoare n codul
surs. Exemplu de script (ex048.php) care conine while: 3.5.5.
Instruciunea do...while. Are aceeai form i funcionalitate ca i n C:
do instruciune; while(expresie); Principiul de executare este
urmtorul: Se execut instruciunea subordonat (cea de dup do); Se
evalueaz expresia. n cazul n care valoarea evaluat este false (sau
0), executarea instruciunii do...while se termin. n cazul n care
este adevrat (sau nenul) se reia executarea pasului anterior.
Exemplu de script (ex049.php) care conine do...while: 3.5.6.
Instruciunea for. Are aceeai form i funcionalitate ca i n C:
for(expresieiniializare;expresiecontinuare;expresieincrementare)
instruciune; Principiul de executare este uor de neles, datorit
faptului c for-ul se poate transcrie n mod perfect echivalent prin
urmtoarea secven de program: expresieiniializare;
while(expresiecontinuare) { instruciune; expresieincrementare; }
Dei for-ul este, n limbajul C, deci i n PHP, o instruciune mult mai
general dect n alte limbaje, totui, cel mai utilizat scop al su
este de a atribui unui contor, rnd pe rnd, valori (de regul ntregi)
cuprinse ntre dou limite. Exemplu de script (ex050.php) care conine
un for: 3.6. Transmiterea datelor prin intermediul formularelor.Am
amintit de formulare i de rolul pe care acestea l joac n
dinamizarea paginilor web. Formularele reprezint un mecanism prin
care se pot trimite date ctre serverulHTML. Aceste date pot fi
preluate de ctre script-urile PHP i n continuare folosite n cadrul
programelor. S nu uitm c formularele sunt elemente HTML. Fie
urmtorul unui formular, pe care l crem n fiierul ex051.html :
Formulare Introdu o valoare numerica:
Atributul action al tag-ului form se refer la numele fiierului PHP
care se va ocupa de prelucrarea datelor iar atributul method de
metoda prin care sunt trimise datele ctre server. Tag-ul creeaz un
cmp de date de tip text. Atributul name al acestuia specific un
identificator prin care PHP-ul va prelua valoarea din acesta.
Tag-ul creeaz un buton de trimitere a datelor. Practic, apsarea pe
acest buton permite trimiterea coninutului ntregului formular ctre
server. Preluarea datelor trimise ctre server prin intermediul
metodei POST, n cadrul unui script PHP se face prin intermediul
vectorului predefinit$_POST[nume_cmp_din_formular].Atenie la faptul
c $_POST trebuie scris cu majuscule !. De exemplu, n cazul nostru,
putem recupera aceast valoare prin intermediul lui$_POST[a].Analog,
dac datele ar fi trimise ctre server prin intermediul metodei GET
(deci n mod vizibil, n cererea URL, de exemplu
http://page.html?a=13), n cadrul
script-uluiPHPasociat,preluarealorsefaceprinintermediulvectoruluipredefinit$_GET[nume_cmp_formular].n
cazul n care un anumit cmp nu exist, n momentul cererii $_POST[...]
din cadrul PHP-ului, acesta s-ar putea sa genereze un mesaj de tip
atenionare (warning) n funcie de setri. Pentru a evita acest lucru,
n faa caracterului $ (de la $_POST[...]) punem caracterul @.
Semnificaia acestuia este de a ignora mesajele de tip warning.
Codul lui ex052.php, scriptul PHP pe care l-am anunat n atributul
action al formularului ex051.html, script care va trebui s se afle
n acelai director cu ex051.html. Scriptul preia valoarea cmpului
text din form i afieaz att valoarea recuperat ct i ptratul su:
Formulare Vom studia, n continuare, modul n care se preiau datele
din toate tipurile de elemente care pot s apar ntr-un formular
obinuit: n cazul unui input de tip text, am vzut deja cum se face
acest lucru. n exact acelai mod se preiau datele dintr-un input de
tip password, de tip hidden sau de tiptextarea.n cazul unui input
de tip submit, valoarea (care este de fapt textul scris pe buton)
se poate prelua doar n cazul n care, n cadrul tagului apare i
atributul name. Evident, n cazul n care formularul are un singur
control de tipsubmit,e destul de ilogic sa dorim sa vedem ce
valoare are.Totui, n cazul n care un formular are dou sau mai multe
butoane de tip sumbit, crora vrem s le asignm funcii diferite, este
foarte important s tim care dintre ele a fost apsat. Iat mai jos un
astfel de exemplu:ex053.html+ ex054.php primul fiier conine un
formular cu dou cmpuri text, ncare introducem valori numerice. n
funcie de controlul submit pe care-l apsm, al doilea fiier va
prelua datele i va calcula fie produsul fie suma celor dou valori
numerice:ex053.html: Formulare Introdu o valoare numerica: Introdu
o alta valoare numerica: ex054.php: Formulare n cazul unui control
de tip radio, s ne amintim mai nti c toate tag-urile de tipul
trebuie s aib la atributul name acelai nume, iar la atributul value
valori diferite, prin care vom identifica opiunea aleas. Aceast
valoare va fi trimis ctre PHP. Iat un exemplu de utilizare al
controlul de tip radio: ex055.html + ex056.php. Cu aceast ocazie
vom folosi i instruciunea switch a limbajului PHP, instruciune pe
care nu am prezentat-o, ns care are exact aceeai sintax i
funcionalitate ca n C. ex055.html: Formulare Introdu o valoare
numerica: Introdu o alta valoare numerica: Alege operatia pe care
doresti
sa o faci cu cele doua:
Suma
Diferenta
Produsul
Citul Fisierul ex056.php Formulare n cazul unui control de tip
checkbox, s ne reamintim c fiecare control de acest tip are un nume
separat. Dac este bifat, va trimite ctre PHP valoarea indicat n
atributul value a tag-ului (ca ir de caractere). Dac acest atribut
nu este prezent, valoarea trimis ctre PHP va fi irul de caractere
on. n schimb, dac nu este bifat, pur i simplu nu va trimite nimic,
deci s-ar putea ca cererea $_POST[...] sa genereze un warning
(depinde i de setrile PHP-ului). Pentru ca acest lucru s nu se
ntmple, indiferent de setri, aa cum am anunat mai nainte, folosim
caracterul @ n faa cererii $_POST[...].Iat mai jos un exemplu:
ex057.html + ex058.php ex057.html: Formulare Alege, dintre cele de
mai jos,
limbile straine pe care le cunosti: Engleza
Franceza
Germana
Italiana
Spaniola
ex058.php: Formulare - n cazul unui control de tip select simplu,
PHP-ul va putea recupera valoarea cu ajutorul numelui stabilit n
atributul name al tag-ului , valoarea trimis fiind cea stabilit n
atributul value al tag-urilor option nglobate n cadrul select-ului.
Iat mai jos un exemplu (ex059.html + ex060.php) care reia ideea din
ex055.html cu deosebirea c, n loc de a alege operaia dorit prin
intermediul unui control radio, o alegem cu ajutorul controlului
select. A se remarca faptul c fiierul care prelucreaz datele
(ex060.php) a rmas identic cu cel care prelucra datele din
ex055.html. ex059.html: Formulare Introdu o valoare numerica:
Introdu o alta valoare numerica: Alege operatia pe care
doresti
sa o faci cu cele doua: Suma Diferenta Produsul Citul ex060.php:
Formulare n cazul unui control de tip select multiplu, form-ul va
trimite ctre PHP un ir n care vom regsi valorile selectate. Este
obligatoriu, totui, ca atributul name din cadrul tag-ului s
specifice faptul c se va trimite un ir. Acest lucru se face punnd
un set de paranteze ptrate dup numele cmpului, deci de forma
name=nume_sir[]. Preluarea n PHP se face n mod normal,
prin@variabila=@$_POST[nume_sir] (remarcai faptul c nu se mai pun
[]). Acest ir va conine pe post de elemente valorile stabilite prin
atributul value ale opiunilor selectate. irul va ncepe de la
indicele 0, numrul su total de elemente fiind dat de funcia
count(nume_ir). Iat un exemplu care exploateaz o list de tipul
(ex061.html + ex062.php) ex061.html: Formulare Alege, dintre cele
de mai jos,
limbile straine pe care le cunosti.
Poti selecta, evident, mai multe
daca tii apasata tasta Control in
timpul selectarii Engleza Franceza Germana Italiana Spaniola
ex062.php: Formulare una dintre facilitile transmiterii datelor
prin intermediul formularelor const n posibilitatea trimiterii
rezultatului mai multor controale sub forma elementelor unui ir sau
chiar matrice. n acest caz, atributul name al controlului din form
trebuie s specifice acel element din ir (sau matrice) care va primi
valoarea sa, deci s fie de forma: name="nume_ir[indice]" respectiv
name="nume_matrice[indice_linie][indice_coloan]". Iat un exemplu n
care crem un form cu 4 controale de tip input type="text", ale cror
valori vor fi preluate de ctre un ir cu 4 elemente (ex063.html +
ex064.php): ex063.html: Formulare Introdu 4 valori numerice
intregi:
prima valoare:
valoarea a 2-a:
valoarea a 3-a:
valoarea a 4-a:
ex064.php: Formulare 3.7. Funcii n PHP.n PHP se pot scrie funcii
ntr-un mod foarte similar fa de ceea ce tim din C/C++. S considerm
exemplul urmtor, n care se utilizeaz o funcie care calculeaz i
ntoarce suma cifrelor unui numr ntreg pe care l primete ca
parametru: ex065.php: Functii PHP Pentru a ntoarce un rezultat din
corpul unei funcii, se folosete, aa cum suntem deja obinuii,
instruciunea return. Forma sa general este: return expresie. n
cazul unei funcii care nu ntoarce rezultat (deci echivalentul unei
funcii de tip void din C++), cuvntul cheie function rmne
obligatoriu (fr a specifica nimic suplimentar) putnd s apar oriunde
n cadrul funciei cuvntul cheie return fr a mai fi urmat de vreo
expresie, avnd ca efect ieirea imediat din funcie. El poate fi, de
asemenea, omis, ieirea din funcie producndu-se n acest caz n mod
natural. Transmiterea parametrilor se poate face att prin valoare
ct i prin referin, n acelai mod n care se face i n C++ :o
Parametrii specificai n mod direct sunt cei transmii prin valoare.
Chiar dac valoarea unui astfel de parametru este schimbat n cadrul
funciei, ea rmne totui neschimbat dup executarea acesteia. Atunci
cnd apelm funcia, pe poziiile acestor parametri se pot transmite
att valori ct i coninutul unor variabile. Script-ul urmtor afieaz
valoarea variabilei de dinainte de apelul funciei chiar dac n
funcie s-a ncercat modificarea valorii transmise (ex066.php):
Functii PHP o Parametrii pe care dorim s-i transmitem prin referin,
trebuie precedai de caracterul & n antetul funciei. Dac
valoarea unui astfel de parametru este modificat n cadrul funciei,
ea rmne modificat i dup executarea acesteia. Evident, atunci cnd
apelm funcia, pe poziiile acestor parametrii e obligatoriu s
specificm variabile. Relum scriptul anterior, punnd un & n faa
parametrului $x. n acest fel, valoarea variabilei dup ce apelm
funcia nu va mai fi cea anterioar (10) ci cea obinut n urma
modificrii ex067.php: Functii PHP n funcie de domeniul de
vizibilitate, i n PHP variabilele se clasific n variabile locale i
variabile globale. Cele globale sunt cele definite n afara oricrei
funcii. Implicit, ele nu pot fi adresate din corpul vreunei funcii.
Totui, exist o posibilitate de a face acest lucru: n cadrul funciei
n care vrem s utilizm variabile globale, le specificm pe toate,
precedate de cuvntul cheie global. Putei observa acest mecanism n
exemplu urmtor: ex068.php: Functii PHP Variabilele locale sunt
variabilele create n corpul unei funcii sau cele create prin
transmiterea parametrilor formali . Ele nu sunt recunoscute n afara
funciilor. i n PHP funciile pot fi recursive. Pentru a nu ncrca
foarte mult un anumit script, putem ngloba toate definiiile
complete ale funciilor ntr-un singur fiier de tip text (preferabil
cu extensia .php, pentru a nu putea fi vizualizat accidental prin
intermediul server-ului http). Mecanismul includerii este unul
asemntor cu cel din C/C++ (clauza #include...) cu deosebirea c,
putem include codul surs al funciilor n orice loc dorim. Acestlucru
se face cu ajutorul funciei predefinite PHP: require(nume_fisier);
. Codul surs al funciilor trebuie inclus i el ntre tag-urile . n
exemplul de mai jos, vom crea dou fiiere: ex069.php, ce conine
definiia corect a unei funcii care verific dac un numr este prim, i
un altul ex070.php, ce afieaz toate numerele prime dintre 1 i n,
folosind funcia din ex069.php: ex069.php: Functii PHP ex070.php:
5.2. BacktrackingSe citete, prin intermediul unui cmp de tip text
al unui formular, o valoare pozitiv nenul n mai mic sau egal cu 7.
S se scrie un program PHP care genereaz toate permutrile de n,
afindu-le ntr-un tabel. Fiecare linie a tabelului va conine
elementele unei permutri. pb003.html Introdu ordinul permutarilor:
pb004.php
2. S se realizeze o aplicaie pentru gestionarea crilor unei
biblioteci. Se vor memora ntro baz de date ISBN-ul, autorul,
titlul, anul apariiei i numrul de volume al fiecrei cri. Aplicaia
va permite adugarea de noi cri i afiarea pe ecran a crilor care
sunt ntr-un numr de n volume, n fiind citit de la tastatur.
Adugarea i listarea vor fi accesibile dintrun meniu. pba00201.php
Atestat problema 2 Problema 2. Atestat
pba00202.php Atestat problema 2 Problema 2. Atestat
pba00203.html Atestat problema 2 Problema 2. Atestat
ISBN: Autor: Titlu: Anul aparitiei: Numarul de volume: pba00203.php
Atestat problema 2 Problema 2. Atestat