Sunteți pe pagina 1din 10

Conferina Naional de nvmnt Virtual

VIRTUAL LEARNING VIRTUAL REALITY

SOFTWARE & MANAGEMENT EDUCAIONAL

Dedicat mplinirii a 100 de ani de la naterea lui Grigore C. Moisil

2006 ANUL INTERNAIONAL UNESCO


GRIGORE C. MOISIL

Editura Universitii din Bucureti


os. Panduri nr. 90-92, BUCURETI- 050663;Tel.Fax: 410.23.84
E-mail: editura@unibuc.ro
Web: www.editura.unibuc.ro

Descrierea CIP a Bibliotecii Naionale a Romniei


SOFTWARE I MANAGEMENT. CONFERINA NAIONAL DE
NVMNT VIRTUAL CNIV 2005 (2 ; 2005; Bucureti)
Lucrrile Conferinei Naionale de nvmnt Virtual:
ediia a III-a, Bucureti, 28-30 octombrie, 2005. Software
educaional/ed:I.Chiescu, H. Georgescu, V. Preda, Bucureti: Editura Universitii din Bucureti, 2005
ISBN 973-737-097-X

Coordonator: Conf. univ. dr. Marin Vlada

Conferina Naional de nvmnt Virtual, ediia a III-a, 2005

1 of 8

Proiectarea unei librrii virtuale


Radu RDESCU Universitatea Politehnica Bucureti,
rradescu@atm.neuro.pub.ro
Valeriu CIORGAN Universitatea Politehnica Bucureti,
valiciorgan@yahoo.com
Abstract
Magazinul virtual descris n acest articol este construit n limbajul PHP i se
bazeaz pe modalitatea de plat electronic. Plata prin ramburs este incomod,
deoarece necesit deplasarea la oficiul potal unde trebuie fcut plata pentru
ridicarea pachetului. Modalitatea de plat care se va impune pe viitor este plata prin
card bancar. Articolul prezint n detaliu procedura tehnic de proiectare a unei
librrii virtuale, precum i modul de accesare a acesteia de ctre utilizatori.

1. Introducere
Comerul electronic se poate defini ca fiind o activitate comercial n care o firm
(comerciant) folosete Internetul pentru a-i prezenta i vinde produsele ctre clienii
si. n general procesul de vnzare-cumprare on-line se desfoar astfel:

Comerciantul i deschide un magazin virtual pe Internet pe care i prezint n


detaliu produsele comercializate.
Cumprtorul intr pe acest magazin virtual, gsete produsul cutat i
transmite o comand ctre comerciant, specificnd produsele, cantitile
comandate, modalitatea de plat i adresa de livrare.
Dup verificarea veridicitii datelor din comand, comerciantul livreaz marfa
ctre cumprtor, ncasnd contravaloarea acesteia, fie de pe cardul
cumprtorului, fie la livrarea produselor sau chiar n avans n unele cazuri.

Deja pe piaa romneasc este disponibil o soluie web dedicat magazinelor


virtuale numit ePayment prin care se pot procesa pli cu card VISA, VISA Electron,
Mastercard i Maestro. Aplicaia, realizat de GeCAD, poate livra automat codurile de
activare sau de acces, poate emite notificri n timp real la aprobarea plii.
2. Designul de baz al magazinului virtual
Una din regulile n conceperea unei interfee utilizator pentru un produs software
este urmtoarea: o interfa utilizator este bine scris atunci cnd programul se
comport exact aa cum se ateapt utilizatorii si.

Conferina Naional de nvmnt Virtual, ediia a III-a, 2005

2 of 8

Aceast regul trebuie avut i la conceperea site-urilor web. Proiectarea


