conectarea paginilor web la baze de datemarksend.3x.ro/conectarea paginilor web la baze de...
TRANSCRIPT
UNIVERSITATEA DE VEST TIMIŞOARAFACULTATEA DE MATEMATICĂ ŞI INFORMATICĂ
DEPARTAMENTUL DE INFORMATICĂ
Lucrare de Licenţă
Autor: Coordonator:Sipos Mark Endre Conf. Dr. Victoria Iordan
TIMIŞOARA2005
Conectarea Paginilor Web La Baze De Date
Gestiunea Consumatorilor Electrica
Conectarea Paginilor Web La Baze De Date 2
Cuprins
Introducere .................................................................................. 5
&1.Pagini Web
1.1. Internetul pentru firme ...................................................... 5
1.2. Realizarea unui site ........................................................... 7
1.3. Confidenţialitatea datelor personale ................................. 10
1.4. Ce este www, http ............................................................. 11
1.5. Structura paginilor Web .................................................... 12
&2.Baze De Date
2.1.O istorie a bazelor de date ................................................. 16
2.2.Crearea bazei de date ......................................................... 16
2.3.Organizarea in tabele ......................................................... 18
2.4. Conectarea la baza de date ............................................... 18
2.5. Interogarea bazei de date .................................................. 19
&3.Conectarea Paginilor Web La Baze De Date
3.1. Limbajul de accesare php/mysql ...................................... 20
3.2.Conectarea la baza de date ................................................ 23
3.3.Introducere, afişare date .................................................... 29
3.4.Actualizare, căutare şi ştergere ......................................... 32
3.5.Selecţie elemente, interceptarea erorilor ........................... 35
Conectarea Paginilor Web La Baze De Date 3
&4.Macromedia Dreamweaver
4.1. Dezvoltare de aplicaţii web profesionale ......................... 39
4.2. Standard al uneltelor de design ........................................ 39
4.3. Crearea unei pagini elementare cu text ............................ 40
4.4. Hiperlegături, adrese URL ............................................... 41
4.5. Adăugarea fişierelor Flash ............................................... 42
4.6. Afişarea datelor cu ajutorul tabelelor ............................... 43
&5.Proiectul: Gestiunea Consumatorilor Electrica
5.1. Descriere Proiect .............................................................45
5.2. Modelarea claselor .......................................................... 46
5.3. Definirea claselor cu atributele lor .................................. 48
5.4. Definirea claselor necesare, atributelor şi operaţiilor ..... 49
5.5.Paşii creării facturii .......................................................... 50
5.6.Diagrama de trasare a evenimentelor ............................... 51
5.7.Concluzie .......................................................................... 52
Bibliografie ................................................................................. 54
Conectarea Paginilor Web La Baze De Date 4
Introducere
Companiile erei industriale sunt provocate de modelul emergent al companiilor Erei
Cunoasterii. Industria brokerajului furnizează câteva asemenea exemple interesante în
cum această dinamică competitivă evoluează.
Majoritatea modelelor de afaceri ale erei industriale se luptă să folosească cât mai bine
tehnologiile Internet. Unul dintre motivele acestei lupte este că corporaţiile valului al
doilea şi chiar al treilea văd tehnologia ca un mijloc care face posibilă îndeplinirea mai
bună a unor scopuri.
Competiţia online, afirmarea unor noi modele de afaceri şi centrarea atenţiei pe
consumator şi nu pe produs au ca efect creşterea puterii consumatorului. Putem astfel
spune ca Internetul oferă mai multă putere consumatorului. Acest lucru este mai bine
explicat în continuare analizând câteva aspecte precum: noi propuneri de a oferi valoare,
creşterea numarului de consumatori online, reducerea preţurilor ca urmare a competiţiei
online, transparenta preţului etc.
&1.Pagini Web
1.1.Internetul pentru firme
Internet-ul poate fi un instrument foarte folositor pentru orice companie, mare sau mică,
de nivel local, naţional sau mondial atunci când este folosit intr-un mod corespunzător. El
poate fi folosit pentru publicitate şi pentru a oferi unei game foarte largi de persoane
informaţii despre firma respectivă sau poate fi folosit chiar mai mult, la firmele care se
ocupă de comerţ, prin implementarea unui sistem de comerţ electronic prin care firma
respectivă sa işi poate lărgi piaţa de desfacere a produselor pe care le comercializează.
Nevoia de a înregistra un domeniu porneşte de la nevoia de personalizare a adresei de
Web, adică de a da un nume afacerii voastre. Prin alegerea unei adrese de Web un
Conectarea Paginilor Web La Baze De Date 5
utilizator va intra mai rapid, mai uşor în site, făcând o legătură logică între cine sunteţi
sau cu ce vă ocupaţi şi numele adresei de web.
Nevoia de comunicare nu va fi niciodată oprită. Internetul a devenit o modalitate de
satisfacere a nevoilor psihice, astfel renunţăm să ne mai cumpărăm un CD cu muzică,
pentru că putem să îl ascultăm pe Internet, renunţăm să cumpărăm un ziar pentru că îl
putem citi în format electronic. Utilizatorul are tot, doar timp să aibă pentru cunoaştere.
"Am tot ce vreau şi nimic nu e al meu" era un vers al unei trupe de hip-hop românesc şi le
dau dreptate. Am ajuns să judecăm, să ne accentuăm dorinţele, obsesiile, să devenim din
ce în ce mai puternici, mental, doar din cauza unor calculatoare.
Cât durează să faci un site ? "Până seară", am putea spune. Poate că aşa ar sta lucrurile
dacă nu ar intră în ecuaţie factorul delicat al proiectării. În general, designerii specializaţi
iau în calcul proiectul la aproape jumătate din suma pe care o cer clientului. Uneori pe
drept, alteori nu, dar asta nu contează. În general se cunosc câteva reţete de a proiecta un
site. "Se cunosc" e un fel de a spune, pentru aceste lucruri au apărut mai mult empiric, la
baza lor stând o mare doză de bun simţ şi abilitate practică.
Pentru început trebuie să definiţi în mod clar obiectivul său scopul site-ului. Ce anume
doriţi să realizaţi şi cum vă propuneţi să arate situl web în final? Analizaţi mijloacele care
vă sunt necesare şi pe care le aveţi la dispoziţie pentru atingerea ţintei propuse. Notaţi ce
anume trebuie făcut mai întâi şi ce sarcini puteţi îndeplini ulterior. Pe baza obiectivului
stabilit şi a mijloacelor disponibile puteţi să vă planificaţi mai uşor munca. De asemenea,
acelaşi obiectiv va influenţa în mod decisiv conţinutul şi forma de prezentare a sitului.
Dupş ce aţi stabilit care este obiectivul sitului trebuie să vedeţi care vor fi utilizatorii
acestuia. Audienţa reprezintă publicul ţintă pentru care aţi realizat situl web. Este un
element critic deoarece designul sitului ţi conţinutul acestuia sunt în strânsă legătură cu
audienţa. De aceea, căutaţi să realizaţi profilul standard al utilizatorului şi să strângeţ cât
mai multe informaţii legate de obiceiurile, interesele, acţiunile, necesităţile şi în general
modul de viaţă ale tuturor persoanelor care alcătuiesc publicul ţintă.
Conectarea Paginilor Web La Baze De Date 6
1.2. Realizarea unui site
Majoritatea celor care navighează pe Internet sunt în căutare de informaţii. Navigarea se
face uşor iar utilizatorul de Internet nu are nevoie de cunoştinţe de specialitate pentru a
face acest lucru. Pe navigator (sau Web-surfer) nu îl interesează modul cum este realizat
codul care se află în spatele unei pagini Web. Totuşi datorită răspândirii explozive a
computerului şi a reţelelor de calculatoare, Internetul a crescut, devenind din instrument
de comunicare la care aveau acces doar un cerc restrâns de indivizi, o reţea planetară în
care fiecare firmă este conectată şi poate interacţiona cu posibilii parteneri printr-un site.
Un site este un loc virtual, pe Internet, unde poţi găsi informaţii. Acesta poate fi
comercial, pentru reclama, comerţ electronic şi pentru dialog cu consumatorii, suport
tehnic şi informaţional, etc. Fireşte, aceasta a dus la dezvoltarea unei ramuri distincte în
industria calculatoarelor mai specific în zona software cea a tehnologiilor web şi a
reţelelor cu servicii integrate şi nu numai. Fiecare producător se poate afirma în stilul
propriu dacă pagina este personală, sau trebuie să respecte cerinţe de stil şi de conţinut
impuse de organizaţia sau persoana client pentru care lucrează.
Puţini dintre utilizatorii de Internet îşi pun problema realizarii unui site, fie şi doar pentru
a-şi prezenta propria persoană, majoritatea se mulţumesc cu parcurgerea paginilor, cu
explorarea şi exploatarea resursei inepuizabile pe care o reprezintă Internetul.
Pentru realizarea unui site se pot folosi o multitudine de programe ajutătoare, fiecare
oferind o mulţime de servicii şi avantaje, pe lângă o iterfaţă grafică atractivă astfel încât,
efortul realizatorului să fie cât mai mic, iar calitatea lucrării cât mai bună.
Instrumentul de bază în realizarea unei pagin web este HTML. Acesta nu este un limbaj
de programare propriu-zis ci unul de marcare, adică o metodă prin care putem indica unui
program utilizator (browser) cum dorim să afişeze conţinutul documentului (text,
imagini, etc.). Un document al cărui conţinut este iterpretat de către un browser pe baza
indicaţiilor HTML (aşa-numitele "taguri" HTML) pe care le conţine se numeşte pagină
Conectarea Paginilor Web La Baze De Date 7
Web. Conţinutul unei pagini web este afişat pe ecran în funcţie de elementele HTML pe
care le conţine.
Deşi limbajul HTML propriu-zis nu are o flexibilitate foarte mare, el a oferit cadrul în
care Internetul s-a dezvoltat la rate exponenţiale în ultimii 10 ani. Între timp au apărut
limbaje de programare puternice care au extins foare mult posibilităţile unei pagini Web,
permiţând utilizarea cu succes a aplicaţiilor Web.
Dintre aceste limbaje enumerăm Java (Appleturi), JavaScript, PHP, JSP, C#. În această
lucrare sunt explorate posibilităţile pe carte le oferă JavaScript şi PHP-ul.
Pentru a elabora un site complex este necesar să parcurgem câteva etape, nu sunt
obligatorii, dar este necesar ca siteul să respecte toate aspectele acestor etape (sau faze).
Aceste etape sunt:
Stabilirea subiectului sitului web: acesta presupune pe lângă stabilirea subiectului
propriu-zis, stabilirea a ceea ce va conţine siteul dar şi a informaţiilor care nu le va
conţine.
Identificarea audienţei: la fel ca într-un plan de marketing, trebuie să identificăm
persoanele pentru care siteul este conceput prin prisma gradului de cultură, posibila
motivaţie, precum şi caracteristici tehnice care ţin de tipul browserului client, viteza
medie a conexiunii, etc. De obicei nu este recomandabil ca fişierele să aibă dimensiuni
mari deoarece se încarcă greu prin conexiuni lente, iar un timp de aşteptare prea mare
poate scădea drastic interesul posibililor clienţi.
Structurarea informaţiei: siteul să nu depăşească un număr rezonabil de nivele pentru ca
utilizatorul să nu se piardă sau să se plictisească. De asemenea trebuie structurat pe
capitole precum o carte pentru ca informaţia să fie uşor de găsit.
Exista câteva recomandări în domeniu de care ar trebui să se ţină pe cât posibil cont:
informaţia de care are nevoie clientul să nu fie la o distanţa mai mare de două- trei clikuri
trebuie făcut un compromis între grafica paginii şi mărimea fişierului
încărcarea unei pagini nu trebuie să dureze mai mult de 15 secunde
blocurile compacte de text de dimensiune mai mare de 6-7 linii trebuie despărtiţe pentru a
face textul mai uşor vizibil
nu trebuie precizate dimensiuni absolute ci doar relative la dimensiunea ferestrei pentru
ca fiecare pagina să fie vizibilă indiferent de condiţiile grafice
Conectarea Paginilor Web La Baze De Date 8
culorile fundalului şi ale textului şi imagimnilor trebuie să fie alese (asortate) astfel încât
conţinutul să fie cât mai uşor de înţeles.
Pentru realizare unui site web, care să conţină mai multe pagini ce vor prezenta aspecte
importante dintr-un anumit domeniu se trece prin mai multe faze. La început se realizează
numai scheletul site-ului cu pagini simple, legate între ele, urmând ca, mai apoi fiecare
pagină să fie prelucrată şi "populată" cu informaţii, astfel încât să poată oferi potenţialului
utilizator informaţia de care are nevoie. Înainte de a fi pus pe Internet la dispoziţia
utilizatorilor, documentul este revizuit şi recorectat astfel încât să nu fie omisă nici cea
mai mică greşală.
Pentru crearea unui document, se poate utiliza, în prima fază, un editor de texte obişnuit,
iar limbajul utilizat este HTML. Paginile vor fi interpretate apoi de un program de
navigare (browser) care dispune de bare de meniuri şi de instrumente ce facilitează
navigarea şi care foloseste la interpretarea codului HTML o filozofie de tipul :"ce nu
înţelegi ignoră".
Dacă la editor şi la browser se mai adaugă şi un "realizator" de pagini web dotat cu
imaginaţie, simţ al proporţiilor şi al echilibrului, sensibil la armonia culorilor, se obţine
site-ul perfect.
De obicei "relizatorii" site-urilor nu mai folosesc pentru realizarea paginilor editoare de
text obişnuite, ci programe complexe care pun la dispotiţei o multitudine de facilităţi,
astfel încât acesta să-şi poată concentra atenţia asupra calităţii informaţiilor pe care le
introduce în pagină şi pe design. Creatorul de pagini web nu mai scrie decât foarte puţin
cod, pagina fiind compusă din elemente grafice. Totuşi este necesar ca cel care realizează
siteul web să fie un bun cunoscător de HTML (şi al limbajelor de scriptare pe care le
utiliazează) pentru a face modificări de fineţe ale atributelor atunci când şabloanele nu au
efectul scontat. Codul HTML va fi generat de către programul utilizat, în forma în care să
dea browser-ului codul care generează exact designul din program. În acest mod se
uşurează mult munca "proiectantului", iar viteza cu care se realizează site-ul este mult
mărită. Astfel de aplicaţii sunt: Macromedia Dreamweaver, HomePage, sau chiar
programe de tip Office precum Microsoft Word sau Microsoft Powerpoint care au
opţiunea de a salva documentele realizate cu ajutorul lor ca şi pagini web. Programele de
design web oferă utilizatorului posibilitatea de a vizualiza atât pagina care va fi generată
Conectarea Paginilor Web La Baze De Date 9
de browser cât şi codul care o generează mărind eficienţa în realizarea paginilor. Este
bine ca cel care foloseşte acest tip de aplicaţii să ştie HTML şi JavaScript sau alt limbaj
de scriptare, pentru a implmenta funcţiile din script şi pentru a plasa execuţia lor atunci
cand se doreşte acest lucru.
1.3.Confidentialitatea datelor personale
Când navigăm pe Internet, multe site-uri colectează date despre noi, incluzând de unde
suntem conectaţi. Din păcate aceste informaţii sunt colectate fără consimţământul nostru.
Articolul de faţă este un semnal de alarmă asupra intimităţii de trebuie respectată,
confidenţialităţii datelor despre utilizatorii Internetului. În celelalte ţări, unde cadrul
legislativ este unul care apără consumatorul, pentru că pe Internet, confidenţialitatea
datelor personale este un lucru vital, care ţine de civilizaţie. Noi nu suntem obişnuiţi să ne
protejăm, sau să nu acceptăm că anumite date să se "vadă", date personale, cum ar fi: la
ce firmă Internet Service Provider (ISP) avem abonament, din ce site am intrat in cel ce
ne citeşte aceşti parametrii privaţi, ce sistem de operare avem instalat şi ce agent de
navigare folosim.
Ce sunt cookie-urile? Un "cookie" este o mică parte de informaţii, trimisă de un server
web pentru a fi depozitată de web browser. Scopul ei este de reaminti serverului câteva
informaţii specifice.
Industria informatică începe să cucerească cât mai mult teren pe piaţa românească. Apar
site-uri noi, dar nici unul nu este foarte stabil, România devenind "poligonul hackerilor".
Nu trece o săptamână fără a afla de site-uri "sparte", "hacker-ite" (ministerul de finanţe,
ejobs.ro, cfr.ro, porsche.ro). Aceasta denotă din partea firmelor deţinătoare de astfel de
site-uri, o lipsă de interes pe partea aceasta de securitate. S-au văzut cu sacii în căruţă, cu
site-ul funcţional, dar nu se gândesc la reactualizări, testări, cu alte cuvinte la întreţinere
(maintenance).
Funcţiile hash (tradus in limba română prin tocătură), denumite şi "message digests"
(digest - rezumare; trunchiare) sau metode de criptare "one -way", sunt algortmi ce, în
unele cazuri nu folosesc nici o cheie. În loc de aceasta, ele transforma textul normal
Conectarea Paginilor Web La Baze De Date 10
printr-o metodă matematică astfel încât conţinutul şi lungimea textului normal să nu
poată fi recuperată din textul cifrat. Mai mult, există o probabilitate foarte mică că două
texte normale prin criptare să dea acelaşi rezultat.
Criptografia este un domeniu de foarte mare importanţă, acest lucru datorându-se în
special cantităţii mari de informaţie vehiculată între persoane aflate la mare distanţă.
Începuturile criptografiei se regăsesc în antichitate, această ştiinţă având o evoluţie mai
mult sau mai puţin spectaculoasă, care s-a relansat în epoca modernă odată cu apariţia
calculatoarelor electronice şi mai ales a Internetului. Sunt mai multe metode de
clasificare ale algoritmilor. Aici, structurarea se bazează pe numărul de chei ce sunt
folosite pentru criptare şi decriptare, şi sunt regrupaţi după modul lor de folosire şi de
aplicare.
Criptarea parolelor. Din dorinţa de a mai clarifica un aspect important şi în acelaşi timp
interesant vă scriu despre felul in care se face criptarea parolelor. O să încep prin a vă
spune câte ceva despre programele de spart parole. Un spărgător de parole este orice
program care poate elimina protectia oferită de o parolă. Un asemenea spărgător de
parole nu decriptează parolele existente. Parolele criptate nu pot fi decriptate. Noile
procese de criptare a parolelor sunt ireversibile astfel ca nu există un proces care să
transforme partea criptată intr-o parolă in mod text.
1.4.Ce este www, http
World Wide Web (cunoscut şi sub numele de WWW,W3,sau simplu Web) a făcut ca
accesul pe Internet la o informaţie pentru o persoană obisnuită să fie mult mai
usor.WWW-ul este serviciul Internet care s-a dezvoltat cel mai mult în ultimii ani(şi care
este şi cel mai utilizat,vezi tabelul).Pe Web poti găsi informaţii privitoare la o reţetă
culinara sau cum să-ti faci o bombă termonucleară,practic toate cunostinţele omenirii sânt
adunate acolo.
Strict vorbind WWW-ul este un sistem pentru accesul la hypertext pe Internet .Este făcut
din documente,imagine,sunete şi link-uri către alte documente sau servere .Un document
Conectarea Paginilor Web La Baze De Date 11
Web poate conţine şi linkuri către alte servicii cum ar fi FTP,Gopher,Archie,Telnet,etc.un
mod mai bun de a privi Internetul este să-l vezi interactiv,să aibă o interfaţă grafică,să fie
usor de folosit.Poti căuta informaţii despre orice subiect,de la gătitul prajiturilor până
la ....Poti afla informaţii despre ultimile cercetari in domeniul inteligenţei artificiale sau
să citeşti ziarul preferat.Mai mult chiar,pentru a accesa aceste informatii nu trebuie să ştii
comenzi sau coduri speciale,doar un simplu click pentru a accessa informaţia respectivă.
Cum a apărut WWW-ul a apărut in 1989 ca iniţiativă a CERN (European Laboratory for
Particle Physics).Tim Berners-Lee a propus un protocol care să fie folosit pentru
distribuirea informaţiilor in domeniul fizicii pe Internet,protocol ce va fi adoptat şi de alte
organizaţii.
Cel mai important motiv pentru care WWW poate functiona pe diferite tipuri de
calculatoare este HyperText Transfer Protocol (HTTP).HTTP-ul este setul standard de
comenzi ce permite comunicarea pe Internet.Fara HTTP browserul pe care îl foloseşti nu
ar şti dacă informaţia care a venit este HTML sau un document,un program sau un mediu
VRML.
1.5. Structura paginilor Web
Paginile pe internet sunt, de regulă, realizate într-un limbaj numit HTML - HyperText
Mark-up Language. Editarea acestora se poate face în orice program de editare texte,
pornind chiar cu banalul Notepad din Windows. Toate noţiunile prezentate în acest
capitol pot fi puse în practică utilizând Notepad, astfel încat poţi deschide Notepad acum.
Fişierul pe care îl voi edita se va numi index.html. În general fişierul principal al unui
site internet (cel care se incarcă atunci când tastăm o adresa de genul www.msn.com) este
numit index.html.
Instrucţiunile pe care le folosim într-o pagină HTML se numesc tag-uri şi acestea indică
browser-ului (Netscape, Internet Explorer, Opera etc) modul de prezentare a informaţiei
din pagină. Tag-urile se scriu între semnele < şi >. Tag-urile nu trebuie scrise respectând
reguli foarte stricte (nu e nevoie să scrieţi numai câte un tag pe rând sau să folosiţi numai
litere mari, etc). Un exemplu de utilizare a tag-ului FONT este:
<FONT FACE=ARIAL COLOR=#FF0000>Google – motor de căutare</FONT>
Conectarea Paginilor Web La Baze De Date 12
Instrucţiunea de mai sus va determina afişarea textului " Google – motor de căutare " cu
font arial şi culoarea roşie. După cum se poate observa, există un tag înaintea textului si
unul care încheie textul respectiv. Majoritatea tag-urilor funcţionează în acest mod: se
pun înaintea informaţiei pe care dorim să o prezentăm într-un anume mod iar apoi la
sfârşitul acesteia, ca în exemplul de mai sus.
Conţinutul oricărui fişier HTML trebuie inclus între tag-urile <HTML> şi </HTML>.
Aceasta înseamnă că tag-ul <HTML> trebuie să fie primul lucru care apare într-un fişier
HTML, iar tag-ul </HTML> trebuie să fie ultimul:
<HTML>
...aici se completează informaţia de prezentat în pagină...
</HTML>
Ca structură, o pagină HTML are două părţi: o parte delimitată de tag-urile <HEAD> si
</HEAD> ce conţine informaţi de identificare a paginii şi o parte delimitată de tag-urile
<BODY> si </BODY> ce conţine informatiile de prezentat efectiv în pagină. Asupra
primei secţiuni nu voi insista prea mult. Cel mai important tag utilizat în sectiunea HEAD
este cel care dă titlul paginii. Acest titlu va fi încadrat de <TITLE> şi </TITLE>. Un
exemplu de pagină HTML foarte simplă, având titlul "www.msn.com" este:
<HTML>
<HEAD>
<TITLE>www.msn.com</TITLE>
</HEAD>
<BODY>
...aici se completeaza continutul paginii...
</BODY>
</HTML>
Tag-urile <HTML>...</HTML>, <HEAD>...</HEAD>, <TITLE>... </TITLE> şi
<BODY>...</BODY> vor apărea o singură dată în cadrul unui fişier HTML, după cum
arată exemplul de mai sus.
Despre texte
Conectarea Paginilor Web La Baze De Date 13
Cel mai important element al unei pagini internet este, desigur, textul. Într-o formă
simplă, acesta poate fi scris efectiv intr-o pagină HTML, după cum am văzut în exemplul
anterior: am scris în fişierul HTML textul "...aici se completează informaţia de prezentat
iî pagină..." şi acesta s-a încarcat în mod identic în browser.
Voi studia în continuare elemente de formatare a textului. Două lucruri trebuie
menţionate în primul rând, legate de formatarea textelor: utilizarea spaţiilor şi trecerea la
un nou rând. Într-un fişier HTML afişarea mai multor spaţii consecutive nu este posibilă
prin scrierea directă în fişierul html ci folosind de mai multe ori sintagma . Astfel,
pentru a pune trei spaţii între cuvintele Motor, de şi căutare în textul "Motor de
căutare" va trebui să scriem în fişierul HTML astfel:
Motor de Căutare
Trecerea la un nou rând nu se face apăsând Enter în fişierul HTML, ci utilizând tag-ul
<BR> (acest tag se utilizează singur; nu se foloseşte cu </BR>).Astfel, pentru a scrie
"Motor" pe un rând, a lăsa un rând liber, urmând “de” pe un alt rând iar din nou un rând
liber ca apoi "căutare" pe un rând separat, voi folosi:
Motor<BR><BR>de<BR><BR>căutare
Am utilizat mai sus de două ori tag-ul BR: o dată pentru a trece la un nou rând şi o dată
pentru a lăsa un rând liber. Tag-ul utilizat pentru formatarea modului de afişare a textului
este <FONT>...</FONT>. Tag-ul FONT suportă mai mulţi parametri, printre care:
- SIZE=x, unde x este dimensiunea fontului (1 fiind dimensiunea cea mai mică);
- COLOR=#RRGGBB - culoarea cu care se va afişa fontul.Culoarea implicită este negru;
- FACE=font - fontul cu care va fi scris textul respectiv. Atenţie! Vizitatorii paginii
dumneavoastră trebuie să aiba fontul respectiv instalat pe calculator, deci utilizează
numai fonturi "clasice". Fontul implicit este Times New Roman.
Aceşti parametri pot fi utilizaţi separat sau simultan în cadrul tag-ului FONT. Astfel,
instrucţiunea de mai jos afişează text folosind culoarea albastru:
<FONT COLOR=#0000AA>Google.com – Motor de căutare</FONT>
Instrucţiunea de mai jos afişeaza acelaşi text cu font arial, culoare albastră şi dimensiune
mai mare:
<FONT COLOR=#0000AA SIZE=4 FONT=ARIAL > Google.com – Motor de căutare
Conectarea Paginilor Web La Baze De Date 14
</FONT>
După cum se poate vedea, se pot utiliza mai mulţi parametri în cadrul aceluiaşi tag
FONT. Aceştia nu se despart prin virgula, ci printr-un spaţiu.De reţinut că parametrul
FACE poate primi mai multe fonturi.
Astfel, un tag de tipul <FONT FACE=VERDANA,ARIAL>...</FONT> va instrui
browserul să utilizeze fontul Verdana, iar dacă acesta nu este găsit, să utilizeze Arial.
Mai există trei tag-uri utile pentru formatarea textelor: <B>...</B> - utilizat pentru
scrierea textelor cu bold, <I>...</I> - utilizat pentru scrierea textelor cu italics (litere
inclinate) şi <U>...</U> - pentru a scrie text subliniat.
Desigur, pot exista combinaţii între tag-ul FONT şi tag-urile de subliniare, îngroşare sau
inclinare, ca de exemplu:
<FONT COLOR=#00AA00><B>Text verde îngroşat</B></FONT>
Este foarte important ca tag-urile sa fie închise în aceeaşi ordine în care au fost deschise.
Despre imagini
Prezentarea imaginilor în pagini HTML se face folosind tag-ul <IMG SRC=nume>, unde
nume este numele unui fişier gif sau jpg. Exemplu:
<IMG SRC=sigla.gif>, va afişa (presupunând că avem deja fişierul sigla.gif) poza.
Tag-ul IMG poate primi şi atributul BORDER cu formele BORDER=0 (implicit) sau
BORDER=n - pentru un chenar în jurul pozei de dimensiune în pixeli. O poză într-un
chenar arată mai bine.
<IMG SRC=sigla.gif BORDER=1>
Se poate folosi o imagine şi drept link către o altă pagină:
<A HREF="mailto:[email protected]"><IMG SRC=sigla.gif BORDER=0></A>
Cu un click pe imaginea de mai sus se va deschide o fereastră pentru compunerea unui
mesaj.Se mai pot folosi imagini şi drept fundal pentru pagini internet. Pentru aceasta, voi
introduce atributul BACKGROUND în cadrul tag-ului <BODY> de la începutul unui
fişier:
<BODY BACKGROUND=bkg.gif
Conectarea Paginilor Web La Baze De Date 15
&2.Baze De Date
2.1.O istorie a bazelor de date
Când vine vorba despre stocarea informaţiilor, pentru unii acest termen înseamnă o
agendă veche în care sunt trecute toate datele importante de care au nevoie: adrese,
numere de telefon, informaţii financiare s.a.m.d.. Pentru cei din domeniul IT şi nu numai,
înseamnă sisteme dedicate special stocării datelor importante.
Încă din cele mai vechi timpuri oamenii au avut nevoie de informatii.
O dată cu informaţia a apărut si necesitatea schimbului de informatii. Pentru aceasta era
nevoie de un suport material care să stocheze informaţia şi să o transmită mai departe. S-a
început cu cioplirea informaţiilor în piatră si s-a continuat cu alte si alte solutii pâna în
zilele noastre, când asistăm la decaderea unui suport (hârtia) si ridicarea altuia (suportul
electro-magnetic).
2.2.Crearea bazei de date
Înainte de a crea o baza de date trebuie pregatite câteva operatii asupra sistemului de
fisiere care sunt necesare numai o singura data si anume câte fisiere (data file ) va avea
baza de date. Acest pas este foarte important pentru ca prin aceasta stabilim setarea bazei
de date, asemenea dimensiunea blocului bazei de date (database block) şi setul de
caractere ale bazei de date, care nu pot fi create dupa ce baza a fost instalata.
Oracle este cel mai utilizat sistem de gestiune a bazelor de date relationale (SGBDR) din
întreaga lume. Acest model relational s-a dezvoltat pe baza modelelor de date ierarhice si
a celor de gestiune a datelor in retea.
Tipuri de date. Datele (variabile si constante) stocate in baza de date Oracle sunt
caracterizate prin tip si lungime, iar aceasta caracterizare este definita ca tipul de date al
Conectarea Paginilor Web La Baze De Date 16
obiectului. Oracle recunoaste tipurile de date interne şi externe. Tipurile de date interne
sunt cele care descriu coloanele tabelelor, clusterele şi argumentele procedurilor. Tabelele
sunt dispozitive de stocare intr-o baza de date relaţionale. Caracteristicile datelor sunt
definite în coloanele tabelului şi în acelasi timp atribuie un nume datelor din coloana
respectivă.
Comanda creării unei baze de date este:
CREATE DATABASE [nume BD ], care poate fi apelată cu urmatorii parametrii:
[CONTROL FILE REUSE ] – specifică dacă se refoloseşte un fişier de control existent,
[LOG FILE [GROUP nr ] fişier, [GROUP nr ] fişier, … ],
[MAX LOG FILES nr ] – nr. max de grupuri log,
[MAX LOG MEMBERS nr ] – nr. max de membri întrun grup de log,
[MAX LOG HISTORY nr ] – nr. max de locuri arhivare ce se folosesc in cazul refolosirii
de date (cu Oracle Database Server),
[MAX DATAFILES nr ]
[MAX INSTANCES nr ] – nr. max de instante ce pot monta,deschide baze de date in
mod instant,
[ARCHIVE LOG, NO ARCHIVE LOG ] – un grup de redo log se poate suprascrie doar
dacă a fost arhivat sau nu,
[CHARACTER SET nume ]
[NATIONAL CHARACTER SET nume ]
[DATA FILE fisier [clasa autoextend ], fişier [clasa autoextend ] , …. ] – fişier de date ce
se foloseste (dimensiune, reutilizează fişier de date existent ), se poate extinde singur sau
nu.
Cateva reguli de care trebuie ţinut cont la creerea bazei de date:
Trebuie să existe două copii active al fisierului de control (de preferat pe doua discuri
diferite),amandouă având acelaşi nume control.ora;
Fisierele redo log sunt stucturate pe grupuri formate din membri identici, pe cât posibil
membri aceluiaşi grup se pozitionează pe discuri diferite. Scrierile in fişierele de redo log
se fac deodată in toţi membrii unui grup de logwriter;
Conectarea Paginilor Web La Baze De Date 17
Folosirea unor nume explicite fişierelor de date,sugestie OFA: system, temp, usesrs,
……;
Separarea datelor pe fişiere de date astfel încât sa aibă loc: minimalizarea
fragmentării(separarea in fişiere a datelor cu durată de viaţă diferite), în funcţie de
imortanţa pentru system, minimizarea competiţiei la disc, separarea datelor ce se
prelucrează transacţional de cele prelucrate analitic.
După creare baza de date conţine:
Fişiere de date (o zonă system, fişiere de control, redo log, utilizatorii sys, system,
sistemul rollback system, tabelele interne ce conţin dicţionarul de date şi câţiva indicatori
dinamici de performantă );
După creare se lansează scripturile ce crează vederile, mediul plsql, incarcă
procedurile,restul de vederi.
2.3.Organizarea in tabele
Înregistrarea datelor în tabele se face de regulă fără a ţine seama de anumite criterii de
ordonare. Consultarea datelor are în vedere anumite cerinţe informaţionale Iar în acest
scop înregistrările din tabele sunt ordonate după anumite criterii impuse de natura
prelucrarilor. Schema unei baze de date defineşte structurile obiectelor şi regulile cărora
li se conformeazş. În SQL singura structura de date este tabela. Tabelele pot fi de baza
(permanente) sau virtuale (view-uri).
SQL permite definirea tabelelor temporare globale si partajate.Tabelele dintr-o bază de
date relatională, sânt legate intre ele, prin anumite câmpuri care pot fi puse în
relatie,denumite chei primare si secundare.
2.4. Conectarea la baza de date
După ce am creat o baza de date a venit timpul conectării la baza de date, setarea
parametrilor de iniţializare si pornirea serviciilor generate de-a
Conectarea Paginilor Web La Baze De Date 18
lungul procesului de instalare. Implicit serviciul care porneşte baza de date în WinNT
este setat pe modul automat, în schimb pe sistemul Linux aceste servicii trebuie pornite
din linie de comanda. Şi din WinNT aceste servicii pot fi pornite din linie de comanda,
dacă nu dorim ca la iniţializarea sistemului de operare acestea sa nu fie pornite pentru a
nu încarcă sistemul de operare (sunt servicii consumatoare de resurse).
2.5. Interogarea bazei de date
Serverul Oracle stochează datele în tablele pe care unii utilizatori le pot citi, alţi
utilizatori au insa privilegiul de a actualiza, de a elimina şi de a insera noi date în baza de
date. Întretinerea datelor din baza de date Oracle implică eliminarea datelor nedorite,
modificarea datelor existente si inserarea noilor date.
SQL este un limbaj universal de interogare al bazelor de date. SQL înseamnă „Structured
Query Language" (ceva de genul „Limbaj Structurat de Interogare"). SQL este folosit în
majoritatea sistemelor de administrare a bazelor de date relationale.
Operatorii relationali sunt definiti mai jos:
SELECTIA este o operatie care preia si afişează datele din relaţie.Este posibil să se
afiseze toate rândurile sau doar rândurile care indeplinesc o conditie sau mai multe
conditii .Aceasta este de multe ori numită 'submultime orizontală'.
PROIECTIA este operaţia care afişează anumite coloane din relaţie şi de aceea este
numită 'submulţime verticală'.
PRODUS este rezultatul obţinut când rândurile a două mulţimi de date sunt concatenate
conform condiţiilor specificate.
JOIN este rezultatul obţinut când rândurile a două mulţimi de date sunt concatenate
conform condiţiilor specificate.
REUNIUNEA afişează toate rândurile care apar in una ,in cealaltă sau în ambele din cele
două relaţii.
INTERSECTIA afişează toate rândurile care apar in ambele din cele două relaţii.
DIFERENTA afişează rândurile care apar numai într-o singura relaţie (SQL utilizează
operatorul minus ).
Conectarea Paginilor Web La Baze De Date 19
&3.Conectarea Paginilor Web La Baze De Date
3.1. Limbajul de accesare php/mysql
Pentru multă lume, principala raţiune de a învăţa un limbaj precum PHP ar fi
interacţiunea pe care o oferă cu bazele de date. In cele ce urmeaza căutăm să explicăm
cum se foloseşte PHP şi MySQL, pentru a memora informaţii pe Web şi cum includem
toate astea pe site-ul Web.
Este, de fapt, surprinzător cât de utilă poate fi o bază de date, mai ales atunci când poate
fi folosită într-un site Web. Sunt foarte multe lucruri care se pot face într-un astfel de caz,
de la afişarea unor simple liste şi până la producerea integrală a paginilor Web dintr-o
bază de date. Câteva exemple cu PHP şi MySQL, folosite împreună, sunt:
Schimbarea - rotaţia Banner-elor. Pentru a realiza schimbarea pe ecran a imaginilor la
diferitele vizitări ale unei pagini şi a asigura astfel un interes mai mare al vizitatorilor, se
poate folosi un script PHP care deschide o bază de date ş extrage aleator o imagine sau un
set de imagini, pentru a-l include într-un set de pagini Web. Scriptul PHP va contoriza
deasemeni numărul de câte ori a fost văzut banner-ul, putând, cu modificări minore, să
urmăreasc ਞ chiar şi numărul de click-uri. Pentru a adăuga, schimba sau edita bannerele,
tot ce avem de făcut este să schimbăm baza de date iar scriptul va încărca banner-ul
corect în toate paginile site-ului Web.
Forumurile Web. Sute de forumuri de dezbatere sunt acum realizate - rulează în PHP şi
MySQL. Acestea s-au dovedit mult mai eficiente dacât alte sisteme, creind câte o pagină
pentru fiecare mesaj şi oferind o largă varietate de opţiuni. Toate paginile forumului pot
fi actualizate prin schimbarea unui script PHP.
Bazele de Date. Un astfel de exemplu (edificator) îl oferă site-urile care dau toate
informaţiile dintr-o bază de date. Spre exemplu, Script Avenue este rulat de câteva
scripturi, care furnizează toate informaţiile dintr-o bază de date amplă. Toate categoriile
Conectarea Paginilor Web La Baze De Date 20
de scripturi diferite pot fi accesate într-un singur script exact prin schimbarea URL-ului
pentru a accesa diferite părţi ale bazei de date.
Site-urile Web. Când avem un site de mari dimensiuni - cu multe pagini, şi dorim să
modificăm aspectul general sau să schimbăm proiectul, chestiune care ar cere foarte mult
timp pentru aducere la zi şi încărcare. Cu PHP şi MySQL întregul site Web se poate
reduce la unul sau două scripturi PHP care să acceseze o bază de date MySQL pentru a
obţine informaţiile pentru paginile Web. Pentru a actualiza sau a modifica proiectul
centrului Web nu trebuie să schimbăm decât o pagină.
Chiar dacă tot ce ţine de administrarea bazelor de date poate fi realizat prin scripturi PHP,
instalarea pe server a pachetului PHPMyAdmin poate aduce un plus de confort. Este un
excelent set de scripturi care asigură o interfaţă administrativă pentru bazele de date
MySQL. Si mai este şi public-gratuit.
Cu el puteţi adăuga, elimina, edita, salva şi vizualiza bazele de date, fiind deosebit de util
pentru depanare.
Limbajul PHP (PHP: Hypertext Preprocesor) a fost implemntat în 1994 de Rasmus
Lerdorf, pornind de la un proiect personal care avea ca obiectiv urmărirea activităţii
paginii sale web personale. În 1995 este disponibil sub numele de Personal Home Page.
De la versiunea 3 (1997) este "dotat" cu un engine de scripting de firma Zend
Technologies. Astăzi câteva milioane de siteuri folosesc PHP.
PHP (în mod official “PHP: Hypertext Preprocesor”) este un limbaj de scriptare pe
partea de server putând fi inclus în HTML (HTML –embedded).
PHP este un limbaj de programare folosit pentru scrirea scripturilor executabile pe server.
Spre deosebire de alte limbaje de scriptare, în care se scrie o mulţime de linii de text
pentru a obţine la ieşire date în format HTML, în PHP se sceie, de obicei un HTML care
are inclus o porţiune de cod PHP care prelucrează informaţii. De obicei un script PHP
produce în urma executării sale date “de ieşire” care sunt afişate de browser. În figura 3.1
este preyentat un exemplu de cod HTML simplu ce are inclusă o secvenţă PHP ce
afişează un text.
Conectarea Paginilor Web La Baze De Date 21
Programele PHP execută trei tipuri de operaţii elementare :
Operaţii în urma cărora se obţin date de la un utilizator
Operaţii care execută prelucrări ale datelor, respectiv accesează datele stocate în fişiere
şi baze de date şi le manipulează.
Operaţii care afişează date astfel încât un utilizator să le poată vizualiza.
Ceea ce distinge PHP de JavaScript, este execuţia codului Php pe partea de server,
clientul primeşte doar rezultatele interpretării codului fără a putea să-şi facă vre-o idee
despre cum arată codul ce a generat ceea ce a afişat browserul său. Totuşi este necesar ca
serverul Web să ofere suport PHP, căci altfel s-ar putea să se afişeze conţinutul fişierului,
sau browserul va vrea să descarce ("download") fişierul cu extensia ".php"
Scripturile rulate pe server au câteva avantaje majore:
nu pot apărea incompatibilităţi legate de browserul clientului privind scriptul deoarece
este rulat pe server.
au acces la resursele de pe partea de server: Accesul sincronizat la baze de date poate fi
mai uşor controlat, baza de timp fiind furnizată de server.
reduc încărcarea clientului: rularea unui script pe partea de client poate introduce
întârzieri şi oricum depinde de performanţa calculatorului clientului. Browserul clientului
trebuie să interpreteze scriptul înainte de afişarea paginii.
Teoretic, PHP poate să facă orice face şi alt limbaj de scriptare CGI adică operaţii cu
formulare, generare de pagini dinamice, trimitere şi primire de „cookies”. Practic, cea
mai importantă caracteristică a PHP este suportul care îl oferă pentru operaţii cu diferite
tipuri de baze de date, cum ar fi IBM DB2, InterBase, Oracle, Sysbase, MySQL, ODBC.
Pentru unele (MySQL şi ODBC), PHP oferă suport în mod nativ, pentru altele este
necesar să adăugăm unele biblioteci .dll. La versiunile mai noi este suficientă
Conectarea Paginilor Web La Baze De Date
<html> <head> <title>Example</title> </head> <body> <?php echo "Hi, I'm a PHP script!"; ?> </body></html>
Figura 3.1 Cel mai simplu exemplu de utilizare Php
22
decomentarea unor linii din php.ini . Un alt avantaj este acela că Php suportă diverse
protocoale de reţea printre care SNTP, NNTP, POP3 şi HTTP. Există o mulţime de
funcţii predefinite care uşurează munca cu bazele de date de diferite tipuri. Fireşte cele
mai utilizate tipuri de baze de date sunt cele de tip „open source” care au principalul
avantaj că sunt accesibile în mod gratuit fiind astfel folosite în mod preferenţial.
Un atu important al PHP, MySQL şi al altor aplicaţi şi limbaje (distribuite gratuit), este
acela că reuşesc să impună un standard. Un exemplu foarte popular este AcdSee32, o
aplicaţie de vizualizat imagini de diferite formate, care oferă relativ puţine facilităţi, dar
datorită simplităţii şi uşurinţei în utilizare a reuşit să impună un standard. Ulterior a fost
introdus un mesaj supărător ce solicită înregistrarea, care putea fi evitat eventual la
nesfârşit. La versiunile mai apropiate de momentul prezent nu mai este o aplicaţie
distribuită gratuit, dar datorită faptului că oamenii s-au obişnuit cu ea, se vinde mai bine
decât alte produse asemănătoare.
Se poate observa că alte aplicaţii din domeniu au trebuit să ofere aceleaşi servicii
aproximativ în aceeaşi formă; deoarece programul mai sus menţionat a creat o obişnuinţă
cu modul său de operare. Programe mai bune au trebuit să se supună „modei instituite”.
PHP are dezavantajul, pentru programator, că este "open-source" adică nu poţi să
protejezi codul de priviri indiscrete, nu există un fişier "cod maşină" de tipul fişierelor
".class" din Java sau al executabilelor care să rezulte în urma compilării şi linkeditării. Pe
de altă parte, fiind executat pe server, se restrânge oricum drastic accesul celor care
doresc să vadă "the source".
Tipurile de date suportate de PHP sunt: array, float, integer, object, string. Tipul
variabilei se decide efectiv în momentul executării, aşa că nu trebuie, e obicei, specificat.
Totuşi în caz de nevoie se poate folosi un operator de "casting" exact ca şi în C.
Variabilele încep întotdeauna cu '$', iar PHP este un limbaj care, ca şi C, face diferenţa
între majuscule şi minuscule. Structurile de control sunt identice cu cele din C cu unele
"adăugiri".
3.2.Conectarea la baza de date
Conectarea Paginilor Web La Baze De Date 23
Limbajul de operare a bazelor de date de tip relaţional SQL a devenit un standard în
domeniu, iar bazele de date relaţionale sunt acum în mare vogă, faţă de situaţia de acum
câţiva ani când dominau bazele de date ierarhice sau cele de reţea. O bază de date
relaţională are mai multe avantaje, inclusiv o mai mare protecţie a datelor şi asigurarea
partajării lor. Aceasta înseamnă că există posibilitatea de a accesa în acelaşi timp o bază
de date, iar fiecare utilizator poate avea stabilită o politică de acces, anumite acţiuni
fiindu-i permise, iar altele interzise. Bazele de date relaţionale au reuşit să se impună în
faţa modelelor concurente din punctul de vedere al costurilor.
Într-o astfel de bază de date, datele sunt organizate în tabele. Fiecare înregistrare (rând)
are mai multe câmpuri. Fiecare coloană înregistrează un atribut. Un rând trebuie să aibă
un câmp care să îl deosebească de celelalte rânduri. Acest câmp se numeşte „cheie
primară” şi se foloseşte pentru a identifica în mod unic o înregistrare. Dacă aceasta
lipseşte, se introduce în mod „artificial” un câmp, a cărui valori vor fii cheie primară
pentru liniile aferente.
Pentru a opera cu astfel de baze de date există limbajul SQL, care oferă instrumentele
necesare operării cu astfel de baze de date. Este organizat pe mai multe nivele, referitor la
nivelul la care se doreşte să acţioneze. SQL are comenzi pentru a crea baze de date,
pentru a crea un tabel nou într-o bază de date, pentru a interoga o bază de date, pentru a
adăuga/şterge înregistrări, baze de date sau doar tabele din acestea. În administrarea
bazelor de date complexe sunt utile instrucţiunile care creează inter-relaţionări între
tabele şi între baze de date. De asemenea unul dintre nivelele SQL se ocupă de stabilirea
drepturilor de acces la baza de date. Este recomandat ca fiecare utilizator să aibă exact
drepturile de care are nevoie, pentru a nu avea surprize.
PHP oferă câte un set de funcţii pentru fiecare tip de baze de date, în general oferind cam
aceleaşi operaţii. Schema utilizată cu succes este împărţită în câteva etape:
Conectarea la baza de date
Acest lucru este realizat furnizând unei funcţii care se ocupă de acest lucru numele bazei
de date, numele utilizatorului şi parola. La bazele de date de tip MySQL este necesară o
sub-etapă de selectare a bazei de date, deoarece prima fază are doar rol de autentificare a
utilizatorului cu serverul MySQL, acesta având acces la toate bazele de date pentru care
Conectarea Paginilor Web La Baze De Date 24
este autentificat ca având anumite drepturi . Atât funcţia care asigură conectarea cât şi
cea care selectează baza de date returnează câte un identificator care se „ţine minte” într-
o variabilă.
„Compunerea” comenzii SQL într-o variabilă de tip şir de caractere
În cazul în care parametrii după care se vace interogarea sunt furnizaţi prin metode
"POST" sau "GET" şi sunt determinaţi din program, este necesar să îi introducem în
stringul-comandă respectand sintaxa SQL.
Aici trebuie respectată sintaxa SQL, mai ales în stabilirea condiţiilor după care se face
identificarea rândurilor la care se referă comanda.
Executarea comenzii
După compunere, comanda este trimisă ca parametru unei funcţii care are grijă să o
trimită la server pentru executare. Ea returnează rezultatul execuţiei. Acesta poate fi o
listă cu înregistrarile care respectă condiţiile impuse, în cazul unei interogări; sau poate
fi doar o confirmare sau o infirmare în cazul unei comenzi de ştergere sau modificare.
Mesajul de confirmare poate conţine date cu diferite alte semnificaţii. Singurul care ne
interesează este cel de eroare, sau de înregistrare inexistentă, pentru a putea controla
sesiunea de lucru.
Mai înainte de a porni construcţia unor script-uri pentru baze de date, ar trebui să avem o
bază de date în care să plasăm informaţii şi din care să citim.
Bazele de date MySQL au un sistem de iniţializare standard (un setup). Este vorba de o
bază de date, compusă din tabele, oarecum separate, conţinând diferite câmpuri, etc. chiar
dacă sunt parte dintr-o bază de date. Fiecare tabelă conţine înregistrări care sunt făcute
din câmpuri.
Procesul de instalare a unei baze de date MySQL diferă de la o platformă la alta. In
esenţă este vorba peste tot de un nume al bazei de date, un nume de utilizator (cont) şi o
parolă. Aceste informaţii sunt cerute pentru conectarea la baza de date.
Dacă aveţi pachetul PHPMyAdmin (sau un program similar) instalat, atunci puteţi să
intraţi acolo şi să vă conectaţi introducând contul (numele de utilizator) şi parola. Dacă
Conectarea Paginilor Web La Baze De Date 25
nu aveţi aşa ceva, atunci trebuie să faceţi întreaga administrare a bazelor de date folosind
script-uri PHP (şi o puteţi face).
Mai înainte de orice altceva cu baza de date, trebuie să vă creaţi o tabelă. O tabelă este o
secţiune a bazei de date pentru memorarea unor informaţii structurate (legate). Intr-o
tabelă vom defini diferite câmpuri care vor fi folosite în acea tabelă. Din cauza acestei
construcţii, aproape toate centrele cu baze de date trebuie să fie satisfăcute folosind doar
o bază de date.
Crearea unei tabele în PHPMyAdmin este simplă, scrieţi numele, selectaţi numărul de
câmpuri şi &Quot;apăsaţi" butonul (click). Ajungeţi atunci la un ecran setup în care
trebuie să creaţi câmpurile pentru baza de date. Dacă folosiţi un script PHP pentru a crea
propria bază de date, iar completa creere şi iniţializarea vor fi făcute îtr-o singură
comandă.
Există o largă varietate de câmpuri şi de atribute disponibile în MySQL şi vom discuta
doar câteva din ele:
Tipul câmpului Descriere
TINYINT Număr Intreg mic
SMALLINT Număr Intreg mic
MEDIUMINT Număr Intreg
INT Număr Intreg
VARCHAR Text (maximum 256 caractere)
TEXT Text
Acestea sunt doar câteva dintre câmpurile disponibile. O căutare pe Internet ne poate
furniza lista cu toate tipurile de câmpuri permise.
Crearea unei Tabele cu PHP:
Să creem o tabelă din PHP este ceva mai dificil decât cu MySQL. Avem de parcurs
următorii paşi:
CREATE TABLE nume_tabel {
Fields
Conectarea Paginilor Web La Baze De Date 26
}
Câmpurile sunt definite după cum urmează:
fieldname type(length) extra info,
Ultimul câmp introdus nu poate include nici o virgulă.
Conectarea la o bază de date
Primul lucru care trebuie făcut, mai înainte de a putea face ceva, este conectare la baza de
date MySQL. Acesta este un pas foarte important, pentru că, dacă nu suntem conectaţi,
comenzile către baza de date vor eşua.
Practic, pentru a folosi o bază de date trebuie să precizăm numele de utilizator
(username), parola (password) şi numele bazei de date
$username="nume_utilizator";
$password="parola";
$database="numele_bazei_de_date";
Desigur, aici s-ar putea discuta dacă nu-i riscant să păstrăm parola într-un fişier. Nu
trebuie să vă alarmaţi, însă, deoarece sursa PHP este prelucrată de server înainte de a fi
trimisă navigatorului, astfel încacirc;t este imposibil pentru orice utilizator să vadă
scriptul.
Mai apoi, avem nevoie de o comandă care să lanseze conexiunea la baza de date:
mysql_connect(localhost,$username,$password);
Această linie spune PHP-ului să se conecteze la serverul de baze de date MySQL la
'localhost' (localhost se numeşte serverul pe care rulează PHP-ul. In afara cazului în care
gazda Web indică altceva, vom folosi localhost) folosind numele de cont memorat în
$username şi parola din $password.
Mai înainte de a discuta cum lucrăm cu baza de date, vom vedea încă o comandă:
mysql_close();
Aceasta este o comandă foarte importantă care închide conexiunea cu serverul de baze de
date. Scriptul va rula încă, dacă nu includem această comandă, iar prea multe conexiuni
MySQL deschise pot cauza probleme serverului web. Este un obicei bun să includem
comanda de închidere de mai sus după ce am introdus toate comenzile către baza de date,
pentru a menţine platforma în bună stare.
Conectarea Paginilor Web La Baze De Date 27
Selectarea bazei de date
După ce ne-am conectat la severul de baze de date, trebie să selectăm baza de date pe
care vrem s-o folosim. Trebuie să fie o bază de date la care avem acces, cu respectivul
nume de utilizator. Se foloseşte următoarea comandă:
@mysql_select_db($database) or die( "Baza de date nu poate fi selectata");
Aceasta spune PHP-ului să selecteze baza de date specificată în variabila $database (pe
care am definit-o mai înainte). Dacă conexiunea nu se poate realiza procesul (execuţia
script-ului) se opreşte afişând textul:
Baza de date nu poate fi selectata
Această parte suplimentară 'or die' este bună pentru ieşire, chiar dacă nu asigură decât un
minim control al erorii.
Execuţia comenzilor
După conectarea la server şi selecţia bazei de date dorite, putem începe execuţia
comenzilor pe server.
Există două moduri de a executa o comandă. Prima revine pur şi simplu la introducerea
comenzii în PHP. Asta merge atunci când nu apar rezultate ca urmare a execuţiei
comenzii.
Cea de a doua variantă este să definim comanda ca o variabilă. Asta va atribui variabilei
rezultatele operaţiei.
In această lecţie vom folosi prima cale, deoarece nu aşteptăm răspuns de la baze de date.
Comanda va arăta cam aşa:
mysql_query($query);
Folosirea acestei forme a comenzii este utilă pentru că repetăm pur şi simplu aceiaşi
comandă iarăşi şi iarăşi fără a fi nevoie să memorăm altele. Tot ce avem de făcut este să
schimbăm variabila.
Conectarea Paginilor Web La Baze De Date 28
3.3.Introducere, afişare date
Toate datele pot fi introduse cu o singură comandă:
$query = "INSERT INTO nume tabel VALUES ('valoare camp1','valoare camp2','……',
…………,’……..')";
Să lămurim puţin lucrurile.
Ma întâi, apare variabila $query căreia îi atribuim o comandă. Următoarea parte, adică:
INSERT INTO nume tabel VALUES
este destul de uşor de înţeles. Ea spune PHP-ului să insereze în tabel valorile care
urmează (scrise între paranteze).
Acolo, între paranteze, avem toate câmpurile de adăugat. Apar toate câmpurile în ordine
şi sunt inserate informaţiile dintre ghilimele.
In caz că nu am inserat nimic în primul câmp din baza de date (id). Asta din cauză că
acest câmp va fi un câmp index, elementul unic de identificare. Fiecare înregistrare din
baza de date va avea un unic ID. Din această cauză, când încărcăm baza de date, vom
pune ID pe 'Auto Increment'. Asta înseamnă că, ne-atribuindu-i nici o valoare, el va lua la
fiecare înregistrare următoarea valoare din şir. Iar prima înregistrare va avea valoarea
ID=1 .
Introducerea datelor din paginile HTML este aproape identică cu inserarea lor din script-
uri PHP. Avantajul constă, însă, în faptul că nu apare nevoia schimbării script-ului pentru
fiecare câmp de introdus. In plus, putem permite "vizitatorilor" să introducă direct datele
lor.
Dacă avem în baza de date cel puţ'in o înregistrare, dacă nu mai multe. Se pune problema
cum vizualizăm, cum scoatem aceste date folosind PHP. Cunoaşterea elementelor de
programare din PHP este necesară, recomandabilă fiind parcurgerea Mini-cursului de
PHP înaintea acestuia.
Conectarea Paginilor Web La Baze De Date 29
Prima comandă la care vom apela este comanda SELECT din SQL, folosită într-o cerere
MySQL în forma:
SELECT * FROM nume tabel
Aceasta este o comandă de bază din MySQL, care va spune script-ului să selecteze toate
înregistrările din tabela precizata. Dar, de data aceasta, comanda furnizează un rezultat,
ea va trebui executată atribuind rezultatele unei variabile:
$query="SELECT * FROM nume tabel";
$rezultat=mysql_query($query);
In acest caz, întregul conţinut al bazei de date va fi atribuit variabilei cu numele $rezultat
(care va fi deci o matrice, un tablou). Mai înainte de a putea scoate aceste date va trebui
să le extragem ca variabile simple, separate. Pentru asta trebuie să ştim câte înregistrări
avem în tabelă (deci şi în variabila $rezultat ).
Numărarea liniilor
Avem o comandă specială în MySQL pentru calculul numărului de linii din tabelă. Este
importantă pentru că în baza de date se fac uzual numeroase actualizări, completări,
ştergeri.
$num=mysql_numrows($rezultat);
Astfel, variabila $num va căpăta ca valoare numărul de linii din $rezultat (adică tocmai
din baza de date). Acest număr va putea fi folosit în continuare pentru ciclul în care se
vor analiza şi desface în variable separate câmpurile fiecărei linii.
Construirea ciclului
Avem de scris un ciclu pentru a selecta din tabel (din rezultat) linie cu linie.... Definim un
indice, o variabilă $i care va parcurge (cu incrementare) valorile de la 1 la $num .
$i=0;
while ($i < $num) {
OPERATIILE ASUPRA LINIEI
++$i;
}
Acesta este un ciclu tipic în PHP şi va executa ansamblul numit OPERATIILE ASUPRA
LINIEI de exact $num ori, adică de atâtea ori cât trebuie. La fiecare reluare $i fiind mărit
Conectarea Paginilor Web La Baze De Date 30
cu o unitate. Astfel $i poate fi folosit şi pentru a preciza numărul liniei care se
prelucrează.
Asocierea datelor la variabile
In partea pe care am numit-o OPERATIILE ASUPRA LINIEI trebuie să separăm fiecare
câmp din linia - înregistrare asociindu-l unei variabile. Folosim pentru asta următoarea
secvenţă:
$variable=mysql_result($rezultat,$i,"numele_campului");
Am ajuns să avem definite variabilele care permit scoaterea sau afişarea, încheind cu o
comandă destul de simplă de afişare (echo) fără a o explica. Desigur, datele din tabel ar
trebui prezentate pe ecran tot în forma unui tabel. Iar asta nu-i prea complicat. In fond
dacă ştim cum să afişăm (scoatem) fiecare variabilă în parte, atunci tot restul privind
formatarea, organizarea ca tabel, etc., este doar legat de cunoaşterea HTML.
Tot ce avem de făcut deci este să folosim PHP pentru scoaterile HTML incluzând
variabilele în zonele corecte. Cel mai simplu este să închidem tagul PHP şi să introducem
liniile normale din HTML. Oridecâte ori ajungem la o variabilă o vom include folosind o
secvenţă de forma:
<? echo "$numele_variabilei"; ?>
Putem atunci să folosim un ciclu PHP pentru a repeta o secvenţă de cod ca cea de mai
sus, la includerea variabilelor într-un tablou.
La fel cu afişarea întregii baze de date, PHP poate fi folosit pentru a selecta date
individuale, doar anumite înregistrări, sau înregistrările care verifică anumite criterii.
Pentru asta trebuie să folosim o variaţiune a cererii SELECT . Pentru afişarea întregii
tabele am folosit cererea:
SELECT * FROM nume tabel
Dacă vrem însă să selectăm doar pe acele persoane care au numele 'Mihai Cristian' vom
folosi o cerere de forma:
SELECT * FROM consumatori WHERE nume='mihai cristian'
Ca şi la alte cereri - comenzi SQL, avem de fapt propoziţii foarte apropiate de formularea
curentă din limba engleză. Intr-un mod asemănător vom putea selecta înregistrările pe
baza oricărui câmp din baza de date. Dar se poate selecta o înregistrare folosind mai
Conectarea Paginilor Web La Baze De Date 31
multe câmpuri, adăugând în formularea cererii clauza:
field='value'
Fără a intra în prea multe detalii, vom mai spune că putem folosi variabilele pentru a
transmite criteriul dorit pentru selecţie. Spre exemplu, dacă dintr-un formular de căutare
primim a variabilă numită $nume_cautat putem imagina următoarea secvenţă:
$query="SELECT * FROM consumatori WHERE nume='$nume_cautat'";
$result=mysql_query($query);
3.4.Actualizare, căutare şi ştergere
Atunci când, am creat baza de date, am inclus un câmp numeric numit id. Pe care l-am
stabilit ca auto_increment şi i-am dat rolul de câmp primar. Am discutat cum acesta are
rolul de identificator unic pentru fiecare înregistrare din baza de date. Acum facem un pas
înainte, folosind acest câmp pentru a selecta anumite înregistrări din baza de date.
Selecţia unei singure înregistrări:
Iată cum putem selecta înregistrări din baza de date folosind conţinutul unui câmp
particular:
SELECT * FROM consumatori WHERE field='value'
Atunci, folosind unicitatea câmpului ID putem selecta orice înregistrare din baza de date,
folosind:
SELECT * FROM consumatori WHERE id='$id'
unde $id este o variabilă conţinând numărul unei înregistrări.
Spre exemplu, dacă dorim să avem o pagină Web generată dinamic dintr-o bază de date
cu un singur script PHP, putem scrie script-ul ca să includă pagini Web distincte ca
înregistrări ale bazei de date. Atunci, folosind câmpul id, putem selecta fiecare pagină
individuală plasând-o la soatere. Putem chiar folosi chiar URL-ul paginii pentru a
specifica înregistrarea dorită
http://www.centrul_propriu.ro/stiri/items.php?item=5476
Iar script-ul PHP să caute înregistrarea care are numărul de ordine (id-ul) care corespunde
valorii variabilei $item, care în acest caz este 5476
Conectarea Paginilor Web La Baze De Date 32
Legături la o singură înregistrare:
Folosind această metodă de alegere a înregistrării folosind URL-ul, înregistrarea poate fi
extinsă prin generarea dinamică a URL-ului. Pare cam complicat. Vom vedea cum
realizăm o pagină de aducere la zi a bazei de date cu adresele. Cu ideea ca utilizatorul să-
şi poată modifica propriile detalii din înregistrare.
Pentru asta, vom include o nouă coloană cuprinzând o legătură Update . Această legătură
conducând la o pagină care să permită utilizatorului să actualizeze înregistrarea. Pentru a
selecta înregistrarea din acea pagină vom pune:
?id=$id
Căpătând identificatorul id al înregistrării, secvenţa aceasta va crea o legătură la fiecare
din înregistrări.
Până acum am vazut cum să punem informaţiile în baza de date MySQL, cum să vedem
aceste informaţii din baza de date, selectând care din ele vrem să le vedem. In această
lecţie vom vedea cum facem cele două acţiuni finale, actualizarea bazei de date şi
ştergerea unor înregistrări din ea.
Script-ul de actualizare:
Am văzut cum creem o legătură pentru fiecare înregistrare pentru a ne poziţiona în
scriptul de actualizare. Prin folosirea variabilei $id , legăturile respective pot transmite
valoarea corecta a identificatorului ID către script, astfel ca acesta să poată actualiza baza
de date. Vom realiza deci un script de actualizare, care va avea două părţi:
Pagina de afişare a actualizării:
Prima parte a script-ului de actualizare foloseşte procedeul de selecţie a unei singure
înregistrări, aşa cum l-am scris în lecţia precedentă, adăugând doar câteva elemente
HTML pentru a-l face mai util. Mai întâi, ne connectăm la baza de date şi selectăm
înregistrarea potrivită.
$id=$_GET['id'];
$username="nume_utilizator";
$password="parola";
$database="baza_de_date";
Conectarea Paginilor Web La Baze De Date 33
mysql_connect(localhost,$username,$password);
$query=" SELECT * FROM consumatori WHERE id='$id'";
$result=mysql_query($query);$num=mysql_numrows($rezultat); mysql_close();
Apoi avem o 'Zona de cod suplimentar' , care marchează porţiunea din script unde vor
apare comenzile de actualizare. Adică formatarea HTML pentru scoatere:
<form action="updated.php" method="post">
<input type="hidden" name="C_id" value="<? echo "$id"; ?>">
<input type="Submit" value="Update">
</form>
Această secvenţă construieşte (scoate) un formular standard, dar în locul zonelor goale,
aşa cum apăreau în formularul pentru introducerea datelor, de data asta avem conţinutul
câmpului respectiv din înregistrarea în cauză (care-i de actualizat). Asta îl face mai
adaptat scopului, mai comod de folosit.
Actualizarea bazei de date:
Tot ce mai avem de făcut este actualizarea efectivă a bazei de date. Asta este o operaţie
simplă care implică o nouă cerere pentru baza de date:
$query = "UPDATE consumatori SET nume = '$valoare noua',…. = '…..' WHERE C_id
= '$C_id'";
Această cerere spune sistemului de gestiune de baze de date să actualizeze tabela
consumatori în acele linii în care C_id coincide cu valoarea din $C_id (care, aşa cum se
poate vedea din formularul anterior, a primit valoarea id a înregistrării pe care o
actualizăm), modificând următoarele câmpuri cu valorile specificate (care au fost
introduse cu ajutorul formularului).
Căutarea:
Se poate realiza şi o căutare limitată în baza de date folosind funcţia specială din MySQL.
Adică prin folosirea funcţiei LIKE , în forma:
SELECT * FROM nume_tabela WHERE nume_camp LIKE '%$string%'
Asta însemnă că LIKE va spune bazei de date să folosească posibilităţile proprii de
Conectarea Paginilor Web La Baze De Date 34
căutare. Semnele % au semnificaţia că orice alte date pot să apară în poziţia lor şi
variabila $string va conţine cererea de căutare. Adică putem avea acolo un cuvânt, sau un
număr, spre exemplu:
LIKE '%pian%'
ceea ce va conduce la scoaterea liniilor care includ cuvântul pian în câmpul specificat.
Similar, putem renunţa la unul din semnele % astfel ca să precizăm poziţia şirului de
caractere:
LIKE 'pian%'
Astfel vom putea selecta doar liniile în care câmpul specificat începe cu prefixul pian,
caz în care, spre exemplu, expresia următoare va fi evitată: Un pian se află pe scenă.
Stergerea înregistrărilor:
Ultima parte a acestei lecţii priveşte modul cum ştergem o înregistrare dim baza de date.
Ca şi cu pagina de actualizare, vom construi o pagină pentru a şterge una sau mai multe
linii din baza de date. Trebuie să-i transmitem poziţia (ID-ul) înregistrării, printr-un URL,
spre exemplu:
delete.php?id=9
Scriptul care va face asta, numit delete.php, este aproape identic cu cel de actualizare a
bazei de date, cu excepţia comenzii MySQL (modului în care este construită cererea). In
locul comenzii SQL UPDATE , vom folosi:
DELETE FROM consumatori WHERE id='$id' .
3.5.Selectie elemente, interceptarea erorilor
Am văzut cum extragem date din baza de date şi cum le afişăm pe ecran. Acum vom
ajunge la aspectele finale ale afişării datelor, prin selectarea elementelor dorite şi
controlul erorilor (stoparea mesajelor de eroare) atunci când scoatem date.
Interceptarea Erorilor:
Prin scoaterea tuturor informaţiilor dintr-o bază de date, este puţin probabil să ajungem la
situaţia când nu mai sunt date. Dar dacă am permis ajustări şi, ştergeri şi actualizări ale
Conectarea Paginilor Web La Baze De Date 35
înregistrărilor, atunci se prea poate să ajungem la o eroare. Din fericire, cu PHP şi
MySQL, avem un mod simplu de a evita o astfel de situaţie folosind:
$num=mysql_numrows($rezultat);
unde $rezultat conţine rezultatul unei cereri - interogări a bazei de date ( precum
selectarea tuturor înregistrărilor). Aşa cum am discutat mai sus, aceasta va atribui
variabilei $num numărul de linii din rezultat.
Putem insera în ciclu o comandă de captare/tratare a erorilor folosind o instrucţiune IF :
if ($num==0) {
echo "Baza de date nu conţine nici o înregistrare";
} else {
Output Loop
}
Putem dezvolta ramura asta făcând-o mai prietenoasă. Spre exemplu, oferind o legătură la
pagina Add Data, de introducere de informaţii în baza de date, atunci când ea este vidă.
Ordonarea datelor:
Nu numai că putem scoate datele în funcţie de conţinutul unui câmp, dar putem ordona
aceste date pe baza unei reguli aplicată conţinutului unei coloane (spre exemplu aranjând
utilizatorii în ordine alfabetică). In mod normal, afişarea în urma unei interogări se face în
ordinea stabilită de identificatorul ID, pornind de la 1 în sus. Putem însă alege modul de
ordonare (sortarea) după oricare coloană din tabel.
Spre exemplu, o ordonare utilă ar putea fi după numele de botez. Asta însemnând în
ordine ascendentă (crescătoare, de la A la Z şi de la 1 la 10...). Pentru a obţine un astfel
de rezultat folosim următoarea cerere:
SELECT * FROM consumatori ORDER BY nume ASC
Putem folosi, desigur şi ordonarea descendentă, specificând DESC în locul lui ASC .
Alte variante cu mysql_numrows şi Sortare
Valoarea care i se atribuie (ca mai sus) variabilei $num este foarte importantă, nu numai
pentru cicluri şi captarea erorilor. Un exemplu poate fi scoaterea doar a ultimelor 5
Conectarea Paginilor Web La Baze De Date 36
înregistrări adăugate bazei de date. Mai întâi, avem ordonarea naturală, stabilită de ID,
(ultima înregistrare având valoarea maximă a ID), dar vom alege ordinea descendentă.
Astfel vom avea înregistrările începând cu cea mai recentă şi terminând cu cea mai
veche. Mai trebuie doar să numărăm, afişând doar primele 5.
Desigur, înainte de a începe ciclul de cinci, trebuie să ne asigurăm că $num este mai mare
decât 5 . Avem deci o secvenţă de forma:
if ($num<5) {
$to=$num;
}else{
$to=5;
}
$i=0;
while ($i < $to) {
SECVENTA DE COMENZI mysql PENTRU SCOATERE
Cu alte cuvinte, dacă avem mai mult de cinci linii în tabel atunci ciclul se va face de la 0
la 5. In caz contrar, dacă sunt mai puţin de 5 linii, ciclul va parcurge exact numărul
respectiv de linii.
Pentru economia de timp:
Atunci când construim un script complex folosind bazele de date, apare des secvenţa de
conectare la baza de date. De aceea, pentru a simplifica lucrurile, se poate fie să creem un
fişier cu numele de utilizator şi parola sau chiar un fişier de conectare. Spre exemplu, un
fişier "username/password" poate fi construit cu numele:
dbinfo.inc.php
cuprinzând în el:
<?
$username="numele_de_utilizator_al_bazei_de_date";
$password="parola";
Conectarea Paginilor Web La Baze De Date 37
$database="nume_baza_de_date";
?>
In care precizăm datele concrete potrivite (numele_de_utilizator_al_bazei_de_date,
parola, nume_baza_de_date). Atunci în fişierele php vom folosi, chiar la început,
următoarea secvenţă, care va include scriptul de mai sus: include("dbinfo.inc.php");
sau, atunci când acesta se află în alt director:
include("/[traseul complet]/dbinfo.inc.php");
Atunci, vom putea folosi în continuare variabilele $username, $password şi $database în
script-ul nostru, fără a avea nevoie să le definim de fiecare dată. De asemeni, dacă vom
modifica cândva aceste informaţii, spre exemplu trecând pe alt server web, tot ce va fi de
schimbat va fi în acest unic fişier.
Aceeaşi schemă o putem folosi pentru conectarea la baza de date, plasând şi comanda de
conectare în fişier. Atunci va trebui, însă, să ne asigurăm de închiderea conexiunii, pentru
a nu avea probleme cu serverul MySQL.
PHP şi MySQL împreună pot fi folosite pentru a crea o bază de date - accesibilă pe Web,
precum şi pentru a scrie programe de acces la baza de date.Folosirea bazelor de date pe
Web deschide noi şi mari posibilităţi de lucru în Internet şi poate face mult mai puternic
un centru Web, economisind timpul de actualizare, permiţând utilizatorilor să
interacţioneze (să răspundă) şi multe altele.
Conectarea Paginilor Web La Baze De Date 38
&4.Macromedia Dreamweaver
4.1. Dezvoltare de aplicaţii web profesionale
Macromedia Dreamweaver pune la dispoziţie o puternică combinaţie de modele standard
de dezvoltare, opţiuni deosebite si unelte de înalt nivel, suport de editare de cod,
permiţând astfel dezvoltătorilor şi designerilor să creeze aplicaţii de orice tip, pagini web
standard şi aplicaţii performante.
Pornind de la opţiuni de implementare de CSS până la editarea de cod scris de mână,
Dreamweaver pune la dispoziţie uneltele de care este nevoie pentru un mediu de
dezvoltare profesionist. Dezvoltatorii pot folosi Dreamweaver alături de tehnologia server
pe care o doresc pentru realizarea aplicaţiilor Internet ce permit conectarea utilizatorilor
la baza de date, servicii Web si sisteme de securitate.
4.2. Standard al uneltelor de design
Dreamweaver pune la dispoziţie standarde deosebite de control şi putere pentru un
design de inaltă calitate. Un mediu de design construit în jurul CSS (Cascading Style
Sheets) permite o dezvoltare pe baza de cod mult mai rapidă şi mai eficientă.
Design şi rulare de elemente încapsulate într-un format de CSS ce permite un design mult
mai precis şi mai rapid. Scutiţi timp prin unelte bogate ce permit o selecţie rapidă şi
control asupra elementelor din pagina sau a stilului paginii web.
Imbunătăţeşte experienţa utilizatorilor printr-o validare directă pe browser in mod
dinamic ce verifică in mod automat facilităţile şi reguliele CSS. Aceasta bineinteles sub
aspecte de compatibilitate.
Pentru a putea coda integral si transfera fisierele in mod sigur pentru a împiedica accesul
neautorizat la informaţie, conţinut de fişiere, avem nevoie de o protecţie a traficului de
Conectarea Paginilor Web La Baze De Date 39
date. Aceasta se poate realiza prin nume de utilizator şi parola ce împreună asigura modul
de acces.
4.3. Crearea unei pagini elementare cu text
Pentru a crea o noua pagină Web, selectăm comanda New din meniul File. Dacă un fişier
este deja deschis şi vrem să-l modificăm, Dreamweaver ne va cere să salvăm toate
modificările înainte de a deschide altă fereastră. Dacă tocmai am deschis Dreamweaver,
probabil că vom avea o fereastră Dreamweaver fără conţinut deja deschisă , pe care o
putem folosi. Având această fereastră Document din Dreamweaver deschisă, suntem
pregătiti pentru a crea o pagină web cu imagini, text şi alte obiecte.
Pentru a introduce text in pagina noastră de web, putem pur şi simplu să tastăm în
fereastra Document. Tastăm un titlu simplu, apăsăm pe tasta Enter şi tastăm câteva
propoziţii. Textul din pagină este în mod prestabilit, de culoare neagră, putem schimba
culoarea prestabilită în Page Properties.Culoarea de fond este şi ea localizată în caseta de
dialog Page properties.
Deseori, trebuie să inserăm într-o pagină Web un text care există deja ca document creat
cu un procesor de texte. Putem copia cu uşurintă text dintr-o altă aplicaţie şi îl putem lipi
în Dreamweaver.
Elementele Html standard de formatare se aplică textelor folosind meniul popup Format
din Inspectorul Property. Există patru opţiuni de formatare elementare:
Opţiunea None elimină toate stilurile de formatare;
Opţiunea Paragraph aplică selecţiei etichete de tip paragraph;
Opţiunile de la Heading1 la Heading 6 aplică selecţiei etichete de tip heading (titlu).
Heading1 are cea mai mare dimensiune, iar Heading6 are cea mai mică dimensiune.
Formatul Preformatted (ante-formatat) afişează textul folosind un corp de litera fix sau
ne-proporţional.
Chiar dacă Dreamweaver este un instrument de tip WYSIWYG, trebuie să vedem cum
arată cu adevarăt pagina în anumite browsere.Este o idee bună să ne salvăm rezultatele
Conectarea Paginilor Web La Baze De Date 40
muncii înainte de a le previzualiza. Salvarea acestor rezultate permite programului
Dreamweaver să configureze corect căile spre fişierele legate, cum sunt imaginile.
Dupa ce neam salvat fişierul, selectăm comanda Preview în Browser din meniul File.
4.4. Hiperlegături, adrese URL
O hiperlegătură permite cititorului unei pagini să treacă la o altă pagină Web, la o altă
secţiune a paginii Web curente, respectiv să lanseze o aplicaţie. Hiperlegăturile în forma
lor cea mai simplă, reprezintă familiarele texte colorate pe care executăm clic.
O adresă Web se numeşte localizator uniform de resurse sau URL. Putem lega multe
tipuri de fişiere prin Web, dar numai câteva tipuri de fişiere vor fi afişate într-un browser.
Browserul afişează formate de imagini acceptate, fişiere html, aplicatiile plug-in şi alte
câteva tipuri de fişiere specializate.
Ori de câte ori creăm o legatură sau plasăm un fişier extern in pagina noastră de
Web,cum ar fi un fişier imagine, trebuie să introducem calea acestuia. Principalele două
tipuri de căi sunt căile absolute şi cele relative de document.
Adresele URL sunt alcătuite din maximum cinci secţiuni:
Prima parte a adresei URL este protocolul. Acesta este http pentru paginile Web.
A doua parte a adresei este domeniul. Acesta este servarul Web unde este localizată
pagina Web. Un caracter două puncte şi două caractere slash înclinate spre dreapta (://)
separă protocolul de domeniu.
A treia parte optional a adresei URL este portul. Portul prestabilit pentru un server Web
este portul 80.
A patra parte a adresei este clasa şi numele fişierului. Majoritatea numelor paginilor Web
se încheie cu particula .htm sau .html.
Alte particule cu care se incheie, în mod normal, numele fişierelor, sunt .cgi (de la
Common Gateway Interface), .asp (Active Server Pages). Aceste particlue care incheie
numele fisierelor pot fi urmate de a cincea parte optională, a unui URL şi anume un şir de
interogare, care este adăugat pentru a expedia date unui script in vederea prelucrării.
Conectarea Paginilor Web La Baze De Date 41
Inainte de a ne salva pagina Web Dreamweaver inserează toate legăturile sub forma de
legături absolute. Aceasta deoarece nu poate calcula o legaură absolută înainte de a salva
fişierul. După ce fişierul a fost salvat, Dreamweaver poate determina calea relativă a
documentului nostru în raport cu toate fişierele legate. După ce fişierul a fost salvat,
dreamweaver transformă căile absolute în căi relative de document.
Putem crea o nouă pagină care se leagă la o pagină existentă astfel:
Selectăm comanda New din meniul File pentru a crea un document nou pe care îl salvăm
în acelaşi catalog cu un alt fişier html;
Adăugăm o cantitate oarecare de text în acest document;
Selectăm un cuvânt din text care poate fi folosit în mod logic ca legătură spre celălalt
fişier;
Selectăm pictograma Browse de lânga caseta Link.
Navigăm spre catalogul unde este localizată cealaltă pagină.
Selectăm numele fişierului şi executăm clic pe butonul Select.
În meniul Page Preference putem stabili culorile legăturii.
4.5. Adăugarea fişierelor Flash
Macromedia Flash şi Director au devenit, se pare, standardele pentru animaţie în Web.
Flash este o apariţie mai recentă, care a devenit extrem de populară pentru crearea de
animaţii mici, interactive, bazate pe Web. Caracterul interactiv al programului Flash este
limitată în comparaţie cu acea a programului Director , dar Flash este foarte popular
datorită graficii sale vectoriale, un format grafic care este mic şi scalabil.
Pentru a livra cu succes un conţinut prin intermediul paginii noastre de Web, trebuie să ne
dăm seama dacă principalele două Browsere, Netscape şi Internet Explorer manipulează
aceste fişiere în două moduri diferite, dar cu anumite similarităţi. Netscape permite
utilizatorului să extindă capacităţile Browserului cu module Plug-in. Microsoft îşi
foloseşte standardul sau ActiveX pentru a lansa şi rula conţinut media. Internet Explorer
poate folosi module Plug-in Netscape, care sunt instalate ca şi în Netscape.
Un fişier Shockwave sau Flash se instalează exact ca fişierul de sunet. Selectăm obiectul
Flash pentru a insera un film Flash. Spre deosebire de fişierul sunet, filmul Flash are o
Conectarea Paginilor Web La Baze De Date 42
casetă de validare în inspectorul Property atât pentru parametrul Loop, cât şi pentru
Autoplay. Reţinem, totuşi, că avem în continuare la dispoziţie butonul Parameters în caz
că trebuie să adăugăm un atribut al filmului care este afişat în inspectorul Property.
Dacă avem modulul Plug-in adecvat instalat în calculatorul nostru, putem reda filmul
Flash în fereastra Document din Dreamweaver.
4.6. Afişarea datelor cu ajutorul tabelelor
Tabelele nu asigură numai posibilitatea de a prezenta în mod logic date în coloane şi
rânduri. Tabelele permit proiectanţilor de pagini Web să controleze locul unde obiectele
apar în pagină. Tabelele pot constitui un instrument puternic pentru afişarea datelor într-
un mod logic. Tabelele se folosesc în html aşa cum se utilizează într-o aplicaţie de
prelucrare a textelor. Tabelele sunt alcătuite din rânduri, colooane şi celule. Dreamweaver
prezinte numeroase moduri de formatare a tabelelor în modul în care dorim ca acestea să
apară cititorului nostru.
Crearea unui tabel pentru date
Pentru a insera un tabel în pagina noastra de Web trebuie să plasăm punctul de inserţie în
pagina de web unde dorim ca tabelul să fie inserat. Selectăm pictograma tabel din paleta
Object sau alegem comanda tabel din meniul Insert. Va apărea caseta de dialog Insert
Table. Acceptăm valorile prestabilite sau introducem propriile noastre valori în Rows
(rânduri) şi Columns (coloane). Tot în această caseta de dialog putem selecta lăţimea
tabelului şi dimensiunea chenarului.
Tabelele sunt alcătuite din rânduri care conţin celulele tabelului. Nu există o etichetă html
pentru o coloana din tabel. Conţinutul celulelor de antet apare cu caractere aldine şi
centrat.
Importarea datelor din tabel
Putem importa în Dreamweaver datele exportate din aplicaţiile de calcul tabelar sau de
baza de date folosiind comanda Import Table Data. Majoritatea aplicaţiilor de calcul
Conectarea Paginilor Web La Baze De Date 43
tabelar şi a celor de baze de date pot exporta date într-un fişier text, astfel încât
Dreamweaver le poate importa.
Trebuie să ştim care este caracterul folosit în fişierul de date ca delimitator înainte de a
putea importa cu succes date în Dreamweaver. Un delimitator este caracterul folosit intre
câmpurile de date individual. Delimitatorii frecvent folosiţi sunt caracterul de tabulare,
spaţiul, virgulă, caracterul punct şi virgulă.
Exportarea datelor dintr-un tabel
Putem exporta date tabelare dintr-un tabel html, apoi datele vor putea fi importate într-o
foaie de calcul tabelar, într-o bază de date sau într-o altă aplicaţie care are capacitatea de
a prelucra date separate prin delimitator. Pentru a exporta date tabelare din Dreamweaver
selectăm un tabel sau plasăm cursorul în oricare din celulele tabelului. Selectăm
submeniul Export din meniul File şi apoi selectăm comanda Export table.
Folosirea comportării GO TO URL pentru incărcarea cadrelor
Comportarea go to url are posibilitatea de orientare a cadrelor şi este o bună modalitate
de a determina incarcarea unui cuntinut în două cadre simultan. De exemplu sar putea să
dorim să modificăm atât cadrul intitulat `cadru sus`, cât şi conţinutul cadrului `principal`,
atunci când utilizatorul execută clic pe o hiperlegatură din cadrul denumit `cuprins`. Sar
putea că utilizatorul să fi selectat o altă secţiune a conţinutului care are un titlu în cadrul
`sus`. Din moment ce o hiperlegătură poate să modifice numai conţinutul unui singur
cadru trebuie să folosim comportarea go to url. Pentru a folosi comportarea go to url
selectăm un obiect în cadrul intitulat `cadru sus` pentru a crea hiperlegătura. Plasăm un
simbol diez (#) în caseta Link a inspectorului Property pentru a crea o legatură nulă;
selectăm butonul + din inspectorul Behavior şi selectăm go to url; introducem o adresă
url şi orientăm cadrul denumit `cuprins`. Selectăm butonul + şi selectăm din nou
comportarea go to url; introducem o adresă url şi orientăm cadrul intitulat `principal`.
Conectarea Paginilor Web La Baze De Date 44
&5.Proiectul: Gestiunea Consumatorilor Electrica
5.1. Descriere Proiect
Lucrarea urmăreşte, crearea unei pagini de Internet,care să permită gestiunea
consumatorilor unei companii de furnizare a energiei electrice,denumită Electrica.
Această pagină web, insă nu conţine doar gestiunea consumatorilor,ci şi gestiunea
tarifelor practicate şi permite şi realizarea facturării.
La baza realizării unei asemenea pagini, stă o Bază de Date, care conţine toate datele de
care avem nevoie pentru a realiza ceeace neam propus.
Această Bază de Date va conţine mai multe tabele de informaţii, pentru a minimaliza
redundantele şi pentru a spori cât se poate eficienţa prelucrării informaţiilor.
Tabelele sunt următoarele:Consumatori, Tarife, Conectări, Facturi, Articole facturate,
Limite.Aceste tabele le vom numi clase(deoarece ele conţin toate datele necesare pentru
lucrul cu entităţile descrise de ele într-o clasă).Deci folosind denumirea de clase a
tabelelor Programul permite realizarea următoarelor operaţii:
-Tipărirea Consumatorilor,cât şi celorlalte clase;
-Modificarea Consumatorilor,cât şi celorlalte clase;
-Tipărirea Consumatorilor Deconectaţi;
-Tipărirea Facturii unui Consumator;
-Tipărirea Preţurilor şi Limitelor la care se aplică;
-Calculul plătii de efectuat(pt.toate tipurile de tarife),dânduse consumul şi perioada de
contorizare.
Conectarea Paginilor Web La Baze De Date 45
5.2. Modelarea claselor
MODELAREA EVENIMENTELOR ŞI ACŢIUNILOR
Mediul în care se rulează programul este Internetul.
Evenimentele din pagina PRINCIPALĂ:
-Date generale: afişare date generale despre Electrica;
Conectarea Paginilor Web La Baze De Date
CONSUMATORI
TARIFE ARTICOLE FACTURATE
FACTURI CONECTARI LIMTE
46
-Liste preţuri şi limite;
-Calcul factură:se introduce perioada de facturare şi se afişează cât este de plată
pentru toate tipurile de tarife;
-Link spre pagina Electrica.ro;
-Link spre pagina ADMIN:acces la baza de date.
Evenimentele din pagina ADMIN: -Lista deconectaţi:cei care au o înregistrare nevida in Data_Deconectarii; -Afişare factura pentru un anumit consummator;
-Afişarea conţinutului unei tabele alese;-Inserare în tabela aleasă;-Modificarea unei înregistrări alese dintr-o tabela aleasă.
Conectarea Paginilor Web La Baze De Date 47
PAGINA PRINCIPALĂ
ADMIN
DECONECTAŢIACCES TABELE
AFIŞ FACTURĂ
DATE GENERALE
LIST PREŢURI LIMITE
CALCUL FACTURĂ
5.3. Definirea claselor cu atributele lor
Conectarea Paginilor Web La Baze De Date
CONSUMATORI IDENTIFICATOR DE_LAPANA_LAINDEX VECHIINDEX NOUCONSUMTARIF CODNUMEADRESAOPERATII
TARIFETARIF CODPRET ABONAMENTPRET KWH1PRET KWH2PRET KWH3DATANUME TARIFOPERATII
CONECTARIIDENTIFICATORDECONECTAREARECONECTAREA
OPERATII
FACTURINUMAR FACTURAIDENTIFICATORINDEX VECHIINDEX NOUVALOAREDATA
OPERATIIARTICOLE FACTURATENUMAR FACTURAARTICOLCANTITATEPRETVALOAREOPERATII
48
5.4. Definirea claselor necesare, atributelor şi operaţiilor
Conectarea Paginilor Web La Baze De Date
LIMITETARIF CODLIMITA1LIMITA2LIMITA3OPERATII
TARIFETARIF CODPRET ABONAMENTPRET KWH1PRET KWH2PRET KWH3DATANUME TARIFAFISAREINSERAREMODIFICARE
CONSUMATORI IDENTIFICATOR DE_LAPANA_LAINDEX VECHIINDEX NOUCONSUMTARIF CODNUMEADRESAAFISAREINSERAREMODIFICARE
FACTURINUMAR FACTURAIDENTIFICATORINDEX VECHIINDEX NOUVALOAREDATAAFISAREINSERAREMODIFICARE
CONECTARIIDENTIFICATORDECONECTAREARECONECTAREA
AFISAREINSERAREMODIFICARE
LIMITETARIF CODLIMITA1LIMITA2LIMITA3AFISAREINSERAREMODIFICARE
ARTICOLE FACTURATENUMAR FACTURAARTICOLCANTITATEPRETVALOAREAFISAREINSERAREMODIFICARE
49
5.5.Paşii creării facturii
Conectarea Paginilor Web La Baze De Date 50
5.6.Diagrama de trasare a evenimentelor
CONSUMATORI
Conectarea Paginilor Web La Baze De Date
CREARE
FACTURĂ APROGRAMARE A
AFIŞARE FACTURĂ
OGRAMARE A
CALCUL
ELEM
FACTURĂ
ALEGERE CONSUMATOR
TARIFE
LIMITE
FACTURI
ARTIC FACT
51
INCADRARE
INCADR
TARIF
TARIFE
LIMITE
FACTURI
ARTIC_FACTU
CONECTARI
5.7.Concluzie
Principiile modelului relaţional au fost pentru prima dată expuse de Dr. E. F.Codd,care în
iunie 1970 a publicat un articol numit 'Un model relaţional de date pentru marile bânci de
date'.În acest articol Dr. Codd a propus modelul 'relaţional' pentru sistemele de baze de
date.
Conectarea Paginilor Web La Baze De Date 52
LISTARE
DECONECŢATIA
FIŞ
FACT
AFIŞ
FACTURĂ
POTRIVIRE
PREŢ-ARTIC
Baza de date relaţionala este percepută de utilizatorii săi ca o colecţie de tabele
bidimensionale care sunt uşor de înţeles.Sunt doar patru concepte de înţeles: tabele,
coloane, rânduri, campuri.
Modelul relaţional imită procesele unei ramuri a algebrei cunoscut sub numele de
'Algebra relaţională'. Aceste procese implică: o colecţie de obiecte cunoscute sub numele
de RELAŢII, o mulţime de operatori ce acţioneza asupra relaţiilor pentru a produce noi
relaţii.
O Relaţie poate fi înţeleasa ca o Tabela.Modificarea datelor este reali-zată prin operaţiile
relaţionale aplicate asupre tabelelor.
Caracteristicile principale a unei baze de date relaţionale:
O bază de date relaţională apare ca o colecţie de relaţii(tabele) câtre utilizator.
Formatul coloanei/randului este familiar şi uşor pentru vizualizarea datelor .
Există o mulţime de operatori pentru partiţionarea şi combinarea
relaţiilor(selecţia,proiecţia,produsul,joinul,uniunea, intersecţia, diferenţa).
Nu sunt pointeri expliciţi;conexiunile sunt făcute numai pe baza datelor.
Limbajul utilizat pentru interogarea bazei de date este non-procedural şi similar limbii
engleze.
Utilizatorul nu specifică calea de acces şi nu are nevoie să ştie cum este informaţia
aranjată fizic.
Comenzile pentru refacerea datelor şi acelea pentru realizarea schimbărilor în baza de
date sunt incluse într-un singur limbaj SQL.
Există o independenţă totală a datelor.
Majoritatea evenimentelor preiau date din mai multe tabele, datele unei tabele fiind
completate de date ale altor tabele şi doar aşa complete pot fi folositoare anumitor
procese.
Datorită acestor relaţii dintre tabele rezultă minimizarea reduntanţei datelor, deoarece
având acces la o dată din altă tabele decât cea prelucrată, nu mai memorăm acea dată şi în
cea dea doua tabelă.
Conectarea Paginilor Web La Baze De Date 53
Proiectul a urmărit să facă posibilă realizarea a cât mai multor perspective asupra bazei
de date, fără să crească redundanţa datelor bazei de date, ceeace ar însemna scăderea
eficienţei.
Am putea spune că am realizat o interfaţă cu o baza de date cu ajutorul Internetului,
limbajul care face posibilă aceasta interacţiune fiind php-mysql şi astfel putem avea acces
asupra bazei de date prin intermediul Internetului.
Bibliografie
Conectarea Paginilor Web La Baze De Date 54
1. Despi I., Petrov Gh., Reisz R., Stepan A., Teoria Generală a Bazelor De Date, Editura
Mirton 1999/2000 ,Timişoara
2. Petrov Gheorghe, Cursul Baze de Date, notiţe
3. Reisz Robert, Cursul Baze de Date, notiţe
4. Homorodeanu A., Iosupescu I., Internet şi pagini Web, Editura Niculescu 2001, Bucureşti
5. Sabin Buruga, Proiectare siturilor Web,Editura Polirom 2002
6. Betsy Bruce, Dreamweaver, Editura Teora 2001
7. Philip Kerman, Flash, Editura Teora 2001
8. Documentaţii din departamentul de prelucrare a bazelor de date din interiorul sucursalei Electrica Banat, din perioada de practică
Conectarea Paginilor Web La Baze De Date 55