Documente Academic
Documente Profesional
Documente Cultură
Coordonator tiinific:
Absolvent:
ALBA IULIA
2013
CUPRINS
INTRODUCERE........................4
CAPITOLUL I.Internetul si paginile Web..................................................................................5
1.1 Comerul electronic........................................................................................................5
1.2 Scurt istoric al apariiei i dezvoltrii internetului.8
1.3. World Wide Web......9
Capitolul II.Limbajul HTML i limbajul PHP utilizate la proiectarea siturilor WEB
dinamice........................................................................................................................................11
2.1. Evoluia HTML...11
2.2. Taguri de baz.12
2.3. Stilurile pentru blocurile de text.13
2.4. Fonturi.14
2.5. Blocuri de text.....14
2.6. Inserarea imaginilor15
2.7. Inserarea tabelelor...16
2.8. Crearea formularelor HTML si XHTML16
2.9. Limbaje de scriptare19
2.10. Formatarea paginilor HTML utiliznd specificatori de stil CSS..............................20
2.11. Limbajul de scripting PHP26
2.12. Serverul Web Apache...31
Capitolul III.Baze de date i SGBDMysequl utitilizate la realizare site-urilor WEB
........................................................................................................................................................33
3.1. Concepte din teoria, proiectarea i administrarea bazelor de date......33
3.2.Administrarea bazelor de date cu ajutorul SGBD MySQL......38
Capitolul
IV.Proiectarea
unui
site
WEB
pentru
promovarea
unui
firme
pe
internet..........................................................................................................................................40
4.1. Proiectarea unui site Web. Analiza, proiectare, realizare...40
Concluzii........................................................................................................................................4
4
Bibliografie ...................................................................................................................................4
5
Anexe.............................................................................................................................................46
INTRODUCERE
E-
prezentate tagurile de baz care sunt uzitate n orice document HTML. n paragrafele urmtoare
sunt prezentate stilurile pentru blocurile de text, fonturile, inserarea imaginilor i inserarea
tabelelor. n 2.8. se prezint cteva din caracteristicile XHTML care este o reformulare a
limbajului HTML 4.0 i care impune un standard reguros cu privire la scrierea documentelor.
Astfel am fcut referire la elementele XHTML n sensul descrierii sintaxei tagurilor utilizate i
atributurilor folosite. A fost acordat o atenie deosebit elementului form care este nelipsit intr-o
aplicaie web mai complex i care permite userului s transmit un formular cu date ctre server.
Paragraful 2.9. a fost dedicat limbajelor de scriptare iar paragraful 2.10 a fost dedicate
formatrii paginilor HTML, utiliznd specificatorii de stil CSS.
La fianlul capitoluli 2.11. trateaz limbajul de scripting PHP iar 2.12. serverul Web
Apache.
Capitolul III este dedicate bazelor de date i SGBD-ului MySQL utilizate la realizarea de
site-uri Web. La nceputul capitolului n paragraful 3.1. sunt prezentate cteva concepte din
teoria i practica proiectrii i administrrii bazelor de date. n continuare in 3.2. este tratat
administrarea bazelor de date cu ajutorul SGBD MySQL
Capitolul IV se ocup cu proiectarea unui site web pentru promovarea unei firme pe
internet. Astfel n paragraful 4.1. este prezentat cadrul metodologic cu privire la proiectarea unui
site web i anume etapele de analiz, proiectare i realizare. A fost ilustrat n acest capitol solutia
concret adoptat la construirea site-ului.
Menionam faptul c n anexe am prezentat cteva mostre de cod scrise cu ocazia
realizrii site-ului si cteva print-screenuri care ilustraz funcionalitatea acestuia.
Mulumim n mod deosebit Domnului Conf. univ. dr. Emil Olteanu, care n calitate de
coordonator tiinific s-a aplecat cu deosebit solicitudine i profesionalism, contribuind cu
documentaie i sugesti la realizarea lucrrii.
CAPITOLUL I
INTERNETUL I PAGINILE WEB
1.1 Comerul electronic
Dezvoltarea exponenial a tehnologiilor informaionale din anii 90 pn n prezent,
determinat de necesitatea stocrii i transmiterii rapide, ct mai rapide a informaiilor cu costuri
minime a impulsionat comerul mondial precum i ntreaga infrastructur social i economic
care se constituie n ceea ce numim globalizare .
Comerul electronic const n desfurarea unei afaceri prin intermediul reelei interne
(fig1.1), prin care vnzare de bunuri i servicii are loc on-line sau off-line. Derularea afacerilor
care are ca suport reeaua Internet se face prin utilizarea unor pachete de programe software
specific de tipul transferului de fiiere i a potei electronice. Aceast accepiune privind
comerul i promovarea electronicii a unor activiti a fost completat prin apariia unor servicii
interne mult mai perfecionate n contextul dezvoltrii interconectivitii calculatoarelor n
reeaua Internet i al utilizrii tehnologiilor din domeniul telefoniei mobile.
n exemplu de mai sus, este oferit posibilitatea de efectuare a cumprturilor prin re ea,
consultnd cataloage electronice on-line pe Web. Plata acestor bunuri sau servicii se face prin
intermediul crii de credit. Comerul electronic const n derularea de relaii de afaceri prin reea
ntre furnizori i clieni care implic transferul de documente, contracte, comenzi i pli
electronice completate de imagini sau nregistrri vocale.
In literatura de specialitae este utilizat urmtoarea definiie a comerului electronic (ECommerce), care const n maniera de a conduce activitiile de comer prin utilizarea de
echipamente electronice, care permit extinderea ariei de acoperire (locul in care se afl potenialii
clieni) i viteza cu care este livrat informaia.
Comerul electronic este parte a EB (Electronic Business), care a fost proiectat pentru a
realiza schimbul de informaii ntre clieni i furnizori.
Utilizarea larg a aplicaiilor i sistemelor informatice de E-Business i E-Commerce
asigura competitivitatea ntreprinderilor, bncilor i a instituiilor guvernamentale sau private.
Aceste tehnologii i aplicaii asigur:
forma sa complex ridic probleme de ordin legal, cultural i tehnologic. Firma furnizoare
trebuie s-i creeze un sistem propriu de comand.
Evoluia comerului electronic are un impact major asupra economiei i societii prin
crearea de noi entiti economice precum i diversificarea celor existente.
n Romnia, au aprut operatori privai n telecomunicaii, fapt care a condus la utilizarea
pe scar larg a internetului, ca mijloc de informare prin web site-uri i ca mijloc de promovare a
companiilor i instituiilor prin intermediul paginilor Web. Carenele existente n cadrul legal
privind securitatea tranzaciilor on-line, au fcut c, pn n prezent comerul electronic de tip
Business-to-Business s fie mai puin dezvoltat la noi n ar cu toate c a nregistrat o dinamic
ascenden.
Internetul este un fenomen de avengur mondial care a nregistrat o evoluie deosebit.
Acesta este o reea a reeleleor care partajeaz resurse comune din variate domenii ale vieii
social-econimice. Favorizat de evoluia impresionant a noilor tehnologii hard i soft precum i a
celor din domeniul telecomunicaiilor, internetul a pus la dispoziia utilizatorilor milioane de
situri i pagini web din cele mai diverse domenii. Acesta permite integrarea fiecrui utilizator n
reeaua mondial i fiecare poate deveni o parte activ a acesteia
n prezent toate domeniile de activitate ale omenirii sunt legate de reeaua mondil
WWW (World Wide Web), adic de internet(fig.1.2). Acesta a aprut ca o necesitate de a pune
internetul la dispozitia oricrei persoane interesate de acesta, creia i pune la dispoziie
informaiile i cunostiinele din cele mai diverse domenii ale vieii economico-sociale, ale stiinei
i tehnologiei, ale activitii de nvmnt, medicin, explorarea spaiului cosmic, etc.
Tehnologiile de realizare a stie-urilor web sunt in continu dezvoltare i perfecionare, fapt care
determin posibilitatea construirii de aplicaii web din ce n ce mai complexe i mai perfromante.
http://en.wikipedia.org/wiki/File:Arpanet_logical_map,_march_1977.png
8
Web-ul reprezint asamblul paginilor care pot fi cutate i accesate printr-un protocol
special, numit HTTP (Hipertext Transfer Protocol). Web-ul este un spaiu virtual de informaiie
in care se gsesc documente, sunete, imagini, clipuri animate. n internet, conexiunile sunt
cabluri care leag calculatoare, iar n Web, conexiunile sunt legturile hipertext dintre documente
(link-urile)
Web-ul se realizez pe baza programelor care asigur comunicarea ntre calculatoarele
conectate la internet. Acesta a facut internetul accesibil i WWW este cel mai vizibil instrument
internet, care faciliteaz accesul la informaia diseminat pe internet.
Pe Web se pot derula urmtoarele activiti:
10
CAPITOLUL II
LIMBAJUL HTML I LIMBAJUL PHP UTILIZATE LA
PROIECTAREA SITURILOR WEB
2.1. Evolutia HTML
Limbajul HTML (Hypertext Markup Language) este unul dintre primele elemente ale
WWW (World Wide Web), care descrie formatul primar n care sunt distribuite i vzute pe web
informaiile. HTML se remarc n sens pozitiv prin independena sa fa de platforma, structura
formatrii i legturile hipetext.
Primele specificaii de baz ale Web-ului au fost HTML, HTTP si URL
Limbajul HTML a fost dezvoltat iniial de Tim Berners-Lee la CENM n anul 1989 cu
intenia utilizrii de ctre oamenii de stiina pentru a schimba ntre ei informaie utilizand
internetul.
Carcateristica independent de platform, determin faptul c un document poate fi afiat
asemntor pe calculatoare diferite (cu fonturi grafic i culori diferite).
Hipertext nseamn c orice cuvnt fraz, imagine sau alt element al documentului
vzut de un utilizator client, poate face referin la un alt document, fapt care face
eficent navigarea ntre mai multe
fereastra browser-ului. Etichetele (tag-urile) pot fi scrise att cu litere mici ct i cu litere mari
din motive de evideniere i estetic.
Titlul unei pagini se obine insernd numele acestuia n seciunea <head>
</head>coninutul blocului <title>.</title> va aparea n bare de titlu a ferestrei browser-uli,
pentru a trece pe o linie nou se utilizeaz comand explicit <br> (line break), pentru ca
browser-ul s interpreteze corect caracterele "spatiu", "tab" care apar n cadrul unui text, textul
trebuie inclus ntre doua tag-urile <pre></pre> (block preformtat).
Pentru configurarea de fundal culorii (background color) precum i a culorii textului sunt
disponibile urmtoarele nume de culori: aqua, black, gray, green, lime, maroon, olive, purpule,
red, silver, white respectiv yellow.
Left margin: stabilete distana dintre marginea din stanga a coninutului paginii
Exemplu:
<html>
<head>
<title>
</head>
<body leftmargin =100 topmargin =50
Textul are atributele implicite <br>
<basefont style = Arial color = blue size =6>
Textul este scris cu fontul "Arial" , culoarea albastru i mrimea 6
13
</body>
<html>
[1]
2.4.Fonturi
Un font este caracterizat prin urmtoarele atribute:
n care se
Indentificarea unui bloc, consta in faptul ca marginea din stnga a textului este deplasat
spre dreapta cu o anumit distant fa de marginea paginii i se obine folosind etichetele:
<blockquote></blockquote>. Un bloc de text delimitat cu etichetele <pre></pre> se
folosete pentru a insera rnduri vide (spaiu ntre rndurile succesive)
Un bloc paragraf <p></p> permite:
alinierea textului cu ajutorul atributului align cu una din valorile left, center
sau right.
ntr-un text titlurile pot fi introduse cu ajutorul etichetelor <h1>, <h2>,., <h6>, care se
refer la un bloc de text i se termin cu eticheta de ncheiere similar. Blocurile <div>
(diviziune) reprezint un mijloc eficent de delimitare i formatare a unui bloc de text.
Un bloc <div> poate conine atributul align care suport urmtoarele valori posibile:
Un bloc <div> admite atributul nowrap care interzice ntreruperea rndurilor de ctre
browser, iar tagul <hr> permite inserarea de linii orizontale.
TIFF ( Tagged Image File Format, avand extensia .tif sau .tiff );
Adresa URL (Uniform Ressource Locator) a unei pagini web este un standard folosit
pentru indentificarea unic a unei resure n internet
15
Pentru inserarea unei imagini intr-o pagina se utilizeaz eticheta <img>, iar adugarea
unui chenar n jurul imaginii se folosete atributul border al etichetei <img> iar dimensiunile
imaginii pot fi stabilite cu ajutorul atributurilor width si height.
O imagine poate fi utilizat pentru a stabili fondul unei pagini web cu ajutorul atributului
background al etichetei <body>, avnd ca valoare adresa URL a imagini.Imaginea se poate
multiplica pe orizontal i pe vertical pn umple intregul ecran;
Ex:
O legtur permite introducerea ntr-o pagin web a unei zone active ,care este sensibil
la click-urile efectuate cu butonul mouse-ulu, care are ca efect ncarcarea n browser a unei alte
pagini. n mod prestabilit, imaginea utilizat ca zon activ este ncojurat de un chenar avnd
culoarea unei legturi.
XHMTL 1.0 Strict. utilizarea acestei variante implica realizarea prezentrii numai
prin folosirea limbajului CSS (Cascadyng Style Sheets), adic nu se pot utiliza
16
XHTML 1.0 Transiional. Aceast variant este utilizat atunci cnd este necesar
ca realizarea prezentrii s nu se limiteze la folosirea CSS.
action=URL;
method=get|post;
de prelucrea a datelor introduse in formular, iar atributul method indic metoda prin care datele
introduse n formular vor fi trimise scriptului de prelucrare. Valoarea atributului target reprezint
numele ferestrei sau cadrului n care vor fii intoarse rezultatele obinute n urma prelucrrilor
efectuate.
Crearea majoritii tipurilor de cmpuri utilizate n formularele HTML necesit utilizarea
elementului vid input ca de exemplu: <input atribute / >
Atributele elementului input sunt:
size. Permite stabilirea lungimi (in numar de caractere) elementelor de tip text i
password;
value. Permite stablirea unei valori implicite pentru elementul textarea, elementele
input de tip text, hidden, button, reset i submit, precum i a unui text asociat
pentru elementele input de tip checkbox si radio;
Prezentm n continuare tipurile elemntului input, specificate prin atributul tipe al acestui
element;
text. Acesta este tipul implicti al elementului input, i determin afiarea unei
casete n care utilizatorul va putea introduce un text;
checkbox. Permite afiarea unei casete de validare, daca este specificat atributul
checked caseta va fi selectat implicit. Dac se doreste asocierea unui text casetei
de validare, se folsete atributul value;
18
image. Permite introducerea unui buton care are acelai rol cu submit doar c
este afisat sub forma unei imagini mici specificat de proiectantul pagini web;
reset. Permite introducerea unui buton, care atunci cnd este apasat determin
resetarea (stabilirea la valorile implicite) coninutului cmpurilor formularului.
19
20
economie de timp spre exemplu se pot specifica anumite stiluri pentru toate
elementele de tip paragraf, ancor, table, etc.
Precizarea stilurilor de formatare care se aplic ntr-un document HTML se poate face n
trei moduri: inline, n antet sau extern.
a) specificarea stilurilor inline : STYLE= ir de caractere
<P STYLE= TEXT ALIGNE: CENTER; COLOR: RED >
Text
b) specificarea titlurilor n antet- se realizeaz prin intermediul elementului STYLE, care
permite s se includ n antetul documentului toate declaraiile de stiluri utilizate n
document. Trebuie precizat obligatoriu atributul TYPE prin care se specific limbajul
de descriere a stilurilor utilizat, de exemplu text/css;
n antet pot s apar oricte elemente STYLE, iar modul de descriere a stilurilor
depinde de limbajul de descriere folosit.
toate apariiile unui element dintr-o clas. Clasa corespunztoare unui anumit
element HTML se specific prin atibutul CLASS;
apariile individuale ale unui element cruia i se aplic stilul se indentific prin
atributul ID
c) specificarea stilurilor n mod extern este cel mai flexibil mod de lucru cu stiluri de
formatare, pentru c se pot utiliza acelai stiluri pentru mai multe documente HTML,
iar modificarea unui stil de formatare nu necesit modificarea documentului HTML.
Pentru a specifica fiierele n care sunt definite stilurile se utilizeaz n antetul
documentului HTML elementul LINK, pentru care prin atributul TYPE se specific limbajul de
descriere a stilurilor folosit, iar prin elementul HREF se specific adresa fiierului care conine
descrierea stilurilor (acest fiier va avea extensia .css)
21
Pentru a determina distana dintre punctul de origine i laturile de sus si din stnga ale
elementului su printe, folosim proprietiile top i left.
Forma general este selector {top:valoare;left:valoare; }, unde valoare poate fi:
-o valoare de tip numeric, care definete distana dintre laturile ferestrei sau a elementului
printe i laturile elemntului;
- o valoare procentual care semnific deplasarea fa de laturile ferestrei sau a
elementului printe;
-valoarea auto care permite navigatorului s calculeze el nsui valoarea.
Pot fi utilizate proprietatiile top i lef sau bottom i right, care de asemenea poate lua si
valori negative. Dac este vorba de elemente imbricate, acestea vor fii deplasate solidar cu
elementul printe dac acesta are position:relative.
<style type = text.css >
div {position:relative;}
h1 {top:10px; left:10px; }
</style>
<div>
<h1>Text</h1>
</div>
Formatarea de mai sus determin ca o eticheta h1 s fie poziionat la distana de 10px
fa de marginile de sus i stnga ale unui DIV n interiorul cruia se afl.
CSS ofera posibilitatea de a schimba aspectul fiecarei etichete n parte, prin stabilirea
unui anume stil n interiorul ei, cu atributul "style". Acest lucru este util mai ales pentru a anula
alte stiluri ale elementului respectiv sau de a da elemente grafice de stil doar etichetei respective.
Sintaxa pentru definirea stilurilor n interiorul unei etichete HTML este urmatoarea:
<eticheta style="proprietate:valoare;"> text ... </eticheta>
CSS permite i definirea unor reguli de stil generale ntr-o pagina web. Acest set de reguli
trebuie scris n seciunea de antet (head) a documentului, n cadrul tag-ului <style>.
Sintaxa pentru definirea CSS ntr-un document HTML, n interiorul etichetei <head> < /head>,
este urmtoarea:
<style type="text/css">
selector_1 {proprietate1:valoare1; proprietate2:valoare2; ... }
24
transmit navigatorului tipul de legtur ("rel" legatura cu o foaie de stil, "type" - tipul codului
din fiier) i locaia nspre fiierul ce conine codul CSS ("href" calea i numele complet al
fiierului, inclusiv extensia).
O alt modalitate de utilizare a foilor de stil externe ntr-un document HTML o reprezint
importul acestora folosind comanda @import.
Sintaxa pentru importul unei foi de stil externe este urmtoarea:
<style type="text/css">
@import url(nume_fisier.css);
</style>
Pentru a importa un fiier CSS extern se foloete n cadrul seciunii HEAD a
documentului HTML eticheta STYLE. n cadrul acestei etichete este adugat instruciunea
"@import" de mai sus, unde "nume_fisier.css" reprezint calea i numele fiierului ce conine
25
regulile CSS definite. Alturi de instruciunea "@import", n cadrul etichetei STYLE, pot fi
adugate, definii i selectori suplimentari.
Legtura la un fiier CSS extern sau importul acestuia ntr-un document HTML are
acelai efect ca i cum stilurile incluse ar fi fost definirea direct n eticheta STYLE din seciunea
HEAD a documentului HTML.
2. Definirea selectorilor
Selectorii HTML pot fi definii prin adugarea unui numr de definiii compatibilie cu
eticheta HTML la care se refer, avnd urmtoarea form general:
selector_HTML { proprietate1:valoare1; proprietate2:valoare2; ... }
Dupa redefinirea etichetei HTML, stilurile etichetelor respective din documentul HTML
vor fi modificate automat. Prin redefinirea unei etichete, proprietile prestabilite existente nu
sunt anulate, ci se adaug altele noi.
Utilizarea selectorilor de tip clasa ofer posibilitatea configurrii unor stiluri care se pot
aplica doar acelor elemente care sunt etichetate cu clasa respectiv. Sintaxa general de definire a
unei clase CSS este:
.nume_clasa { proprietate1:valoare1; proprietate2:valoare2; ... }
Exist cazul n care o clas este asociat unui selector HTML, ceea ce nseamn c acea
clas poate fi folosit doar cu eticheta HTML respectiv. Pentru a defini o clas care s afecteze
n mod direct un anume selector HTML, se folosete urmtoarea sintax:
selector_HTML .nume_clasa { proprietate1:valoare1; proprietate2:valoare2; ... }
Selectoarele de clasa sunt acceptate de toate navigatoarele. Numele unei clase e
recomandat s fie diferit de cuvintele rezervate JavaScript.
Asemntor cu selectorii de clas se definesc i identificatorii (id-ul). Acetia sunt folosii
pentru crearea de stiluri care pot fi atribuite unei singure etichete HTML dintr-o pagin. Sintaxa
general de definire a unui identificator este:
#identificator { proprietate1:valoare1; proprietate2:valoare2; ... }
Identificatorii permit definirea unui element sub forma unui obiect, fiind folositi doar o
singur dat n cadrul unei pagini web pentru identificarea tag-ului respectiv, astfel poate fi
manipulat i cu ajutorul funciilor JavaScript. Numele unui identificator e recomandat s fie
diferit de cuvintele rezervate JavaScript. [9]
26
27
Codul PHP este inclus ntre tag-urile speciale de nceput i de sfrit, care permit
utilizatorului s treac din modul HTML n modul PHP.
Menionam faptul c, fa de alte limbaje de script, precum Javascript, n cazul PHP,
codul se execut pe serverul Web, nu n navigator (clientul Web). n acest context, PHP poate
obine accesul la fiiere, baze de date i alte resurse care sunt inaccesibile programului Javascript.
Astfel, utilizarea HTML n tandem cu PHP i serveruk de baze de date MySQL, este o
surs inepuizabil de coninut Web dinamic care combinate cu tehnici de utilizare a stilurilor
CSS pentru impresia artistic, conduc la construirea de pagini web atractivitate dotate cu o
funcionalitate deosebit.
Dac pe serverul webeste postat un site care utilizeaz scripturi PHP, clientul va primi
rezultatul execuiei scripturilor dar nu i codul care a produs acest rezultat.
Se poate configura serverul web ca sa prelucreze (analizeze) toate fisierele HTML cu
fiiere PHP. Astfel nu putem face distincia ntre paginile care pdoduse dinamic i cele care sunt
pagini statice.
Limbajul PHP conine funcii asemntoarecelor din alte limbaje de scripting CGI, care i
permite s colecteze date i s genereze dinamic pagini web sau s trimi i i s primeasc
cookies. Un mare avantaj al limbajului PHP este c ofer o palet larg de baze de date ca de
exemplu: dBase, Oracle, PostgreeSQL. De asemenea, limbajul PHP ofer suport pentru diverse
servicii server, utiliznd protocoale precum: IMAP, SNMP, MNTP, POP3 i HTTP.
Fiecare program PHP conine dou linii cu marcatori, care specific faptul c, textul
cuprins ntre cele dou linii conine instruciuni PHP i anume <? php . ?>.
Practic, programele PHP execut trei categorii de operaii elemntare.
execut prelucrai ale datelor, respectiv obin accesul la datele stocate n fiiere i
baze de date i le manipuleaz;
Pentru executatea unui script, trebuie ncrcat scriptul pe un server unde este instalat PHP.
Accesul la distan la un server Linux sau Unix se poate face prin intermediul protocoalelor
Telnet sau SSH, daca n prealabil se primete autorizarea de folosire a acestor protocoale de la
administratorul de sistem pentru un anumit utilizator.
Dac se folosete un server Microsoft Windows situat n acceiai reea local ca i staia
de lucru, atunci este posibil alocarea de ctre administratorul de reea a unei partiii de fiiere n
acest scop.
Pentru incrcarea scriptului prin intermediul protocolului FTP, administratorul de sistem
trebuie sa furnizeze utilizatorilor autorizati urmtoarele informaii:
28
URL-ul (localizatorul uniform de resurs) care trebuie folosit pentru a avea acces
la scripturile PHP.
Dup ce ncarcarea scriptului PHP a fost realizat cu succes, acest script se lanseaz n
execuie prin deschiderea unui navigator web (client) cu adresa URL asociat scriptului web.
ncepnd cu versiunea 4.1.0 a limbajului PHP, datele trimise serverului prin metoda get
sunt disponibile i n tablouri asociative $_GET i $_REQUEST
Tablourile $_REQUEST include toate datele get, post i cookie trimise unui script, adic
coninutul tablourilor $_GET, $_POST i $_COOKIE.
Datele introduse de utilizator ntr-un formular XHTML ajuns la server, unde trebuie
prelucrate de scriptul al crui URL este precizat ca valoare a atributului action al elementului
form. Aceste date trebuie s fie disponibile ca variabile PHP n scriptul care le va folosi.
O modalitate de acces la datele trimise prin metodele get i post este utilizarea tablourilor
asociativ: $_GET, $_POST, $_REQUEST, $HTTP_GET_VARS i $HTTP_POST_VARS
Alt modalitate de acces la date, pus la dispoziia de PHP, dac directiva register_globals
este setat pe ON n fiierul de configurare al PHP-ului, este reprezent de variabilele cu cele ale
elementelor formularului, variabil create automat de PHP.
Dar, utilizarea acestei modaliti de acces la date determin apariia unor probleme de
securitate majore, nu este recomandat configurarea directivei register_glabals pe valoarea ON.
Mai mult, acesta este configurat ncepnd cu versiunea 4.2.0 a PHP implicit pe OFF
Se recomand a se scrie scripturi n ipoteza ca directiva register_globals este setat pe
OFF, pe serverul unde urmeaz s fie plasate scripturile.
Nu orice dat introdus ntr-un formular poate fi acceptat i promovat de scriptul apelat
din pagina Web, de exemplu informaiile care nu respect formatul specificat. De aceea este
necesar validarea datelor nainte ca acesta s fie prelucrate i (eventual) stocate n tabelele
componente ale bazelor de date aflate pe server. Validarea datelor trimise server-ului Web se
poate face n dou moduri:
29
Validarea datelor introduse la clent are avantajul c reduce ncrcarea server-ului. Dac
validarea necesit compararea datelor introduse de client cu datele stocate ntr-o baz de date ( de
exemplu n secvena de login), in care se utilizeaz nume de utilizatori- user name i parole,
desigur c n acest caz validarea nu poate fi fcut dect pe server.
Validarea selectrii elementelor input de tip butin radio i checkbox, precum i a
elementului select se face prin intermediul utilizrii funciei isset ( ). Aceast funcie returneaz
valoarea logic TRUE, dac variabila transmis ca argument exist (dac utilizatorul a fcut o
opiune).
De exemplu prin instruciunea if (! trim($_POST [nume]) se elimin spa iile de la
nceputul i sfritul sitelui introdus i se testeaz coninutul realizat.
Datele incluse ntr-un formular HTML pot fi trimise scriptului de prelucrare i fr
utilizarea unui buton de tip submit. Acest procedeu presupune utilizarea unei modaliti de
execuie a metodei submit ( ) a obiectelor Form (metod i obiect JavaScript). Executia acestei
metode de determin trimiterea coninutului formularului ctre scriplul de prelucrare
Sever-ul de aplicaii PHP permite dezvoltarea site-urilor Web dinamice n contextul
utilizrii unui server de Web, de exemplu Server-ul Apache i a unui server de baze de date, de
exemplu MySQL
PHP poate accesa mai multe sisteme de gestiune a bazelor de date relaionale prin
intermediul interfeelor de programare pentru acces direct sau prin intermediul interfeei ODBC.
Acestea sunt bilioteci de funcii. Aceste funcii permite urmtoarelor aciuni.
Dintre sistemele de gestiune a bazelor de adte relaionale pentru care PHP are interfeele
de acces direct menionm: dBase, Informix, Ingres, Microsoft SQL Server, MySQL,
PostgresSQL, Oracle. De asemenea, PHP poate accesa i alte baze de date amintite precum i
altele ( IBM DB2, Sybase) prin intermediul interfeei ODBC.
30
Mai des utilizat de ctre dezvoltatorii de situri Web dinamice este MySQL, pentru care
PHP are un API de acces direct. Suportul PHP pentru sistemul MySQL este incorporat (built-in)
ncepnd cu versiunea 4.0.4
Limbajul PHP, permite accesarea bazelor de date (inclusiv MySQL) prin intermediul
interfeei ODBC, dispunnd de funcii specifice numite funcii ODBC. Att n versiunea pentru
Windows ct i n cea pentru UNIX/LINUX
Pentru crearea unei baze de date MySQL, PHP folosete funcia:
bool mysql_create_db(string nume_bd [resource id_legtur]) unde nume_bd este
numele bazei de date.
nainte de a fi utilizat, baza de date MySQL trebuie setat prin intermediul funciei:
bool mysql_selec_db(string nume_db [resource id_legtur]).
Aceast funcie selecteaz o baz de date, care va deveni baza de date prestabilit sau
implicit n mod explicit prin id_legtur (transimis ca argument funciei) sau pentru ultima
conexiune deschis, daca id_legtur nu este precizat.
Funcia mysql_select_dbl ( ) returneaz TRUE, dac baza de date a fost selectat i
valoarea logic FALS, n caz contrar.
Pentru tergerea unei baze de date MySQL avem funcia:
bool mysql_drop_db (string nume_db)
Pentru a transmite interogri server-ului MySQL, PHP utilizeza funcia:
resource mysql_query (string interogare)
Funcia trimite o interogare referitoare la baza de date activ (selectat), folosind
conexiunea precizat prin id_legtur, sau dac acesta lipsete, prin conexiunea stabilit cel mai
recent care specific n plus baza de date care devine baz de date activ.
PHP pune la dispoziie un set bine structurat de funcii pentru gestionarea rezultatelor
interogrilor, dintre care enumerm urmtoarele:
int mysql_num_rows (resource id_rez), care returneaz din tabelul set rezultate.
Serverul Web Apache st la baza a peste 60% din domenii, potrivit unui studiu Netcraft
Web Server. Providerii de internet i companiile de gzduire de aplicaii pe web utilizeaz cu
succes serverul Web Apache, datorit faptului c acesta ofer suport pentru mai multe platforme,
cu suport de gzduire usor de implementare i datorit modulelor sale de extensie.
Caracteristica Apache Portable Router (APR) optimizeaz capabilitile i administrarea
proceselor pentru fiecare sistem de operare, dar permite serverului Apache s ignore diferenele
specifice fiecri platforme.
Acest fapt a contribuit la mbuntirea performanelor i stabilitii implementrilor
Windows, prin eliminarea emulatorului.
APR este accesibil i dezvoltatorului web, care scrie programe multi-platforme n C, care
este mai rapid dect limbajele interpretive precum PHP i PERT, utilizate de obicei pentru
dezvoltare web. De asemenea serverul Apache este independent de protocoale.
Cu toate c Apache este n primul rnd un server HTTP (web), el este proiectat ca s
suporte i alte alternative, precum FTP. O astfel de structur simplific administrarea i reduce
riscurile de securitate.
API-ul su deschis a permis dezvoltatorilor s scrie diferite module care i-au schimbat
comportamentul. Dac serverului i lipsete o funcie de care are nevoie un site e posibil s
regsim acea funcie ntr-un modul plug-in.
Serverele de web au ca funcionalitate de baz recepionarea de cereri anonime de la
clieni i furnizarea de informaii n mod eficent, un server web este un daemon care accept
conexiuni conforme protocolului HTTP, rspunznd cererilor recepionate de clieni. Pentru a
asigura servicii HTTP, serverul Apache trebuie s fie instalat n sistem (i anume un pachet RPM
n Linux sau un program executabil .exe in Windows) , iar daeomn-ul HTTP pornit. Apache este
un sistem modular, consituit dintr-un server de baz i mai multe module care sunt ncarcate
dinanic ntru-un mod asemntor cu funcionarea modulelor din nucleul Linux.
Apache poate fi configurat cu ajutorul interfeei grafice apacheconf (Apache
Configuration Tool).
n anumite cazuri este necesar s se restricioneze accesul la anumite documente prin
intermediu autentifcrii prin nume de utilizator i parol sau n funcie de adresa calculatorului
clientului Web.
Pentru autentificarea utilizatorilor, se parcurg urmtorii pai:
se creeaza un fiier care conine numele i parolele utilizatorilor care vor avea
acces la anumite date de pe serverul web (Apache)
32
se configureaz serverul pentru a seta care resurse vor fi protejoate i care sunt
utilizatorii care sunt desemnai s aib permisiunea accesrii acestor resurse, dup
introducerea unei parole valide.
Configurarea serverului se poate realiza fie prin fiierul httpd-conf, fie prin .htacces,
indicnd o zon protejat, de obicei n funcie de directoarele dorite a fi accesate pe baz de
autentificare. Fisierul .htaccess va fi stocat n directorul asupra cruia dorim s modificm
comportamentul implicit al serverului web. nainte de a modifica maniera de autentificare din
fiierul .htaccess, administratorul serverului Apache va specifca n fiierul httpd.cpnf ca
autentificrile s se realizeze via.htaccess.
De asemenea, Apache ofer posibilitatea de a servi mai multe situri web simultan, adic
gzduirea virtual (virtual hosting). Exist dou metode de implementare a gzduirii virtuale :
una bazat pe nume iar cealalt bazat pe adrese IP. Mainile virtuale bazate pe adres utilizeaz
adresa IP a conexiunii pentru a determina maina virtual corect.
Astfel pentru fiecare gzduire virtual bazat pe nume, determinarea mainii virtuale se
face pe baza numelui acesteia.
Gzduirea virutal este mai simplu de implementat i este recomandat a fi utilizat.
Pentru a utiliza serviciul de gzduire virtual, trebuie mai nti stabilite care va accepta cereri
pentru respectiva main virtual.
CAPITOLUL III
BAZE DE DATE I SGBD MYSQL UTILIZATE LA
REALIZAREA DE SITE-URI WEB
34
Coerena datelor;
Partajarea datelor;
Securitate crescut;
35
Concurena imbunatait;
Complexitatea;
Dimensiunea crescut;
Arhitectura bazei de date cea mai avantajoasa si flexibil este cea organizat pe trei
niveluri:
1. Nivelul extern, corespunztor structurii utilizatorilor;
2. Un nivel conceptual, corespunztor structurii logice ale bazei de date ca un
ansamblu unic;
3. Un nivel intern, aferent structurii fizice cu care este organizat baza de date
( indexuri, structuri de stocare, moduri de acces.)
Nivelul conceptual ( nivelul logic) se constituie din imaginea ntregii baze de date, care
cuprinde toate datele memorate, toate relaiile dintre acestea i toate restriciile la care sunt
supuse datele din punct de vedere logic.
Limbajele utilizate n bazele de date sunt:
compilarea instruciunilor DDL rezult un set de tabele stocate n fiiere speciale, denumite
catalog de sistem (dicionar de date sau director de date).
i tergere. Exist limbaje DML reprocedurale. Limbajele DML procedulare definesc comenzi
care specific cum se regsesc datele, n timp ce un limbaj DML reprocedural specific ce date
s fie cutate, comenzile sunt nlocuite cu declaraii (descrieri), sistemul SGBD transform o
instruciune n limbaj DML ntr-o procedur (sau un set de proceduri) care manipuleaz setul
de nregistrri solicitate.
Acest mecanism elibereaz utilizatorul de cunoaterea detaliilor de implementare.
Datorita faptului ca limbajul de definire a datelor (DDL) care permite scrierea schemei
bazei de date, utilizeaz o descriere a BD la nivel superior prin aa numitul model de date.
36
Modelul de date este o colecie integrat de concepte necesare pentru descrierea datelor, a
relaiilor dintre date i constrngerile asupra datelor dintr-o organizaie. Cu ajutorul modelului
de date se pot reprezenta obiecte i evenimente din realitate. Exist mai multe modele de date:
bazate pe obiecte, bazate pe nregistrri i modele de date fizice.
Vom prezenta cteva caracteristici ale modelului de date relaional care se bazeaz pe
noiunea matematic de relaie.
Considerm o mulime de M mulimi nu neaprat M={M1,M2,.....,Mn} i produsul cartezian al
acestor mulimi P=M1xM2x...xMn ca mulimea tuturor N- tuplelor (m1, m2, ...., mn), unde mi
Mi, i=1,N. Numim relaie peste mulimea M, o submulime a produsului cartezian
M1xM2x....xMn. O entitate (a unei BD) este o relaie definit peste domeniile atributelor sale,
pentru fiecare realizare a sa apartine produsului cartezian al domeniilor D1, D2, ... , Dn.
Realizarile unei entiti sunt de forma (d1, d2, ... , dn) i aparin produsului cartezian
D1xD2x...xDn. Gradul relaiei este numrul de elemente ale familiei de caracteristici (numrul
de atribute) ale entitaii (numit relaie). Cardinalul relaiei este numrul de realizri al
ntetitii (relaiei). Asocierile dintre entiti sunt la rndul lor relaii (deci entiti sau tabele ).
Pentru a reprezenta o asociere ntre entiti nu este nevoie s aducem n tabel
corespunztoare asocierii toate atributele entitilor implicate, ci sunt suficiente cheile acestor
entiti. Deci, n modelul relaional, un tabel este o relaie, dou tabele se pot asocia ntre ele tot
printr-o relaie, asocierea lor este tot un tabel, deci tot o relaie.
Relaia este un tabel cu coloane i rnduri un SGBD relaional care permite ca baza de
date la nivelul utilizatorului i la nivelul structurii logice de date s fie perceput ca un
ansamblu de tabele intercorelate.
Atributul este o coloan a unei relaii, cu o anumit denumire. Atributele pot aparea in
orice ordine.
Domeniul este mulimea de valori premise pentru unul sau mai multe atribute.
Tuplul este un rnd dintr-o relaie.
Gradul unei relaii este repezentat de numrul de atribute al acesteia. Elementele unei
relaii sunt rndurile sau tuplurile dintr-un tabel. Cardinalitatea unei relatii este numrul de
tupluri coninute de aceasta.
Instana (realizarea unei relaii) este valoarea pe care o are la un moment dat un obiect. O
relaie poate avea o instan, deasemenea i un atribut poate avea o instan (toate datele de pe
coloan care fac parte din domeniu).
Valoarea "null" reprezint valoarea unui cmp cruia nu i s-a alocat nici o valoare.
Valoarea "null" nu este nici adevrat nici fals. Baza de date relaional este un set de rela ii
normalizate.
37
simultan mai muli utilizatori. Modul n care este organizat aceast relaie ntre date i
utilizator constituie arhitectura.
pe server iar o aplicaie client care se ruleaz pe staie. E posibil ca att clientul ct i serverul
s fie pe acelai calculator. Staia lanseaz procese pe server iar rezultatul acestor prelucrri va
fi trimis pe staie.
Catalogul de sistem este un depozit de informaii care descrie datele din baza de date.
Informaiile din catalog se numesc metadate (date despre date). ntr-o relaie pot exista mai multe
cmpuri sau seturi de cmpuri care pot ndeplini rolul de cheie, acestea se numesc chei candidat.
Se impune rezisten pentru ca cheile candidat s nu conin n interiorul lor o alt cheie
candidat, deci acestea nu conin cmpuri care sunt inutile pentru identificare. Deci nici un subset
al cheii candidat nu este suficient pentru a permite indentificarea unic a tuplelor.
38
MySQL permite importarea diverselor tipuri de baze de date i exportarea sub forma
fiierelor *.sql. Tranzacile nu sunt parte a tabelelor implicite (ISMN) ale lui MySQL, dar sunt
incluse dou noi tipuri de tabele: Berkley DB (BDB) i InnoDB care au fost dezvoltate de alte
firme.
MySQL opereaz pe baza unui model clinei/server. Pentru a procesa interogri asupra
unei baze de date MySQL trebuie s rulm MySQL server (Mysqld), care este responsabil de
ntreg traficul de tip intrri/ieiri (incoming/outgoing) cu baza de date. Ca orice server, MySQLD
ascult pe un port particular (3306) eventualele cereri de conexiune ale unui client, orice
aplicaie care trimite cereri ctre o baz de date via mysqld. Acest script poate fi un script PHP
care poate trimite o cerere ctre baza de date prin intermediul server-ului MySQL sau chiar
clientului mysql.
Clientul mysql este o interfaa interactiv pentru transmiterea de comenzi ctre server.
Modelul de securitate folosit de MySQL se bazeaz pe nume de utilizator, parol, nume server
(Hostname) sau adresa de IP i privilegii. Privilegiile sunt in cazul MySQL operaiile care vor fii
permise asupra bazei/bazelor de date, tabelelor sau indecilor, adic interogrii de forma:
SELECT, INSERT, UPDATE, DELETE, CREATE, DROP.
Datele sunt obiectul operaiunilor de prelucrare, iar SGBD-urile furnizeaz cele mai
complexe i puternice faciliti pentru lucrul cu datele. Limbajul PHP include o bibliotec de
funcii care furnizeaz o interfa cu sistemul MySQL de gestiune a bazelor de date. Folosind
aceste funcii, un program PHP poate obine accesul la datele rezidente ntr-o baz de date
MySQL i le poate modifica.
interogrile SELECT, care returneaz rnduri dintr-un tabel, sau dintr-un asamblu
de tabele intercorelate;
CAPITOLUL IV
PROIECTAREA UNUI SITE WEB PENTRU PROMOVAREA
UNEI FIRME PE INTERNET
se poate pleca fie de la intrri, fie de la ieiri, fie se poate realiza o variant mixt;
Fazele proiectrii unui site sau a unui produs program, aplicaie sau component a unui
sistem informatic sunt urmtoarele:
stabilirea obiectivelor;
proiectarea ieirilor;
codificarea;
elaborarea documentaiei.
Proiectarea sau realizarea unei pagini web sau a unui site, necesit un studiu etapizat,
conform metodologiilor de proiectare i construire a aplicaiilor, i a sistemelor informatice,
avnd n vedere particularitile i cerinele pe care urmeaz s fie transpuse n funcionalitatea
site-urilor. Vom avea in vedere i posibilitaile viitoare de dezvoltare a aplicaiei precum i
trendul actual al tehnologiilor i soluilor informatice.
Site-ul Web va fi gzduit pe un server web i va construi o entitate virtual, fiind punctul
de legtur dintre furnizorul de produse i servicii i potenialul beneficiar, client sau cumprtor.
n cele mai multe cazuri, companiile care doresc s-i promoveze sau s-si dezvolte afacerile n
mediul virtual, pe Web, apeleaz la serviciile unei firme specializate de software pe profilul
realizare site-uri. Ca urmare a colaborrii acestei firme cu compania beneficiar a site-ului se
construiete un site dedicat, performant, care implementeaz cerinele formulate de beneficiar
oferindui funcionalitatea cea mai adecvat acestor cerine, precum i impresia artistic
(designul), care face ca site-ul s rein atenia celor ce navigheaz pe Web.
Deci site-ul va fi un spaiu comercial virtual n care vizitatorul interesat va putea:
Astfel site-ul va fi locul de ntalnire dintre cerere i ofert. Ponteialul cumprtor are
posibilitatea s vad atat portofoliul de produse i servicii afiat prin imagini i descrise pe site,
precum i portofoliul altor furnizori, n scopul comparrii.
Din aceast cauz, competiia este acerb, la proiectarea i realizarea site-ului vor trebui
luate n seam toate aspectele de funcionalitate i estetic.
Site-ul trebuie s dispun i de sistem complex a coninutului care s permit adugarea,
modificarea i tergerea produselor din baza de date (text i imagini). De asemenea nregistrarea
comenzilor i a datelor despre clieni intr-o baz de date este de preferat i un sistem care s
semanlizeze prin e-mail lansarea unei comenzi.
Pentru o companie de anvergur pe site se va putea stabili cine i cum va prelua i onora
comenzile de pe site i poate uneori necesita angajarea unui webmaster. Produsele trebuie
organizate pe categori (i eventual pe subcategori), astfel nct clienii s poat gsi rapid ceea ce
caut.
O mare atenie trebuie acordat prezentrii produselor, mai ales imaginile trebuie s fie de
calitate, s fie relevante, astfel nct s-i permii vizitatorului site-ului s-i formeze o prere pe
ct posibil pozitiv. n plus, este foarte util realizarea unui sistem de ajutor n cadrul site-ului,
nu trebuie plecat de la premisa c vizitatorii site-ului sunt navigatori experimenta i i au mai ales
produse on-line , dar nu trebuie nici ignorat.
Pentru a ilustra tehnologiile informatice care pot fi utilizate la construirea site-urilor Web
dinamice am procedat la analiza i proiectarea unui site web pentru promovarea unui atelier de
tmplrie n spaiul virtual. n acest scop am utilizat limibajul HTML n tandem cu mediul de
dezvoltare PHP precum i server-lui baze de date MySQL .
Am ales in acest scop pachetul WAMP server care prezint siguran n funcionare si
configurare optim pentru dezvoltatorii web care folosesc produsele freeware n dauna celor
comerciale.
Astfel am analizat activitatea firmei din care am elaborat catalogul de cerine cu privire la
scopul i funcionalitatea site-lui din prespectiva beneficiarului acestui site. Datorit faptului c
firma n cauz i-a propus doar promovarea n spatiul virtual doar activitatii acestia, produsul
software nu a nglobat i activiti de vnzare online i nici pli electronice.
Astfel site-ul permite vizitatorului s i fac o prim impresie n legtur cu protofoliul
de produse i servicii aflat la dispoziia furnizorului. La dispoziia utilizatorului am pus sec iunea
de cutare prin care acesta poate cuta anumite informaii din cadrul bazei de date. De asemenea
42
n scopul identificrii locaiei firmei am pus la dispoziie un link pentru localizarea firmei cu
ajutorul Google Maps. Pentru a oferi informai structurat am pus la dispozi ie un asamblu de
linkuri ctre tipurile de produse i servicii oferite de firm. Pentru a veni n ntmpinarea dorin ei
vizitatorului am pus la dispoziie cteva linkuri ctre site-uri uzitate (facekook , google , twitter).
De asemenea la ncheierea vizitrii site-lui vizitatorul i poate completa datele personale
n scopul nregistrrii n tabela Clieni din cadrul bazei de date.
Informaiile introduse de client n seciunea Contact sunt nregistrate n baza de date n
tabela clieni, care ulterior administratorul site-ului o va putea consulta n scopul codificrii
clienilor n funcie de tipul de produse sau servicii solicitate.
Pentru Administratorul site-ului am pus la dispoziie seciunea de login, prin care se va
autentifica. Dup autentificare administratorul are drepturi depline asupra informaiilor din
ntreaga baza de date. Astfel, n funcie de codul clientului, administratorul va putea extrage din
baza de date clienii mpreun cu tipurile de produse solicitate de acetia i va putea trimite un
email potenialului client care a fost interesat de produsele sau serviciile furnizate de firm.
n plus eventualele erori din baza de date cauzate de completarea eronat a unor date
legate de clientri sau produse vor putea fii corectate de ctre administrator. [2], [3], [4]
Tabela Clienti va conine urmtoarele informaii:
Id
int (5)
NOT NULL
Cod_client
varchar (6)
NOT NULL
Nume_client
varchar (30)
NOT NULL
Adresa
varchar (40)
NOT NULL
Telefon
varchar (12)
NOT NULL
varchar (40)
NOT NULL
auto_increment
primary key
int (5)
NOT NULL
Cod_produs
varchar (6)
NOT NULL
NOT NULL
Pre
NOT NULL
int (6)
auto_increment
primary key
int(5)
int(6)
int(6)
int(6)
date()
NOT NULL
NOT NULL
NOT NULL
NOT NULL
NOT
43 NULL
auto_increment
primary key
CONCLUZII
BIBLIOGRAFIE
[1]
Anghel Traian, Programarea n PHP, Ghid practic, Editura Polirom, Iai 2005
[2]
Buraga S, Proiectarea Siturilor Web (ediia a II-a), Editura Polirom, Iai, 2005
[3]
[4]
45
[5]
[7]
Olteanu Emil, Muntean Maria, Baze de date relaionale, Editura Aeternitas Alba Iulia
2010
[8]
Rasmus Lerdof, Kevin Tatroe, Programming in PHP, Editura OReilly Associates 2002,
http://www.infoap.utcluj.ro/multi/programming_PHP.pdf
[9]
Richard York, Beginning CSS Cascading Style Sheets, Editura Wiley Publishing, Inc. ,
Tim Converse, Joyce Park, Clark Morgan, PHP 5 and MySQL Bible, Editura Wiley
ANEXE
Exemple ilustrative de cod surs utilizat n site-ul Web
Pagina 1. Home.html
46
</div>
<!-- end #content -->
<div id="sidebar">
<UL>
<li id="cautare">
<h2>Cautare</h2>
<form id="searchform" method="get" action="">
<div>
<input type="text" name="s" id="s"
size="15" />
<br />
<input name="submit" type="submit"
value="Cauta" />
</div>
</form>
</li>
<li id="harta">
<h2>Harta locatiei</h2>
<li><A href="http://albaiulia.harta.orasultau.ro/">HARTA aici</A>
</li>
</li>
<A NAME="Produse"></A>
<li>
<h2> Produse si servicii</h2>
<UL>
<li><a href="#">Mobilier</a></li>
<li><a href="#">Cabane</a></li>
<li><a href="#">Scari interioare</a></li>
<li><a href="#">Filigorii de gradina</a></li>
<li><a href="#">Diverse</a></li>
</UL>
</li>
<li>
<h2>Link-uri utile </h2>
<UL>
<li><A href="https://www.facebook.com/"> FACEBOOK</A>
</li>
<li><A href="https://www.google.ro/ ">Google</A></li>
<li><A href="https://twitter.com/ ">Twitter</A></li>
</UL>
</li>
</UL>
</div>
<!-- end #sidebar -->
</div>
<!-- end #page -->
<div id="footer">
49
Pagina 2. Contact.html
?>
<h4><b>Adaugare clienti</b></h4>
<FORM action="prel_adgCONTCT.php" method="POST">
<TABLE border="1" cellpadding="5">
<TR><td>Nume si prenume:</td>
<td><INPUT name="nume_client" type="text" size="30" /></td></TR>
<TR><td>Adresa:</td>
<td><INPUT name="adresa" type="text" size="40" /></td></TR>
<TR><td>Telefon:</td>
<td><INPUT name="telefon" type="text" size="12" /></td></TR>
<TR><td>EMail:</td>
<td><INPUT name="eMail" type="text" size="6" /></td></TR>
<TR><td></td>
<td><INPUT type="submit" name="adauga_client" value="Adauga">
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
<?php
// include("autorizare.php");
// include("admin_top.php");
$con=MYSQL_CONNECT("localhost", "root", "") or EXIT("Conectare esuata !");
MYSQL_SELECT_DB("bdCLI", $con) or EXIT("selectare baza bdCLI nereusita");
if (isset($_POST['adauga_client']))
{
if ($_POST['nume_client'] == "")
{
echo 'Completati nume_client !!! <br>
<A href="adgCLI.php">Inapoi</A>';
exit;
}
$sql = "SELECT * FROM Clienti WHERE nume_client='".$_POST['nume_client']."'";
$res = MYSQL_QUERY($sql);
if (MYSQL_NUM_ROWS($res) != 0)
{
echo ' Clientul: <b>'. $_POST['nume_client'].'</b> exista deja in baza de date!
Corectati nume client!<br><A href="adgCLI.php">Inapoi</A>';
exit();
}
$codCL = "1";
51
52
<?php
// include ("autorizare");
// include ("admin_top");
?>
<h4><b>Adaugare clienti</b></h4>
<FORM action="prel_adgCLI.php" method="POST">
<TABLE border="1" cellpadding="5">
<TR><td>Cod client:</td>
<td><INPUT name="cod_client" type="text" size="6" /></td></TR>
<TR><td>Nume client:</td>
<td><INPUT name="nume_client" type="text" size="30" /></td></TR>
<TR><td>Adresa:</td>
<td><INPUT name="adresa" type="text" size="40" /></td></TR>
<TR><td>Telefon:</td>
<td><INPUT name="telefon" type="text" size="12" /></td></TR>
<TR><td></td>
<td><INPUT type="submit" name="adauga_client" value="Adauga">
</TR>
</TABLE>
</FORM>
<?php
53
// include("autorizare.php");
// include("admin_top.php");
$con=MYSQL_CONNECT("localhost", "root", "") or EXIT("Conectare esuata !");
MYSQL_SELECT_DB("bdCLI", $con) or EXIT("selectare baza bdCLI nereusita");
if (isset($_POST['adauga_client']))
{
if ($_POST['nume_client'] == "")
{
echo 'Completati nume_client !!! <br>
<A href="adgCLI.php">Inapoi</A>';
exit;
}
$sql = "SELECT * FROM Clienti WHERE nume_client='".$_POST['nume_client']."'";
$res = MYSQL_QUERY($sql);
if (MYSQL_NUM_ROWS($res) != 0)
{
echo ' Clientul: <b>'. $_POST['nume_client'].'</b> exista deja in baza de date!
Corectati nume client!<br><A href="adgCLI.php">Inapoi</A>';
exit();
}
// VALUES ('".$codCL."',
$codCL = "1";
$sql="INSERT INTO Clienti (cod_client, nume_client, adresa, telefon) VALUES ('".
$_POST['cod_client'].
"','".$_POST['nume_client']."','".$_POST['adresa']."','".$_POST['telefon']."')";
MYSQL_QUERY($sql);
echo 'Clientul <b>'.$_POST['nume_client'].'</b> a fost adaugatin BD!<br>'.
'<A href="adgCLI.php">Inapoi</A>';
exit;
}
MYSQL_CLOSE($con);
?>
54
<?php
$con=MYSQL_CONNECT("localhost", "root", "") or EXIT("Conectare esuata !");
MYSQL_SELECT_DB("bdCLI") or EXIT("selectare baza bdCLI nereusita");
?>
<h4>Modificare sau stergere date CLIENTI</h4>
<FORM action = "prel_modifCLI.php" method = "POST">
Clientul:
<SELECT name = "id">
/* Extragem numele de clienti din BD si le afisam intr-o lista dropdown */
<?php
$sql = "SELECT * FROM Clienti ORDER BY nume_client ASC";
$res = MYSQL_QUERY($sql);
WHILE ($row = MYSQL_FETCH_ARRAY($res))
{
echo '<OPTION value="'.$row['id'].'">'.$row['nume_client'].'</OPTION>';
}
?>
</SELECT>
55
56
?>
<?php
// include("autorizare.php");
// include("admin_top.php");
$con=MYSQL_CONNECT("localhost", "root", "") or EXIT("Conectare esuata !");
MYSQL_SELECT_DB("bdCLI", $con) or EXIT("selectare baza bdCLI nereusita");
if (isset($_POST['modifica_client']))
{
/* se verifica daca noul nume client a fost introdus */
if($_POST['nume_client'] == "")
{
echo 'Nu ati completat nume client modificat. Corectati, va rog ! <br>
<A href="modifCLI.php">Inapoi</A>';
exit;
}
else
{
$sql = "SELECT * FROM Clienti WHERE nume_client='".$_POST['nume_client']."'";
$res = MYSQL_QUERY($sql);
if (MYSQL_NUM_ROWS($res) != 0)
{
echo ' Clientul: <b>'. $_POST['nume_client'].'</b> exista deja in baza de date!
Corectati nume client!<br><A href="modifCLI.php">Inapoi</A>';
exit();
}
$sql = "UPDATE Clienti SET nume_client='".$_POST['nume_client']."'
WHERE id = ".$_POST['id'];
MYSQL_QUERY($sql);
echo "Clientul a fost modificat!".'<A href="modifCLI.php">Inapoi</A>';
exit;
}
}
if (isset($_POST['sterge_client']))
{
$sql = "DELETE FROM Clienti WHERE id = ".$_POST['id'];
MYSQL_QUERY($sql);
echo "Clientul a fost STERS!". '<A href="modifCLI.php">Inapoi</A>';
exit;
}
MYSQL_CLOSE($con)
?>
Pagina 5. Vizualizare Clieni
57
<?php
$con=@MYSQL_CONNECT("localhost", "root", "")
or EXIT("Conectare esuata !");
$id_tbl = MYSQL_LIST_FIELDS("bdCLI", "Clienti", $con);
$nrcols = MYSQL_NUM_FIELDS($id_tbl);
MYSQL_SELECT_DB("bdCLI") or EXIT("Selectare BD nereusita !");
$sql = "SELECT * FROM Clienti";
$res = MYSQL_QUERY($sql);
?>
            Lista CLIENTI
<TABLE border="1" cellpadding="2">
<TR>
<th>ID</th>
<th>Cod client</th>
<th>Nume client</th>
<th>Adresa</th>
<th>Telefon</th>
58
<th>EMail</th>
</TR>
<TR>
<?php
WHILE ($rand=MYSQL_FETCH_ROW($res))
{
echo "<TR>";
FOR ($i=0; $i < $nrcols; $i++)
echo "<TD>".$rand[$i]."</TD>";
echo "</TR>";
}
?>
</TABLE>
<?php
@MYSQL_CLOSE($con);
?>
59