Date post: | 30-Jul-2015 |
Category: |
Documents |
Upload: | danamoraru |
View: | 505 times |
Download: | 5 times |
LUCRARE DE DISERTATIE, IULIE 2005
UNIVERSITATEA TEHNICĂ DIN CLUJ-NAPOCA
Şcoala Academică Postuniversitară
"Informatică aplicată şi programare"
BISTRIŢA
Lucrare de disertaţie
SITE-UL DE PREZENTARE AL SCOLII GENERALE NR. 1 BISTRITA
Absolvent: prof. Dana Moraru
Coordonator: conf. dr. ing. Mihai Damian
IULIE 2005
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
1
LUCRARE DE DISERTATIE, IULIE 2005
ENGLISH SUMARY PRESENTASION:
The purpose of actual prezentation is to create a WEB site of Secondary School Nr. 1 from Bistrita, institution where I have been working for the last two years. Due to increasing development of Internet, and also the competition with other educational institutions, a quiqk adaptation of the way in which the educational offer is known, has imposed. The access to several information through Internet, which may be of wide interest for recent and future generations of students and parents has been imposed the access to different WEB pages of Secondary School Nr. 1 from Bistrita.
In this page there will be shown the school itself, as well as the athmosphere in a modern, attractive and really friendly way for students, parents, and teachers using HTML language.
The initial way of showing the site was realised during one exam in the first year called "The creation of Web pages". Later, as a fact of the increasing information, diversity of presentation themes and the requirements of the school has been extended, giving the acctual shape, as well as several posibilities of developing it in different ways..
For the real presentation we have choosen Server Apache, with the redaction language through server PHP and with Data Base Server MySQL, such that the software part is without any licence and the programming is much easier than ASP. Regarding the redactation part of HTML, PHP and JAVA' s codes, you can use Crimson Editor. We are going to use PHP programming and MySQL tables as well as manipulating them with PHP redactation, which will be done by PHP TRIAD. The redactation language through JAVA Script client it was also used.
The storage of this information will be done on the server of The Ministery of Education and Research and will be manipulated and used through an account FTP whitch can be accessed using a password.
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
2
LUCRARE DE DISERTATIE, IULIE 2005
CUPRINS:
I. Introducere:.............................................31. Motivatia lucrarii......................................................32. Cerinte.....................................................................43. Restrictii..................................................................44. Variante de realizare a temei..................................55. Justificarea metodei alese.......................................5
II. Prezentarea tehnologiei aplicatiei:.............61. Limbajul HTML.........................................................72. Tehnologia PHP - MySQL........................................253. Notiuni SQL...........................................................37 4. Programarea Java Script........................................42
III. Prezentarea modului de realizare a temei:441. Prezentarea structurii generale a sitului................442. Harta sitului...........................................................463. Continutul paginilor HTML - coduri de programe. .484. Creearea unui formular.........................................565. Scripturi PHP.........................................................576. Programe Java Script.............................................607. Baza de date MySQL..............................................64
IV. Posibilitati de continuare si extindere a temei..............................................................65
V. Bibliografie.............................................66
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
3
LUCRARE DE DISERTATIE, IULIE 2005
I.INTRODUCERE:
1.1. MOTIVATIAMOTIVATIA LUCRARIILUCRARII::
Obiectivul prezentei lucrări îl constituie realizarea unui site web într-o
primă formulă,ce va fi îmbunătăţită în continuare, a Scolii Generale Nr.
1 Bistriţa.
Dezvoltarea crescândă a Internetului, cât şi concurenţa cu alte institutii de
învăţământ impune o adaptare din mers a modului de a ne face
cunoscuţi. Realizarea accesului şi prin Internet la diferite informaţii de
interes pentru actualii si viitorii parinti, in cautarea scolii ideale pentru
copilul lor, dar si pentru elevi si profesori, care pot sa-si cunoasca scoala
dintr-o perspectiva globala, cat si pentru conducerea scolii, care are, in
acest mod, un instrument foarte util de feed-back a opiniilor celor din
exteriorul scolii, a impus realizarea un Site de prezentare al Scolii
Generale Nr. 1 Bistriţa.
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
4
LUCRARE DE DISERTATIE, IULIE 2005
2.2. CERINŢECERINŢE::
Cerinţele pentru realizarea unui site web modern impun următoarele:
design atractiv, simplu şi modern al paginilor;
încărcare rapidă a paginilor şi de către mai multe browsere (Internet Explorer,
Netscape, Opera, etc);
realizarea de efecte dinamice;
integrarea de formulare pentru trimiterea de informaţii de către vizitator;
legarea site-ului de baze de date ce stochează diferite informaţii de interes
pentru vizitatori.
3.3. RESTRICŢIIRESTRICŢII::Principalele constrângeri pe care le întâmpină un web designer se referă la:
evitarea integrării în site a imaginilor cu volum mare de memorie, lucru ce
conduce la încărcarea cu greutate a paginilor, uneori şi la blocaje, în cazul
unor conexiuni de mici performanţe;
evitarea pe cât posibil a lucrului cu frame-uri, care de asemenea determină
încărcarea greoaie a paginilor;
tratarea scripturilor JavaScript astfel încât să fie recunoscute de diferite
browsere.
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
5
LUCRARE DE DISERTATIE, IULIE 2005
4.4. VARIANTE DE REZOLVARE A TEMEI: VARIANTE DE REZOLVARE A TEMEI:
În ceea ce priveşte tehnologia utilizată, în faţa web designerului stau o serie de
opţiuni, legate în principal de:
modul efectiv de redactare a codului de program (scriere de cod manual sau
utilizarea unor utilitare de generare a codului ca de ex macromedia
Dreamweaver, etc.);
utilizarea unor editoare HTML specializate (de ex. TextPad sau PHP Editor sau
CrimsonEditor), sau scrierea de cod cu editoare uzuale (de ex. NotePad, etc.)
alegerea unei variante de server web, cu limbajul de scriptare orientat server,
respectiv sistemul de gestiune al bazelor de date relaţionale; aici sunt de ales
variante ca server web Microsoft IIS cu ASP şi Microsoft SQL, respectiv server
web Apache, cu PHP şi MySQL.
5. JUSTIFICAREA METODEI ALESE:
Pentru prezenta lucrare a fost aleasă varianta de server Apache, cu limbajul de
scriptare orientat server PHP şi cu serverul de baze de date MySQL, întrucât
aceste softuri sunt fără licenţe şi programarea se face mai uşor decît în ASP.
În ceea ce priveşte realizarea codului de HTML a fost utilizat utilitarul
CrimsonEditor
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
6
LUCRARE DE DISERTATIE, IULIE 2005
II.PREZENTAREA TEHNOLOGIEI APLICAŢIEI:
Prezenta lucrare utilizează următoarele softuri:
server web: Apache;
limbaj de scriptare orientat server: PHP;
limbaj de scriptare orientat client JavaScript;
limbaj de realizare a paginilor: HTML;
sistem de baze de date şi server de baze de date MySQL;
utilitar de creare a bazelor de date şi tabelelor PHP MyAdmin.
Unul dintre cei mai utilizaţi termeni astăzi este Internetul. Dar o definiţie a
acestuia a fost dată de abia în anul 1995 de către Federal Networking Council ca
fiind:
un sistem informaţional care utilizează în mod unitar acelaşi spaţiu de
adrese bazat pe IP sau pe viitoarele sale extensii;
este capabil să asigure comunicarea prin suita de protocoale TCP/IP sau
prin viitoarele sale extensii;
oferă acces, public sau privat, la serviciile de comunicaţii de nivel înalt.
Există mai multe metode de acces la informaţia stocată pe un calculator prin
intermediul reţelei Internet:
FTP (File Transfer Protocol) serviciul pentru transfer fişiere
Telnet serviciul pentru acces la distanţă;
Elecronic Mail serviciul de mesagerie electronică;
News serviciul de ştiri;
World Wide Web altă metodă de acces la informaţia stocată pe un
calculator aflat oriunde în lume.
World Wide Web utilizează tehnologia client-server.
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
7
LUCRARE DE DISERTATIE, IULIE 2005
Pentru a comunica între ele, două calculatoare în cadrul serviciului WWW,
utilizează protocolul HTTP (HyperText Transfer Protocol). HyperTextul este text
îmbogăţit cu alte tipuri de informaţii: sunete, imagini, etc. un fişier ce conţine
hipertext este scris într-un limbaj numit HTML (HyperText Markup Language).
1. LIMBAJUL HTML:HiperText Markup Language (HTML) este un limbaj “gazdă” în care sunt
încapsulate obiectele şi aplicaţiile pe Internet. HTML este un limbaj care permite
inserarea de:
text
sunete, imagini şi filme
indicatori de prezentare a informaţiei
legături (link-uri) către alte pagini Web aflate oriunde în lume
aplicaţii (programe JavaScript, Java etc.)
Limbajul HTML este destinat realizării de pagini Web. Aceste pagini sunt nişte
fişiere ce au extensia .htm sau .html. Paginile Web create cu ajutorul acestui
limbaj au următoarele caracteristici:
sunt multimedia, adică conţin informaţii sub formă de text, imagini, sunete
etc.
sunt interactive, adică răspund la cererea utilizatorului
sunt independente de platforma hardware şi software, adică se văd la fel pe
orice calculator, având instalat orice sistem de operare şi utilizând orice
browser.
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
8
LUCRARE DE DISERTATIE, IULIE 2005
1.1. Elementele standard ale unui document HTML:
Crearea unei pagini Web presupune:
Editarea fişierului HTML utilizând: un editor de texte obişnuit (Notepad,
Wordpad, Word, etc.) sau un editor de texte dedicat (Netscape Composer ,
Internet Explorer);
Salvarea paginii Web cu extensia .html sau .htm într-un site Web;
Rezolvarea referinţelor conţinute în pagina Web (legături, imagini, sunete,
etc.);
Vizualizarea paginii cu ajutorul unui browser;
pagină HTML standard este o succesiune de blocuri ce pot fi imbricare. Un
bloc este delimitat de simboluri speciale numite marcaje sau tag-uri. Aceste
simboluri speciale sunt incluse între paranteze <....> si transmit comenzi
către browser pentru a afişa pagina într-un anumit mod.
Elementele standard ale unui document HTML sunt:
Blocul extern : <html>....</html>;
Blocuri incluse : <head>....</head> si <body>....</body>.
Blocul <body>...</body> cuprinde conţinul propriu-zis al paginii HTML, adică
ceea ce va fi afişat în fereastra browser-ului.
Orice etichetă poate fi scrisă atât cu litere mari, cât şi cu litere mici.
Pentru un stil mai elegant se recomandă ca fiecare pagina HTML să aibă un titlu.
Acest lucru se realizează cu ajutorul unui bloc <title>....</title>.
Tag-ul <br> este folosit pentru trecerea la o linie nouă. In acest caz nu există
</br>, este deci vorba despre un tag vid. <br> poate fi utilizat în interiorul altor
tag-uri, cum ar fi headere sau liste.
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
9
LUCRARE DE DISERTATIE, IULIE 2005
1.2. Stabilirea caracteristicilor textului de bază:
Textul afişat este caracterizat de atributele:
Mărime;
Culoare;
Font.
Poziţionarea conţinutului paginii Web faţă de marginile ferestrei browser-ului se
poate face cu ajutorul a două atribute ale etichetei <body>:
leftmargin (stabileşte distanţa dintre marginea din stânga a ferestrei browser-
ului şi marginea din stânga a conţinutului paginii);
topmargin (stabileşte distanţa dintre marginea de sus a ferestrei browser-ului
şi marginea de sus a conţinutului paginii);
Exemplu:
<html>
<head><title>Catedra de biologie</title></head>
</head>
<body marginwidth="0" marginheight="0" style="margin: 0">
.....
</body>
</html>
1.3. Stabilirea tipurilor de caractere, a culorii de font şi
a culorii de text:
Pentru ca un textul să apară în pagină îngroşat, trebuie inclus între
delimitatorii<b> şi</b>.
Pentru ca un text să fie scris cu caractere mai mari cu o unitate decât cele
curente, acesta trebuie inclus într-un bloc delimitat de etichetele <big> şi
</big>.
Pentru ca un text să fie scris cu caractere înclinat, acesta trebuie inclus într-un
bloc delimitat de etichetele <i> şi </i>.
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
10
LUCRARE DE DISERTATIE, IULIE 2005
Pentru ca un text să fie scris cu caratere subliniate , acesta trebuie inclus într-
un bloc delimitat de etichetele <u> şi </u>.
Exemplu:
<html>
<head><title>rezultate</title></head>
<body bgcolor="#b2ecec"></bgcolor>
<FONT size=3><big>Rezultate obtinute la concursuri si olimpiade<br>
</FONT></Big>
.....
</body>
</html>
Culoarea de font a unei pagini Web poate fi precizată în două moduri:
Print-un nume de culoare : red, white, black, yellow, blue, green,etc.
Prin construcţia “#rrggbb” unde r , g, sau b sunt cifre hexagonale şi pot lua
valori 0, 1, 2, ....9,a,A,......f, F; se pot defini astfel 65536 de culori. Culoarea
unei pagini se precizează prin intermediul unui atribut al etichetei <body>.
Culoarea de text se face prin intermediul atributului text al etichetei
<body> se folosesc sintaxele :
<body text =”#rrggbb”>...</body> schimbă culoarea scrisului pentru toată
pagina.
<font color =”#rrggbb”>...</font> impune pentru textul dintre marcaje
culoarea ”#rrggbb”.
Exemplu:
<html><head><title>Catedra de biologie </title></head>
<body bgcolor="#b2ecec"></bgcolor>
<font color=”red”>Componenta catedrei </font>
.....
</body>
</html>
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
11
LUCRARE DE DISERTATIE, IULIE 2005
1.4. Etichete la nivel de bloc de text:
Blocuri paragraf
Trecerea la o linie nouă se mai poate realiza si cu ajutorul etichetei paragraf
<p>. Spre deosebire de eticheta <br> eticheta <p> permite:inserarea unui
spaţiu suplimentar înainte de blocul paragraf;
inserarea unui spaţiu suplimentar după blocul paragraf, dacă se foloseşte
delimitatorul </p>
alinierea textului cu ajutorul atributului align având valorile
posibile ,,left”, ,,center”, ,,right”.
Exemplu:
<html>
<head><title>ganduri</title></head>
<body bgcolor="#b2ecec"></></bgcolor>
<p>
<p align=justify>
<br>O mare parte din viata omul si-o petrece in scoala.
<br;Incepem clasa I cu emotii si bucurie in suflet si cei opt ani ai scolii
generale ni se pare ca au zburat.
<br>Uneori scoala inseamna stres pentru ca cine nu are emotii la o
lucrare, teza sau olimpiada? Dar cand roadele muncii noastre se observa
prin relizarile noastre, sufletul ni se umple de bucurie si satisfactie.
......
</p>
.....
</body>
</html>
Blocuri de titlu
Intr-un text sunt necesare titluri de capitole de diferite dimensiuni. Acestea pot fi
introduse cu ajutorul etichetelor <h1>, <h2>, <h3>, <h4>, <h5>, <h6>.
Toate aceste etichete se referă la un bloc de text şi trebuie însoţite de o etichetă
similară adică <h3>...</h3>.
Aceste etichete acceptă atributul align, pentru alinierea blocului de text, la
stânga , în
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
12
LUCRARE DE DISERTATIE, IULIE 2005
centru şi la dreapta.Tag-ul <h1> permite scrierea unui titlu cu caracterele cele
mai mari , pe când <h6> foloseşte caracterele cele mai mici.
Exemplu:
<html>
<head><title>Catedra de biologie</title></head>
<body bgcolor="#b2ecec"></bgcolor>
<h2 align=”left”><font color=”red”>CATEDRA DE BIOLOGIE</font>
</h2>
.....
</body>
</html>
1.5. Introducerea listelor într-opagină WEB:
Lista neordonată reprezintă un bloc de text delimitat de etichetele
corespondente <ul> si <ul>(“unordered list”) . Fiecare element al listei este
iniţiat de eticheta <li> .Tag-urile <ul> şi <li> pot avea un atribut type care
stabileşte caracterul afişat în faţa fiecărui element al listei. Valorile posibile ale
acestui atribut sunt:
“square” (pătrat);
“disc” (disc plin);
“circle” (cerc).
In următorul exemplu am expus o pagină Web ce conţine o listă neordonată:
Exemplu:
<html>
<head><title>Rezultate</title></head>
<body bgcolor="#b2ecec"></bgcolor>
<ul type=”disc”>
<li>Premiul II la faza judeteana a Olimpiadei de Biologie:<br> -
eleva: Chiperi Andreea (clasa a-VII-a);<br>
<li>Mentiuni la faza judeteana a Olimpiadei de Biologie:<br>-
elevii:
<ul>
<li>Muresan Cristian (clasa a-VII-a);<br>
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
13
LUCRARE DE DISERTATIE, IULIE 2005
<li>Zboras Dumitru(clasa a-VII-a);<br>
</ul>
<li>Premiul I la faza judeteana a concursului "Micii biologi"<br> -
elevii:
<ul>
<li>Sangeorzan Oana (clasa a-VI-a);
<li>Mihalte Silvia (clasa a-V-a);
</ul>
</ul></body></html>
Lista ordonată este acel bloc de text delimitat de etichetele corespondente
<ol>text </ol> (ordered list). Fiecare element al listei este iniţiat de eticheta
<li>.
Tag-urile <ol> si <li> pot avea un atribut type care stabileşte tipul de caractere
utilizate pentru ordonarea listei. Valorile posibile sunt:
,,A” pentru ordonare de tipul A, B, C, etc.;
,,a” pentru ordonare de tipul a, b, c, etc.;
,,I” pentru ordonare de tipul I, II, III, etc.;
,,i” pentru ordonare de tipul i, ii, iii, etc.;
,,1” pentru ordonare de tipul 1, 2, 3,etc.
Listele ordonate pot fi imbricate între ele şi cu liste neordonate ca în exemplul din
proiect:
Exemplu:
<html>
<head><title>Activitatile grupului "ECO"</title></head>
<body background=>
<ol 1>
<li>Pregatirea grupului "Eco" prin informare teoretizata privind:<br>
-ocrotirea mediului;<br>
-poluare;<br>
-impactul om-natura;<br>
-metode de ocrotire si implicare a oamenilor in salvarea Terrei.
<li>Expozitie cu exponate realizate cu materiale refolosibile:<br>
-pliante;<br>
-planse.<br>
.....
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
14
LUCRARE DE DISERTATIE, IULIE 2005
</ol>
</body>
</html>
1.6. Introducerea imaginilor într-o pagină WEB:
O facilitate extraordinară a limbajului HTML este posibilitatea de a include
imagini. Imaginile sunt stocate în fişiere cu diverse formate. O parte din
formatele acceptate de browsere sunt:
GIF cu extensia .gif;
JPEG cu extensia .jpg sau .jpeg;
BMP cu extensia .bmp.
Pentru a insera într-o pagina Web o imagine, se utilizează eticheta <img>.
Pentru a putea fi identificată imaginea ce urmează a fi inserată, se utilizează un
atribut al etichetei <img> şi anume src. Dacă imaginea se află în acelaşi director
cu fişierul HTML care face referire la imagine, atunci adresa imaginii este formată
din numele imaginii, inclusiv extensia.
Pentru o mai plăcută prezentare a unei imagini putem aplica şi un chenar. De
asemenea celulele unui tabel pot conţine imagini.
Exemplu:
<html>
<head><title>Baza materiala</head></head>
<body>
<table width=480>
<tr>
<td width=200 align=middle valign=bottom>
<img src="poza_generic5.jpg"><br><br><br>
<img src="scoala_generic3.jpg"><br><br><br>
<img src="copii_generic1.jpg"><br><br>
</td>
</tr>
</body>
</html>
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
15
LUCRARE DE DISERTATIE, IULIE 2005
Imaginile pot fi folosite pentru crearea unor legături (link-uri) cu alte pagini din
proiect. O legătura introduce în pagina Web o zona “activă”.
Exemplu:
<html>
<head><title>tipuri de armaturi</title></head>
<body>
<a href="baza_materiala.html"><img.src="sala_de_clasa.jpg"
<u>Sali de clase, multe dintre ele dotate dupa ultimele cerinte;</u>
</a>
</body>
</html>
Imaginile în fişiere externe necesită un timp îndelungat de încărcare în
browser, deseori în pagina Web este preferată inserarea numai unei legături
către imagini, lăsând utilizatorului posibilitatea de a le încărca sau nu.
Exemplu:
<html>
<head><title>Locatia</title></head>
<body>
<a href=locatia.html> Cauta-ne! Noi suntem cei mai aproape!</a>
</body>
</html>
Un truc des întilnit este acela de a utiliza o imagine de rezoluţie scăzută pe post
de legătura către aceeaşi imagine, dar stocată într-un fişier cu o rezoluţie foarte
bunaă
Exemplu:
<html>
<head><title>locatia</title></head>
<body>
<a href=”bn_mare.jpg”><img src=”bn_mic.jpg”></a>
<li>
</ul>
</body>
</html>
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
16
LUCRARE DE DISERTATIE, IULIE 2005
1.7. Tabele:
Pentru a insera un tabel se folosesc etichetele corespondente
<table>....</table>
Un tabel este format din rânduri. Pentru a insera un rând într-un tabel se folosesc
etichetele <tr> şi </tr>(table row).
Un rând este format din mai multe celule ce conţin date. O celulă de date se
introduce cu eticheta <td> (table data).
Pentru a adăuga un chenar la un tabel , se utilizează un atribut al
etichetei <table> numit border
Atributul border poate să nu fie urmat de o valoare, caz în care tabelul va
avea un chenar de grosime prestabilită egala cu 1 pixel.
valoare egală cu 0 a grosimii semnifică absenţa chenarului.
Când are grosime nenulă, chenarul unui tabel are un aspect tridimensional.
Pentru a alinia un tabel într-o pagina Web se utilizează atributul align al
etichetei <table> cu următoarele valori posibile:”left”, “center” ,”right”
Culoarea de fond se stabileşte cu ajutorul atributului bgcolor care poate fi
ataşat întregului tabel prin eticheta <table>, unei linii prin eticheta <tr> sau unei
celule de date prin eticheta <td>. Valorile pe care le poate primi atributul
bgcolor sunt cele cunoscute pentru o culoare.
Dacă în tabel sunt definite mai multe atribute bgcolor, atunci prioritatea este
următoarea: <td>, <tr>si <table>.
Ca o concluzie, toate tag-urile care descriu elementele unui tabel sunt cuprinse
in interiorul constructiei <table>. Acestea sunt:
<caption> -tag optional care specifică titlul tabelului;
<tr> -specifică liniile tabelului;
<td> -introduce celule individuale din liniile tabelului;
<th> -descrie celulule cap de tabel, fiind tot un tag opţional.
Dimensiunile unui tabel –lăţime şi înălţime - pot fi stabilite exact prin
intermediul a două atribute, width si height, ale etichetei <table>. Valorile
acestor atribute pot fi:
Numere întregi pozitive reprezentând lăţimea, respectiv înălţimea în pixeli a
tabelului;
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
17
LUCRARE DE DISERTATIE, IULIE 2005
Numere întregi între 1 şi 100, urmate de semnul % reprezentând fracţiunea
din lătimea, respectiv înăţimea totală a paginii.
Titlul unui tabel
Se poate ataşa un titlu unui tabel cu ajutorul etichetei <caption>. Această
etichetă trebuie plasată în interiorul etichetelor <table>...</table>, dar nu în
interiorul etichetelor <tr> sau <td>.
Titlul unui tabel poate fi aliniat cu ajutorul atributului align al etichetei
<caption>, care poate lua una din valorile:
,,bottom” (sub tabel);
,,top” (deasupra tabelului);
,,left” (la stanga tabelului);
,,right” (la dreapta tabelului).
Capul de tabel este format din celule ce pot fi introduse cu eticheta <th>.
Alinierea pe orizontală a conţinutului unei celule se face cu ajutorul
atributului align , care poate lua valori:
,,left”;
,,center”;
,,right”;
In exemplu de mai jos am inclus toate aceste modalităţi de construire şi aranjare
a unui tabel într-o pagina Web. Exemplul este de fapt o parte din tabelul
numit ,,beneficiari”.
Se pot construi tabele cu imagini şi texte împreună. Asfel în rândul de sus se află
imaginea , iar în rândul de jos se află textul.
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
18
LUCRARE DE DISERTATIE, IULIE 2005
Exemplu:
<table width=380 cellpadding=0 cellspacing=0 border=0>
<tr>
<td width=280 bgcolor="#b2ecec"> elevi inscrisi la Testele Nationale
</td>
<td width=100 bgcolor="#62D9D9" align=right>222
</td>
</tr>
<tr>
<td bgcolor="#b2ecec">* elevi promovati:
</td>
<td bgcolor="#62D9D9" align=right>195
</td>
</tr>
<tr>
<td bgcolor="#b2ecec">* elevi respinsi:
</td>
<td bgcolor="#62D9D9" align=right>27
</td>
</tr>
<tr>
<td bgcolor="#b2ecec">* medii de 10 obtinute de elevii nostri:
<ul><li>Alb Gabriel;<li>Sas Anca;</ul>
<td bgcolor="#62D9D9" align=right valign=top>2<br>
</td>
</tr>
<tr>
<td bgcolor="#b2ecec">* nr. medii peste 9:
</td>
<td bgcolor="#62D9D9" align=right>45
</td>
</tr>
<tr>
<td bgcolor="#b2ecec">* nr. medii peste 8:
</td>
<td bgcolor="#62D9D9" align=right>62
</td> </tr> ..... </table>
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
19
LUCRARE DE DISERTATIE, IULIE 2005
1.8. Legături – interactivitatea unei pagini WEB:
Legăturile (link-urile) reprezintă partea cea mai importantă a unei pagini Web. Ele
transformă un text obişnuit în hipertext sau hipermedia, care permite trecerea
rapidă de la o informaţie aflată pe un anumit server la altă informatie memorată
pe un alt server aflat oriunde în lume.Legăturile sunt zone active într-o pagina
Web, adică zone de pe ecran sensibile la apăsarea butonului stâng al mouse-ului.
Un clic efectuat cu mouse-ul pe o legătură este interpretat ca o cerere către un
anumit server din Internet de a expedia către calculatorul client o resursă
indicată de legătura respectivă. In acest fel, paginile Web devin interactive (adică
răspund la acţiuni iniţiate de utilizator).
Paşii care se execută prin aplicarea acestor legături sunt următorii:
1. In pagina HTML se inserează legături prin intermediul unei etichete speciale
<a> şi a unui atribut href care ia ca valoare adresa unei surse solicitate. De
exemplu <a href = “prezentare.html”> zona activa </a>.
2. In pagina Web apar legături diferite la punctul 1) ca zone active. Când mouse-
ul se află deasupra unei zone active, cursorul mouse-ului ia în mod automat
forma unei mâini;
3. Efectuând clic pe o zona activă ce reprezintă o legătura din pagina Web,
browser-ul trimite către serverul care stochează noua resursa o cerere de a-i
expedia pagina respectivă;
4. Serverul WWW ce stochează noua resursă primeşte cererea si expediază către
utilizator resursa solicitată. Dacă aceasta este o noua pagină Web , atunci
serverul expediază un fişier HTML împreună cu fişierele imagine, sunet ,
referite de acest fişier;
5. Calculatorul client primeşte resursa solicitată şi o încarcă în browser;
6. Pagina veche este înlocuită de pagina nouă în acelaşi browser sau este
lansată în execuţie o nouă instantă a browsr-rului care conţine noua pagină.
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
20
LUCRARE DE DISERTATIE, IULIE 2005
legătură către o pagină aflată în acelaşi director
Legătura către o pagină aflată în acelaşi director se formează cu ajutorul
etichetei <a> (ancora).
Pentru a preciza pagina indicată de legatură se utilizează un atribut al etichetei
<a> numit href , care ia ca valoare numele fişierului HTML aflat in acelasi
director, care va înlocui vechea pagină.
Zona activă , adica zona din pagina Web care devine sensibilă la apăsarea
butonului stâng al mouse-ului, este formată din textul cuprins între etichetele
<a> şi </a>.
Exemplu:
<html>
<head><title>Baza materiala</title></head>
<body>
<a href=”biologie.html”>Laborator de biologie</a>
</body>
</html>
1.9. Utilizarea unei imagini ca zonă activă:
Zona activă a unei legături este definită cu ajutorul etichetelor <a> şi </a>.
De obicei ea este un text care apare subliniat si de culoare albastra. In momentul
in care mouse-ul se afla deasupra zonei active, cursorul sau ia forma unei mâini
care îi indică utilizatorului să apese butonul mouse-ului.
Rolul de zona activă poate fi jucat şi de o imagine dacă inserarea ei are loc între
etichetele <a> si </a>.
Exemplu:
<html>
<head><title>left</title></head>
<body bgcolor=”white”>
<a href=”locatia.html”><img src="glob_rotitor.gif"></a>
</body>
</html>
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
21
LUCRARE DE DISERTATIE, IULIE 2005
1.10. Frame-uri:
Cadrele ne permit sa definim in fereastra browser-ului subferestre in care sa fie
incarcate documente HTML diferite.
Cadrele sunt definite intr-un fisier special, in care blocul <body>...</body>
este inlocuit de blocul <frameset>...</frameset>. In interiorul acestui bloc,
fiecare
cadru este introdus prin eticheta <frame>.un atribut obligatoriu al etichetei
<frame>
este src, care primeste ca valoare adresa documentului HTML care va fi incarcat
in acel frame.
Definirea cadrelor se va face din aproape in aproape, prin impartirea ferestrelor
in linii si coloane:
Impartirea unei ferestre intr-un numar de subferestre de tip coloana se
face cu ajutorul atributului cols al etichetei <frameset> ce descrie acea
fereastra;
Impartirea unei ferestre intr-un numar de subferestre de tip linie se face cu
ajutorul atributului rows al etichetei <frameset> ce descrie acea fereastra;
Valoarea atributelor cols si rows este o lista de elemente separata prin
virgula, care descriu modul in care de face impartirea.
Elementele listei pot fi:
Un numar intreg de pixeli;
Procente din dimensiunea ferestrei (numar intre 1 si 99 terminat cu %);
n*, care inseamna n parti din spatiul ramas.
O pagina Web poate fi formata din:
doua cadre verticale egale;
trei cadre orizontale;
trei cadre mixte;
o matrice de 2*2 cadre;
Atributul border al etichetei <frameset> permite configurarea latimii chenarelor
tuturor cadrelor incluse la un numar dorit de pixeli.
In urma dimensionarii chenarului unui cadru pot rezulta:
cadre cu chenare late;
cadre fara chenare;
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
22
LUCRARE DE DISERTATIE, IULIE 2005
Daca un cadru este prea mic pentru a afisa in intregime pagina specificata i se
vor atasa automat bare de defilare(scool).
Paginile din cadre contin numai sectiunea BODY.
O pagina dintr-un cardu poate comanda ce pagina sa fie afisata intr-un alt cadru.
Pentru aceasta se foloseste marcajul <a> cu atributul TARGET care specifica
numele cadrului in care se va realiza afisarea.
Exemplu:
<frameset cols="*,783,*" border="0" noresize>
<frame src="">
<frameset rows="126,*" border="0">
<frame src="antet.html" scrolling="no" noresize>
<frameset cols="202,*">
<frame src="left.php" scrolling="auto" noresize>
<frame src="Despre/scoala.html" scrolling="auto" name="lucru" noresize>
</frameset>
</frameset>
<frame src="">
</frameset>
1.11. Realizarea formularelor:
Formularele sunt pagini Web speciale , avand rubrici care trebuie completate sau
validate. Continutul rubricilor (campurilor)este transferat serverului Web.
Procesul de transfer este comandat prin apasarea unui buton (buton submit)
existent in orice formular.Cand primeste fluxul de informatii, serverul Web
lanseaza o aplicatie asociata formularului denumit script CGI care prelucreaza
datele primite.
Marcajul <FORM>…</FORM>
Zona din pagina Web care cuprinde campurile formularului este cuprinsa intre
marcaje >FORM> </FORM>. Marcajul <FORM> are doua atribute obligatorii:
METHOD defineste modul in care sunt transmise datele serverului. Atributul
poate lua doua valori
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
23
LUCRARE DE DISERTATIE, IULIE 2005
METHOD=post daca datele vor fi trimise scriptului CGI ca si fisier
standard de intrare;
METHOD=get daca datele introduse vor fi transmise serverului intr-o variabila
de mediu a acestuia (QUIRY_STRINGACTION specifica scriptul CGI care
preluceaza informatia.
ACTION specifica scriptul CGI care prelucreaza informatia.
Marcajul <INPUT>…</INPUT>
Defineste caracteristicile unui camp al formularului. Atributele marcajului
<INPUT> sunt:
TYPE=tip –defineste tipul campului;
NAME=nume-defineste numele simbolic al valorii campului;
VALUE= valoare-defineste continutul prestabilit al campului;
CHECKED=opt buton/ caseta validata in mod prestabilit;
SIZE=n numar de caractere al casetei de text afisate;
MAXLENGTH=m numarul maxim de caractere acceptate.
Limbajul HTML permite definirea a noua tipuri de campuri:
Tipul TEXT impreuna cu atributul SIZE permite definirea unui camp pentru
introducerea unui sir de caractere:
<INPUT TYPE=text SIZE=25 NAME=”nume”>
Tipul PASSWORD (parola) permite introducerea unei parole .caracterele
introduse nu vor fi afisate, in camp aparand doar caractere*:
<INPUT TYPE=password NAME=”parola” SIZE=10>
Tipul CHECKBOX permite desenarea unei casete izolate de validare:
<INPUT TYPE=checkbox NAME =”clietnou” VALUE=”da”>
Tipul RADIO permite generarea unui ansamblu de butoane cu interblocare
care au acelasi nume.
Tipul buton SUBMIT are ca si efect transmiterea spre server a valorilor
introduse in campurile formularului
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
24
LUCRARE DE DISERTATIE, IULIE 2005
RESET permite utilizatorului sa stearga toate campurile formularului
<INPUT TYPE=reset VALUE =“ Anulare “>
Tipul FILE permite transmiterea spre server a unui fisier. Este recunoscut
numai de NETSCAPE
Tipul IMAGE permite folosirea in locul butonului submit , pe care il inlocuieste ,
a unei imagini
<INPUT TYPE=image SRC=”poza.gif” ALT=”VALIDEZ” BORDER=0>
Tipul HIDDEN permite transmiterea informatiilor spre server fara ca
utilizatorul sa le vada pe ecran.
Marcajul <TEXTAREA>
Permite definirea unei zone in care se poate scrie un text mai mare , dispus de
regula pe mei multe linii.In acest mod se definesc de exemplu zonele in care cel
care a deschis o pagina isi poate scrie impresiile despre acestea.
Marcajul <SELECT>
Permite definirea listelor derulante .Meniul derulant prezinta o valoare. Executia
unui clic pe aceasta va provoca afisarea listei de optiuni , vizitatorul paginii
putand selecta optiunea dorita.
Exemplu:
<form name="date" method="post" action="opinii.php">
<tr>
<td width=100><b>Numele:</b></td>
<td width=481><input type="text" name="nume" size=30 maxlength=30></td>
</tr>
.....
<tr>
<td width=100 valign="top"><b>Impresii, opinii, sugestii, observatii:</b></td>
<td width=481>
<textarea name="mesaj" rows=5 cols=53></textarea>
<input type="hidden" name="data" value=""></td></tr>
<tr>
<td width=100> </td>
<td width=481>
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
25
LUCRARE DE DISERTATIE, IULIE 2005
<input type="reset" value="Stergeti datele introduse..."></td>
</tr>
<tr>
<td width=100> </td>
<td width=481><input type="submit" value="Trimite impresia"></td>
</tr>
</form><br>
1.12. Harti de imagini:
Se poate creea o imagine avand mai multe regiuni, fiecare legata de o pagina
Web diferita. Zonele sensibile la selectarea cu mouse-ul pot fi:
Rentagulare <AREA SHAPE="rect">;
Poligonale <AREA SHAPE="poly">;;
Circulare <AREA SHAPE="circle">;.
Determinarea coordonatelor punctelor care definesc regiunile se poate realiza
folosin aplicatia Paint Shop Pro, care afiseaza in permanenta coordonatele
cursorului. Marcajele care se vor folosi in acest caz sunt <MAP> si <AREA>.
Numele hartii se declara cu ajutorul atributului USEMAP="#nume" introdus in
cadrul marcajului <IMG>
Exemplu:
function btn()
{
w2=window.open("","harta_bn",'toolbar=no, width=292, height=340, left=250,
top=50, status=no, scrollbar=no, resizable=no, menubar=no, location=no');
}
.....
<form name="harta" method="post">
<img src="harta_romania.gif" name="imagine" border="0" usemap="#harta1">
<map name="harta1">
<area shape="poly" alt="Bistrita-Nasaud"
coords="176,39,188,42,195,39,202,39,204,67,195,69,190,81,182,81,178,89,170,
89,167,77,165,68,158,62,158,55,166,45" href="harta_bn.htm" target="harta_bn"
onclick="btn()">
</map>
</form>
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
26
LUCRARE DE DISERTATIE, IULIE 2005
1.13. Atributul "ONMOUSEOVER":
Intr-o pagina Web se pot afisa imagini care se modifica la trecerea mouse-ului
peste ele. Acesta facilitate ar permite, de exemplu, schimbarea culorii unui buton
inauntea actionarii sale efective.
Exemplu:
<a href= "harta_romania.html"
onmouseover="imag.src='romania_albasru_inchis.jpg'" onmouseout ="imag.src=
"></a>
La trecerea cursorului mouse-ului peste imaginea "romania_albasru_inchis.jpg" ,
aceasta vafi inlocuita cu imaginea continuta in fisierul
"romania_albasru_deschis.jpg". Deplasarea cursorului in afara imaginii provoaca
revenirea la imagfinea initiala.
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
27
LUCRARE DE DISERTATIE, IULIE 2005
2. Tehnologia PHP - MySQL:APROAPE INTREAGA MUNCA A APLICATIILOR Web ARE LOC PE SERVER .
O aplicatie specifica numita Server deWeb este responsabila pentru comunicarea
cu browserul.
Arhitectura software a unei asfel de aplicatii Web pentru o pagina Web
dinamica in conectare cu BD este prezentata in figura:
O bază de date relaţionale de tip server stochează orice informaţie pe care o
solicită aplicaţia. In final este nevoie de un limbaj de programare care să emită
interogări între serverul de Web şi serverul de baze de date; ea va fi utilizată
pentru realizarea unor sarcini de programare asupra informaţiei care vine spre şi
de la serverul de Web.
Serverul de Web rulează deasupra sistemului de operare ascultând cererile pe
care cineva le-ar putea face pe Web, raspunzand acestor cerere si oferind pagini
Web corespunzatoare.Exista multe servere de Web din care insa 2 domina piata .
Ele sunt APACHE si MICROSOFT INTERNET INFORMATION SERVER(IS)
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
BAZA DE DATE RELATIONALEMySQL, ORACLE, MSSQL, ACCESS
Limbaje de scriptareC, PHP, PERL, ASP, FSP, Cold Fusion
SERVER WEBApache, PWS, IIS
Browser WEBInternet ExplorerNetscape, Opera
28
LUCRARE DE DISERTATIE, IULIE 2005
2.1. SERVERUL APACHE:
Este cel mai popular server WEB existent. Ca si LINUXUL , PHP, MYSQL ele sunt
proiecte de tip “open source”. Lucraza cel mai bine in mediu UNIX dar ruleaza la
fel de bine in mediu Windows.
APACHE este un mare server de WEB. El este rapid si surprinzator de stabil.
Imbinarea dintre Serverul WEB APACHE si limbajul de scriptare PHP se poate face
in 2 moduri:
PHP inglobat ca modul intern in APACHE;
PHP ca aplicatie CGI(Common Gateroay Interface).
2.2. Introducere în PHP:
PHP este un limbaj destinat scrierii scipturilor care vor fi interpretate de server-ul
Web. Limbajul face parte din categoria “open source” , gratuite si este remarcabil
prin flexibilitate usurinta in invatare si capacitatea de a rula pe multiple sisteme
de operare (Windows, Unix, Linux).
Limbajului PHP combinat cu serverul de baza de date MySOL reprezinta o
solutie foarte buna pentru realizarea rapida de aplicatii Web complexe.
Deoarece PHP a fost conceput ca limbaj de scripting pentru Web, faciliteaxa
accesul la variabile transmise de catre formularele HTML.
Exemplu:
<html>
<head><title> opinii</title></head>
<body>
<FORM METHOD=”POST” ACTION=”OPINII.PHP”>
<br>tastati date:
<br><INPUT TYPE=”TEXT” NAME=”date”>
<br><br><INPUT TYPE=”SUBMIT”>
</FORM>
</body></html>
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
29
LUCRARE DE DISERTATIE, IULIE 2005
Datele de iesire catre browser se trimit utilizand constructia echo.
Forma acestei constructii este:
echo sir_expresie;
Exemplu:
echo “<br><b> Mesajul dv. a fost introdus in baza de date!</b>”;
Trimite browserului textul “Mesajul dv. a fost introdus in baza de date!”.
Textul include etichete HTML, care influenteaza modul de formatare a textelor,
det erminandu-le sa apara pe o linie noua , scrise cu ajutorul
caractererelor aldine.
2.3.Tehnologia PHP:
In continuare voi prezenta principalele instrucţiuni ale acestui limbaj .
Instucţiunile compuse folosesc caractere { }, iar pentru scrierea a mai multor
instrucţiuni pe un rând se utilizează separatorii “,”.
Codul scris in PHP .este cuprins intre marcaje <?php si ?>. In afara codului
scris in PHP pot fi scrise marcaje HTML obisnuite, serverul interpretandu-le ca
atare si incluzandu-le in fisierul trimis browser-ului.
Atribuirea se realizeaza folosind “=” si numele variabilelor incep cu un
caracter”$”.
Conectarea la baza de date se realizeaza apeland succesiv functiile PHP
mysql_connect() si mysql_select_db().
Interogarile sunt utilizate folosind functia mysql_query()
Sirurile de caractere sunt incluse in fisierul standard de iesire (trimis
browserului) folosind comanda echo.
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
30
LUCRARE DE DISERTATIE, IULIE 2005
Elementele de baza ale limbajului PHP sunt urmatoarele:
Variabile:
Dupa cum am precizat numele unei variabile incepe cu caracterul “$”.Variabilele
pot fi create de programator , prin atribuirea unei valori, sau in mod reflex, de
catre PHP, ca in cazul scripturilor care prelucreaza datele continute in formulare.
In PHP variabilele pot fi de tip integer, double, string, boolean sau array(sir).
Exemple:
-$a=”informatica”; //$a este un sir de caractere
-$b=3; //$b este un intreg;
-$c=3.14; //$c este un numar real;
-$d=”6”; //$d este un sir de carctere;
-$e=$b+$d; //$e=9, deci $d este un nr. intreg;
-$f=TRUE; //$f este o variabila logica;
-$luni=array(“ian”,”feb”,”mar”); //$g este un sir de valori.
Sirurile de carctere sunt delimitate prin caractere “(ghilimele). Daca in sir exista
ghilimele , caractere $ sau caractere \, pentru a fi interpretate ca atare acestea
pot fi precedate de \.
Exemplu:
$a=”New York”;
$mesaj=”Excursie la $a”
deci variabilele prezentate in siruri delimitate prin ghilimele vor fi inlocuite prin
valoarea lor , deci $mesaj=”Excursie la New York”.
Caracterul “.” este in PHP operatorul de concatenare.
Declararea sirurilor de valori se face cu ajutorul functiei array():
$luni=array(“ianuarie”, “februarie”,”martie”,”aprilie”);
$luni[4]=”mai”;
$luni[5]=”iunie”;
$luni[]=”iulie”;
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
31
LUCRARE DE DISERTATIE, IULIE 2005
echo ”Luna a doua este $luni[1].”;
Deoarece primul element dintr-un sir are indicele 0, efectul comenzii echo va fi
imprimarea sirului “Luna a doua este februarie”.Atribuirea $[]=”iulie”, este
corecta, elementul care va primi valoare fiind luni[6].
Siruri asociative: Elementele dintr-un sir asociativ sunt perechi de forma
(cheie=>valoare).
Exemplu:
$vizitator=array(
“nume”=>”Moraru”,
“prenume”=>”Elena Dana”,
“e-mail”=> [email protected]
);
Adaugare unei noi valori in sirul $vizitator se poate face scriind:
$vizitator[“varsta”]=32;
Pentru a extrage valoarea asociata cheii “prenume” din sirul $vizitator se va
scrie $vizitator[prenume].
Pentru a imprima toate valorile din sirul $angajat se poate folosi o constructie
de tipul list()=each(), ca in ciclul:
while (list($key,$value)=each($vizitator))
{
echo ”cheie : $key, valoare :$value<br>\n”;
}
Accesarea variabilelor primite de la browser:
Odata ce datele dintr-un formular au fost expediate , scriptul asociat primeste un
sir de caractere care contin perechi de valori nume=valoare
separate prin caractere “&”
Intr-un script PHP, numele diferitelor campuri $nume devin automat variabile
globale in cadrul scriptului si au valorile din campurile formularului. Aceasta este
valabil indiferent de modul de trimitere (post sau get).Valorile primite de la
browser pot fi accesate si prin sirurile asociative $HTTP_POST_VARS sau
$HTTP_GET_VARS, in functie de
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
32
LUCRARE DE DISERTATIE, IULIE 2005
modul de expediere a datelor. Accesul la o valoare se face scriind
$HTTP_POST_VARS[cheie], cheie fiind numele campului formularului.
Modificarea tipului variabilelor:
Modificarea tipului unei variabile se poate face in trei moduri:
Folosind operatori de transtipaj:
$a=1
$b=(string)$a;
Operatorii posibili sunt (integer), (double), (array), (string).
Folosind functia settype()
$a=1;settype($a, “string”);
Folosind functiile intval(), doubleval(), stringval(). Aceste functii nu modifica
tipul variabilei introduse ca argument dar returneaza o valoare apartinand
tipului cerut:
$a=”12”;
$b=intval($a) *2;
Vizibilitatea variabilelor:
In PHP o variabila declarata in afara oriecarei functii este o variabila globala iar o
variabila declarata intr-o functie este o variabila locala . Spre deosebire de alte
limbaje, pentru a fi vizibile intr-o functie, variabilele globale trebuie declarate
folosind declaratia global .
Exemplu:
Function suma ($b)
{
global $a;
$c=$a+$b;
return $c;
}
$a=100;
echo suma(12)
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
33
LUCRARE DE DISERTATIE, IULIE 2005
Functii
Intr-o aplicatie scrisa in PHP pot fi intalnite doua tipuri de functii:
functii predefinite, apartinand limbajului
Functii definite de programator pentru a evita scrierea repetata a unor
secvente de cod sau pentru a usura intelegerea codului.
Rezultatul unei astfel de functii poate fi “FALSE” sau “TRUE”.
Functia isset($var) verifica daca variabilei $var indicata ca argument i s-a
atribuit deja o valoare.
Functia empty($var) are valoare “TRUE” daca variabila indicata ca
argument este neinitializata, este un sir de caractere de lungime 0 sau are
valoarea intrega 0. Exemplu:
if(empty($nume_vizitator)) {
echo “Va rog sa completati numele dv.!”;
exit;
}
Functiile is_int($var), is_double($var), is_srting($var), is_array($var), si
is_bool($var) testeaza tipul variabilei indicate ca argument.
Functiile opendir() respectiv closedir(0 deschid respectiv inchid un director iar
functia readdir() citeste o intrare din acest director.Tipul intrarii (fisier sau
director) este testat prin apelul functiei is_dir(0 si in caz pozitiv, intrarea este
ignorata .
Functii pentru testarea variabilelor:
Sintaxa unei functii scrise in PHP este urmatoarea:
Function nume([lista_parametri])
{
corpul_functiei
[return_expresie;]
}
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
34
LUCRARE DE DISERTATIE, IULIE 2005
Lista parametrilor transmisi unei functii poate lipsi. Daca functia nu returneaza
nimic functia nu poate figura intr-o expresie.Valoarea returnata de o functie
poate apartine oricarui tip: string, array, integer, double.
Functii predefinite pentru prelucrarea sirului de caractere.
PHP ofera o mare varietate de functii , peste 70 la numar, ceea ce face posibila
realizarea in acest limbaj a celor mai multe dintre prelucrarile posibile in alte
limbaje. Fiind orientat pe tratarea informatiilor continute in pagina Web, PHP
pune la dispozitie si o serie de functii specifice, deosebit de utile cum ar fi:
strip_tags() - realizeaza inlaturarea dintr-un sir de caractere a tuturor
marcajelor HTML sau PHP, cu exceptia unora specificate in mod explicit. Functia
are urmatorul prototip:
strip_tags(string sir [, string marcaje_permise]).
addslashes() - modifica un sir de caractere dat adaugand caractere
”\”(backslash) in fata unor caractere ca: “ , ‘ , \.Prototipul functiei este:
string addslashes(string sir).
Functia este gandita sa ajute la formarea sirurilor de caractere care sunt inserate
in campuri apartinand unor tabele dintr-o baza de date.
stripslashes() - este o functie opusa functiei addslashes(). Ea suprima
caracterele adaugate ca urmare a apelarii functiei addslashes(). Prototipul functie
este:
string stripslashes(string sir).
str_replace() - realizeaza cautarea intr-un sir de caractere a unui subsir si
inlocuirea sa cu un alt sir.
Prototipul functie este:
string str_replace(string sir_cautat, string sir_substitutie, string sir_de_prelucrat)
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
35
LUCRARE DE DISERTATIE, IULIE 2005
substr_replace() - permite inlocuirea unei secvente de caractere dintr-un sir cu
un alt sir, dat ca argument.Functia prototip este:
string substr_replace(string sir_de prelucrat, string sir_substitutie, int start [,
int lungime])
strcmp() – este o functie de comparare a doua siruri.Prototupul functiei este:
int strcmp(string sir1, string sir2).
Functia returneaza o valoare pozitiva daca primul sir este mai mare, 0 daca
sirurile sunt identice si o valoare negativa daca primul sir este mai mic.
substr() - returneaza o pozitie dintr-un sir indicata prin doua valori numerice.
Prototipul functiei este:
string substr(string sir_dat, int start [, int lungime]).
Daca parametrul lungime lipseste, subsirul returnat va contine toate caracterele
de la start pana la sfarsitul sirului.
htmlspecialchars() – este o functie care transforma caracterele < , >, & sau “
in reprezentarile lor HTML: <, >, &, si ".In acest fel poate afisa intr-
o pagina Web codul HTML pentru realizarea unei actiuni.Prototipul functiei este:
String htmlspecialchars (string sir_dat).
printf() si sprintf() – sunt functii care opereaza ca in limbajul si permit scrierea
formatata respectiv construirea unui sir de caractere cu un format dat. Aceste
functii sunt utile cand modul de afisare a unor date este important.
Instructiuni de control:
Instrunctiunea if
Ca si in alte limbaje , instructiunea if are doua forme:
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
36
LUCRARE DE DISERTATIE, IULIE 2005
if(conditie)
{
actiune pentru conditie=adevarat(TRUE)
}
respectiv
if(conditie)
{
actiune pentru conditie=adevarat(TRUE)
}
else
{
actiune pentru conditie=fals(FALSE)
}
Conditia poate fi o expresie logica , scrisa folosind operatori relationali
cunoscuti:< <= > >= == !=(sau<>) respectiv &&(dar si and, operatorul si) ||
(dar si or, operatorul sau), !
Instructiunea if...elsif
In PHP pot fi scrise constructii de forma :
If(conditie_1)
{
Actiuni pentru conditie_1=adevarat
}
elseif(conditie_2)
{
Actiune pentru conditie_2=adevarat
}
elseif(conditie_3)
{
Actiune pentru conditie_3=adevarat
}
else
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
37
LUCRARE DE DISERTATIE, IULIE 2005
{
Actiuni pentru restul situatiilor
}
Instructiunea while indica repetarea unei actiuni atata vreme cat o conditie
este adevarata.Sintaxa instructiunii este:
while(conditie)
{
actiune
}
Exemple:
$query=”select nume, prenume from vizitatori”;
$rezultat=mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($rezultat))
{
echo $row[“nume”].” “.$row[“prenume”]. “<br> \n”;
}
aceasta structura de cod este specifica activitatii de recuperare de informatii
dintr-o baza de date.
Instructiunea do...while indica repetarea unei actiuni atata vreme cat o
conditie este adevarata.Spre deosebire de while , conditia este testata dupa
executarea cel putin o data a actiunii.
Instructiunea for are urmatoarea sintaxa:
for(exp1;exp2;exp3)
{
actiune
}
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
38
LUCRARE DE DISERTATIE, IULIE 2005
Instructiunea foreach se foloseste exclusiv pentru prelucrarea elementelor
sirurilor. Este echivalenta constructiei list () =each() .
Sintaxa instructiunii este:
Foreach($nume_sir as $variabila)
{
actiune pentru valoarea curenta
}
Exemplu:
$nume = array(“Ion”, “Maria”, “George”);
foreach ($nume as $membru)
{
echo “$membru este invitat la cina.<br>\n”.
Instructiunile break si continue. Instructiunea break intrerupe un ciclu sau
un switch. Instructiunea care urmeaza dupa break este cea care urmeaza dupa
instructiunea switch sau dupa ciclul care contine break.
Instructiunea continue este folosita tot in interiorul ciclurilor si comanda
reluarea imediata a ciclului intrerupand sirul actiunilor din locul in care continue
este inserat si sfarsitul acestuia.
Exemplu :
<html>
<?php
$director =opendir (‘c:/apache/htdocs/postuniv/’);
echo “fisierele din directorul $director sunt:<br>\n”;
while ($fisier=readdir($director))
{
if (is_dir($fisier)) { continue; }
echo “$fisier<br> \n”;
}
closedir ($director);
?>
</html>
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
39
LUCRARE DE DISERTATIE, IULIE 2005
3. Noţiuni de SQL:
Crearea unei baze de date este o necesitate in zilele noastre. Fara acestea o
mare parte din activitatile desfasurate de oamenii din intreaga lume ar fi
imposibil de realizat. Unul dintre cele mai rapide servere de baze de date SQL
este MySQL.
Iata cateva din facilitatile MySQL-ului.
numarul de utilizatori ce se pot conecta simultan la serverul de baze de date
este nelimitat;
suporta peste 50.000.000 de campuri pe fiecare baza de date in parte;
administrarea privilegiilor utilizatorului este usoara si eficienta;
viteza de executie a comenzilor SQL este extrem de mare ,poate chiar cea
mai mare;
Implementarea MySQL-ului in propriu server web nu necesita cheltuiele si poate fi
instalat pe calculatoare ce functioneaza sub diverse sisteme de operare
(Windows, Linux, Unix).
SQL este limbajul care serveste la comunicarea cu un srever de baze de date.
Pentru a da comenzile prezentate in continuare se va instala pe calculator MySQL
si se va deschide o fereastra (DOS sau LINUX) din care se vor introduce
comenzile.In cazul unui calculator functionanad sub Windows, conectarea pentru
a lucra in mod interactiv cu serverul MySQL instalat pe acelasi calculator se
realizeaza lansand in executie mysql.exe din directorul mysql\bin:
C: \mysql\bin>mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 3.23.28-gamma\
Type ‘help; ‘ or ‘\h’ for help. Type ‘\c’ to clear the buffer
mysql>
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
40
LUCRARE DE DISERTATIE, IULIE 2005
4.1. O modalitate de creare a unei baze de date:
O baza de date relationale se numeste astfel datorita capacitatii sale de a stabili
relatii intre date din mai multe tabele. La inceput o baza de date nu contine tabele.
Pentru a crea un tabel intr-o baza de date se foloseste un sub-limbaj SQL special,
cunoscut sub numele de Data Definition Languege(DDL). Dar se pot emite comenzi
DDL si alte comenzi SQL prin intermediul unui interpretor SQL sau prin intermediul
PHP.
Tabelele sunt divizate la randul lor de catre o serie de inregistrari care le-am
putea considera ca fiind liniile tabelului.
O linie a unui tabel este impartita in mai multe campuri care pot stoca diferite
tipuri de date (numere intregi, numere reale, siruri de caractere, enumerari…)
Pentru a crea un tabel intr-o baza de date , emitand comanda create table
mysql> CREATE TABLE
Orice comanda SQL trebuie urmata de separatorul “;”.
Stergerea unei baze de date poate fi realizata cu ajutorul instructiunii “drop”.
mysql>DROP TABLE tabel;
Pentru a obtine o lista cu toate bazele de date se foloseste comanda “Show
Data-Bases”. Stergerea unui tabel este un act irevocabil.
Modificarea unui tabel se poate face folosind comanda ALTER TABLE
mysql>ALTER TABLE tabel
Adaugarea unei coloana la tabel se face cu ajutorul comenzii
mysql>ALTER TABLE tabel ADD coloana tip [optiuni];
unde tabel-numele - tabelului care va fi modificat
coloana-numele coloanei ce va fi adaugata
tip-tipul noii coloane
[optiuni]-toate optiunile dorite precum si PRIMARY KEY.
PRIMARY KEY-este o instructiune ce creeaza un index pe baza primei
coloane. Folosirea acestei instructiuni este obligatorie atunci cand se
defineste o coloana de tip AUTO_INCREMENT.
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
41
LUCRARE DE DISERTATIE, IULIE 2005
4.2. Utilizarea bazelor de date MySQL:
PHP include o biblioteca de functii care furnizeaza o interfata cu sistemul MYSQL de
gestiune a bazelor de date. Folosind aceste functii , un program PHP poate obtine
accesul la datele rezidente intr-o baza de date MYSQL si le poate modifica.
Majoritatea interactiunilor cu o baza de date se desfasoara dupa un model
secvential :
1. Se deschide o conexiune cu serverul MYSQL.
2. Se specifica baza de date la care se va obtine accesul.
3. Se emit interogari SQL se obtine accesul la rezultatele interogarilor si se
executa operatii non-SQL.
4. Se inchide conexiunea cu serverul MYSQL.
Pentru a ne putea conecta la un server MYSQL se invoca functia :
mysql_connect(nume_gazda, nume_utilizator, parola)
nume_gazda este numele gazdei pe care ruleaza serviciul MYSQL;
nume_utilizator este identificatorul de utilizator MYSQL care va fi folosit;
parola parola MYSQL asociata identificatorului de utilizator.
Exemplu:
$db = mysql_connect (“localhost”, “php”, “salut”);
if (!$db)
die ( “Nu s-a reusit deschiderea bazei de date.”);
Dupa ce programul a obtinut o conexiune cu serverul MYSQL, programul poate
specifica baza de date la care va avea acces. Pentru aceasta se invoca functia:
mysql_select_db(baza_de_date)
Functia returneaza true daca poate obtine accesul la baza de date , respectiv
false in caz contrar.
Biblioteca MYSQL din PHP furnizeaza doua functii de verificare a erorilor:
mysql_errno()-returneaza un cod numeric de eroare
mysql_error()-returneaza o descriere textuala a erorii
exemplu:
mysql_select_db( “ testdb ”);
if(mysql_errno())
{ die (“<br>” . mysql_errno(). “ : “ .mysql_error(). “<br>”)};
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
42
LUCRARE DE DISERTATIE, IULIE 2005
Din punct de vedere al limbajului PHP exista doua categorii de interogari SQL:
-Interogari SELECT, care returneaza randuri ale unui tabel
-Interogari UPDATE, INSERT, DELETE, care nu returneaza randuri ale unui
tabel.
Ambele categorii de interogari sunt emise folosind functia
mysql_query()
Functia returneaza true daca serverul a reusit sa execute interogarea; in caz
contrar , returneaza false.
Pentru a verifica daca o interogare UPDATE, INSERT sau DELETE a avut efectul
dorit se poate folosi functia
mysql_affect_rows()- care returneaza numarul randurilor afectate de
interogarea cea mai recenta.
In cazul in care cea mai recenta interogare UPDATE, INSERT sau DELETE a esuat,
functia returneaza valoarea –1.
Pentru obtinerea valorii numarului de randuri se foloseste functia:
mysql_num_rows()
Pentru a obtine urmatorul rand din secventa setului de rezultate se foloseste
functia:
mysql_fetch_row()
In general este mai convenabil sa se omita functia mysql_num_rows() si sa se
foloseasca in schimb o instructiune while.
Exemplu :
$interogare = “SELECT * FROM angajat”;
$rezultat = mysql_query($interogare);
if (mysql_errno())
{
die (* <br>” .mysql_errno().”: “.mysql_error(). “<br>”);
}
while ($rand = mysql_fetch_row($rezultat))
{
if (mysql_errno())
{
die(“<br>” . mysql_errno().”: “>mysql_error().”<br>”);
}
//aici se prelucreaza randul din setul de rezultate}
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
43
LUCRARE DE DISERTATIE, IULIE 2005
Pentru a inchide o conexiune cu un server MYSQL se invoca functia:
mysql_close()
In general nu este necesara invocarea acestei functii deoarece PHP inchide
automat conexiunile deschise cu baza de date atunci cand un script isi inchide
executia.
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
44
LUCRARE DE DISERTATIE, IULIE 2005
4. PROGRAMAREA JavaScript:
JavaScript a devenit rapid un important instrument de dezvoltare şi programare
Web, atât pentru îmbunătăţirea paginilor HTML, cât şi pentru aplicaţii complexe.
Cea mai importantă caracteristică a lui este înglobarea în pagina HTML şi
executarea sa din interiorul paginii.
JavaScript este dependent de mediu. Fiind un limbaj de scriptare, el depinde de
browser.
HTML oferă capacitatea de a crea pagini WEB statice. Deşi asemenea documente
pot fi creative, interesante şi în tot cazul utile,JavaScript oferă capacitatea de a
face ca paginile statice să devină dinamice, interactive faţă de acţiunile
utilizatorilor.
Se pot plasa procese în spatele butoanelor,să rulaţi calcule cu date introduse prin
formulare, ori să efectuaţi acţiuni atunci când utilizatorul trece cursorul mouse-
ului peste un element HTML sau peste un obiect document.
Scripturile JavaScript sunt înglobate într-un document HTML folosind perechea de
etichete <script> şi </script>.
Într-un document HTML pot exista mai multe etichete <script> şi fiecare
pereche poate încadra mai multe seturi de instrucţiuni JavaScript.
Atributul type este necesar pentru a specifica limbajul în care este scris scriptul,
iar atributul src este folosit pentru a specifica numele fişierelor sursă JavaScript
externe.
Atributele etichetei <script>:
defer – atribut boolean folosit pentru a anunţa browserul dacă scriptul din
această secţiune generează un conţinut
src – atribut care specifică locaţia unui URL a unui JavaScript sursă externă
type – atribut care a înlocuit language şi care anunţă browserul ce limbaj se
foloseşte între etichete
Crearea de programe cu JavaScript:
Se crează pagina HTML, apoi se inserează etichetele <script> în secţiunea head
sau body a documentului.
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
45
LUCRARE DE DISERTATIE, IULIE 2005
Toate instrucţiunile JavaScript aflate în blocul unei funcţii sunt interpretate, iar
executarea nu se face până ce funcţia nu este apelată dintr-un eveniment
JavaScript.
Rezultatul executării acestor instrucţiuni va fi vizibil pentru utilizatori atunci când
văd prima dată pagina.
Elemente de baza ale libajului:
Literalii: false si true;
Identificatori si variabile, de tip:
Numeric(intreg sau real);
Sir de caractere;
Logici (cu valoarea false sau true);
Null (indica lipsa unei valori).
Expresii si opratori:
Aritmetici;
Pre si postincrementare;
Relationali;
Logici;
Pentru atribuiri conditionate.
Instructiuni:
If;
While;
For;
Break si continue.
Functii = subprograme, care grupeaza un numar de instructiuni, care
realizeaza o anumita actiune:
Function nume (lista)
{
instructiuni
}
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
46
LUCRARE DE DISERTATIE, IULIE 2005
Functii predefinite:
Alert();
Open();
Confirm(),etc.
Obiecte:
De tip Navigator;
De tip Location;
Continute in formulare:
Butoane;
Caseta de validare;
Obiecte ascunse;
Butoane radio;
Buton de tip reset;
Obiectul select;
Obiectul submit;
Obiectul text;
Obiectul textarea,etc.
Evenimente:
OnLoad;
OnUnload;
OnSelect;
OnSubmit;
OnClick;
OnMouseOver,etc.
Clase si proprietati:
Clasa Array;
Clasa Math;
Clasa String,etc.
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
47
LUCRARE DE DISERTATIE, IULIE 2005
Exemplu:
<HTML>
<HEAD>
<script language="JavaScript">
azi=new Date()
document.write("Azi suntem in "+azi.getDate())
document write("."+azi.getMounth())
document.write("<br>")
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
UNIVERSITATEA TEHNICA CLUJ -NAPOCA
48