magazinului virtual ca site web este dirijat de utilizator (user-centered interface
design), iar interfaa trebuie s mulumeasc, s menajeze i s ajute utilizatorul. n
conceperea magazinului virtual, a fost adoptat un design orientat ctre utilizator. Cum
interfeele utilizator grafice (ex.: Windows) au fost proiectate s ofere utilizatorilor un
acces direct dar facil la propriile calculatoare, utilizatorii ateapt acelai nivel
sofisticat dar sugestiv al design-ului i n cazul site-urilor web.
Pentru a asigura un design orientat ctre utilizator au fost luate n calcul
posibilitile de navigare prin site, accesul direct i rapid la informaii, asigurarea
simplitii, stabilitatea design-ului i nu n ultimul rnd crearea unui coninut accesibil.
Site-ul web dezvoltat este un magazin virtual care se ocup cu vnzarea crilor. n
figura 1 este prezentat prima pagin a site-ului (homepage). Este foarte important ca
utilizatorul s aib acces direct n ct mai multe locuri din site nc din prima pagin.
Seciunile din aceast pagin sunt: Categorii, Cutare, Nouti, Recomandri, Login i
Top 5 vnzri. Aranjarea informaiilor pe site a fost fcut cu ajutorul unor module
care se i adapteaz automat dimensiunile n funcie de informaiile pe care le conin.
Fiecare pagin are pe una din laturi un modul cu lista de categorii i un alt modul cu
formularul de cutare. Pe cealalt latur sunt prezente modulele Login, Top 5 i Coul
de cumprturi.

Figura 1. Homepage-ul magazinului virtual

Cea mai important problem de interfa n cazul site-urilor de web este absena
orientrii n cadrul organizrii locale a informaiei din acel document. Imaginile clare
i consistente, o privire de ansamblu asupra paginii i n cazul de fa o seciune de
categorii ale crilor pot da utilizatorilor ncrederea c au posibilitatea de a gsi
informaiile dorite ntr-un mod eficient.

Conferina Naional de nvmnt Virtual, ediia a III-a, 2005

3 of 8

Figura 2. Crile din categoria beletristic

n figura 2 este prezentat o pagin web care conine crile dintr-o anumit
categorie.
Utilizatorii trebuie s aib ntotdeauna posibilitatea de a se ntoarce cu uurin la
prima pagina a site-ului (acest lucru a fost realizat cu plasarea unui link pe sigla
magazinului virtual ctre homepage) i la oricare alte puncte importante de navigare
prezente n cadrul site-ului. Lipsa legturilor dintr-o pagin creeaz confuzie, deoarece
utilizatorul nu mai are n ce direcie s navigheze i astfel ansele ca el s prseasc
site-ul sunt foarte mari.
Seciuni importante ale navigrii n site-ul web realizat sunt paginile de categorii,
pagina de rezultate n urma unei cutri, modulul de autentificare i cel de nregistrare,
coul de cumprturi i comanda de la cas.
3. Baza de date MySQL
O parte din informaiile disponibile n cadrul site-ului web a fost stocat folosind
baze de date. Toate datele legate de cri, categorii, utilizatori i comenzi au fost
stocate n tabele. Baza de date care conine toate tabelele se numete magazin. Crile
au fost stocate ntr-un tabel numit books. Lista de categorii a fost stocat ntr-un tabel
numit category cu doar dou cmpuri: id de tip ntreg, cheie primar i incrementare
automat i name.
ntre tabelele books i category exist o asociere de tipul N:1, realizat prin cheia
strin cat (books), care refer cheia primar id (aparinnd tabelului category).
Orice utilizator al site-ului trebuie s se autentifice pentru a putea duce la sfrit o
comand. Datele necesare autentificrii sunt introduse cu ajutorul formularului de
nregistrare i sunt stocate n tabelul users.

Conferina Naional de nvmnt Virtual, ediia a III-a, 2005

4 of 8

Tabelul users conine informaii necesare autentificrii pe site (adresa de e-mail i


parola), necesare livrrii unei eventuale comenzi (numele i adresa) i date legate de
vizitele pe site (data de la care este membru i data la care a fcut ultima autentificare
pe site).
Toate informaiile legate de comenzi sunt stocate n dou tabele: orders i
orders_details. ntre tabelele orders_details i orders exist o asociere de tipul N:1,
realizat prin cheia strin order_id (orders_details), care refer cheia primar id
(aparinnd tabelului orders). Tabelul orders conine adresa de e-mail a utilizatorului
care a fcut comanda, data i ora la care s-a fcut comanda, totalul n lei al comenzii i
adresa la care va fi livrat comanda.
Tabelul orders_details conine informaii legate de crile comandate i de
numrul de exemplare. De asemenea, ntre acest tabel i tabelul books exist o asociere
de tipul N:1, realizat prin cheia strin book_id (orders_details), care refer cheia
primar id (books).
n figura 3 este prezentat diagrama entitate de relaii.

Figura 3. Diagrama entitate de relaii

4. Principalele seciuni ale magazinului virtual


n figura 4 este prezentat diagrama fluxului de date. Lista de categorii, prezent
ntotdeauna n partea stng, este generat n funcie de nregistrrile din tabelul
category. Acest lucru se face printr-o interogare a bazei de date folosind funcia
mysql_query(). Rezultatele sunt apoi prelucrate cu funcia mysql_fetch_array(), funcie
care returneaz un array cu toate nregistrrile rezultate n urma interogrii.
Link-urile apeleaz fiierul index.php cu 3 parametri transmii prin metoda get:
page=categ (n cadrul fiierului index.php este inclus pagina categ.php),
id=<valoare> (id-ul categoriei) i pagina=1 (indic pagina curent din lista de cri).

Conferina Naional de nvmnt Virtual, ediia a III-a, 2005

Modul
navigare

5 of 8

Modul
utilizator
Date
Lista
autenficare
produse
Inregistrare
Date
date
autentificare

Variabilele de
sesiune

Baza de date

Id produs
Id produs
Lista cri
Inregistrare
comanda

Pagina
coului de
cumprturi

Modul co de
cumprturi

Pagina de
comand

Modulul co de cumprturi
Pagina de
cutare

Pagina de
categorii

Modulul de navigare
Pagina de
autentificare

Pagina de
creare cont
nou

Modulul utilizator
Figura 4. Diagrama fluxului de date

5. nregistrarea unui nou utilizator


Crearea unui nou cont pe site-ul web se face accesnd link-ul Cont nou i
completnd formularul de nregistrare.
A fost creat un mecanism de verificare i validare a informaiilor introduse n
formular, astfel nct la o eroare de procesare cmpurile corecte s i pstreze
valoarea, iar utilizatorul s fie atenionat doar pentru cmpurile invalide rmase (vezi
figura 5).

Conferina Naional de nvmnt Virtual, ediia a III-a, 2005

6 of 8

Figura 5. Crearea contului unui utilizator nou

Dac un cmp are o valoare invalid, atunci n partea de sus a formularului, pe un


fond rou, este afiat motivul pentru care cmpul nu a fost validat. n cazul fiecrui
cmp invalid, este folosit variabila string err, creia i se concateneaz motivul
invalidrii pentru fiecare rnd n parte. Cmpul adresei de e-mail este cmpul cu cele
mai riguroase validri: pe lng verificarea existenei unui string, adresa de e-mail este
verificat cu ajutorul expresiilor regulate implementate cu funcia eregi(). Ultima
verificare const n compararea tuturor adreselor de e-mail din tabelul users cu adresa
de e-mail curent. Dac nu a aprut nici o eroare, atunci se trece la inserarea datelor n
tabelul users, folosind comanda SQL insert. Funcia SQL now(), care returneaz data
i ora curent, este folosit n comanda de inserare a datelor pentru a ti data la care
utilizatorul s-a nregistrat pe site.
6. Folosirea sesiunilor n PHP
Suportul pentru sesiuni n PHP reprezint posibilitatea stocrii de informaie
pentru accesri ulterioare. Acest lucru d posibilitatea programatorului s realizeze
aplicaii web personalizate. Unui utilizator care viziteaz site-ul web i este asignat un
id unic, numit id de sesiune (session id). Acest id este fie stocat ntr-un cookie pe
partea de client, fie propagat n cadrul URL-ului.

Conferina Naional de nvmnt Virtual, ediia a III-a, 2005

7 of 8

Pentru a porni o sesiune, este necesar apelul funciei session_start(). Funcia


trebuie apelat nainte ca orice informaie s fie afiat n browser. Variabilele de
sesiune pot fi accesate n orice pagin din cadrul site-ului web. O variabil de sesiune
se creeaz astfel:
$_SESSION['user'] = "Ionut";
Dac se dorete ca aceast variabil s nu mai fie stocat n cadrul sesiuni, atunci
se apeleaz funcia unset():
unset($_SESSION['user']);
n cazul unei autentificri care s-a realizat cu succes, se folosesc dou variabile de
sesiune: una pentru adresa de e-mail i alta pentru numele utilizatorului.
6.1. Mecanismul coului de cumprturi
n cazul construirii unui magazin virtual, este imperios necesar implementarea
elementelor reale dintr-un magazin, cum ar fi coul de cumprturi i casa magazinului
unde se pltesc produsele. La baza realizrii coului de cumprturi stau funciile de
sesiune alte PHP-ului. Practic, coul de cumprturi este de fapt un vector care este
reinut prin sesiuni. Indexul vectorului reprezint id-ul crii, iar valoarea vectorului
pentru indexul respectiv reprezint numrul de exemplare din co ale acelei cri.
Atunci cnd o carte este adugat n co, fiierul index.php primete un parametru
numit adauga_carte, care are drept valoare id-ul crii.
Modificarea crilor din coul de cumprturi este gestionat de fiierul
modify_basket.php. Fiecrei cri i corespunde un mic formular n care se poate
introduce cantitatea dorit; de asemenea, utilizatorul are posibilitatea de a scoate
anumite cri din coul de cumprturi (vezi figura 6).

Figura 6. Lucrul cu coul de cumprturi

Conferina Naional de nvmnt Virtual, ediia a III-a, 2005

8 of 8

6.2. Administrarea librriei virtuale


Pentru orice magazin virtual prezent pe web, un lucru foarte important l reprezint
actualizarea informaiilor referitoare la produse. n acest scop, a fost creat o pagin de
administrare a bazei de date a crilor, care conine toate crile din tabela books;
pentru fiecare carte n parte se poate alege opiunea de modificare a datelor sau
eliminarea crii din baza de date (vezi figura 7).

Figura 7. Opiunea de modificare a datelor

7. Concluzii
Scopul acestei lucrri este de a prezenta paii care trebuie urmai pentru realizarea
unui magazin virtual. Seciunile site-ului i tabelele MySQL folosite au fost descrise n
detaliu. Implementarea coului de cumprturi a fost posibil folosind funciile de
sesiune ale PHP-ului i s-a bazat pe stocarea unui vector drept variabil de sesiune.
Deoarece PHP-ul are suport pentru expresii regulate, este foarte util verificarea n
acest mod a adresei de e-mail din formularul de nregistrare.
Posibile mbuntiri ale magazinului virtual ar putea fi: efectuarea de pli on-line
prin card bancar; adugarea pentru fiecare carte n parte a unei imagini cu coperta;
crearea posibilitii de rsfoire a crilor (fiecare carte n parte ar putea s aib
cuprinsul i primul capitol disponibil on-line); fiecare utilizator sa aib posibilitatea de
a i nregistra o list care s conin crile pe care le are n vedere s le cumpere;
posibilitatea utilizatorilor de a avea la dispoziie o istorie a comenzilor lor; crearea unui
newsletter periodic care s prezinte noutile aprute pe site.

8. Bibliografie
[1] A. Cooper, Proiectarea interfeelor utilizator, Editura Tehnic, 1997.
[2] D. Amor, The E-Business (R)evolution, Prentice-Hall, 1999.
[3] B. Gates, Afaceri cu viteza gndului, Editura Amaltea, Bucureti, 2000.
[4] V. Patriciu, Securitatea comerului electronic, Editura All, Bucureti, 2001.
[5] http://www.php.net, http://www.mysql.org, http://www.htmlhelp.com

10

S-ar putea să vă placă și