Documente Academic
Documente Profesional
Documente Cultură
PROIECT DE DIPLOM
Coeran A. Andreea-Mdlina
COORDONATOR TIINIFIC
Asist.Ph.D.Eng Stoica Spahiu Cosmin
Iulie 2014
CRAIOVA
COORDONATOR TIINIFIC
Assist.Ph.D.Eng Stoica Spahiu Cosmin
Iuie 2014
CRAIOVA
ii
DECLARAIE DE ORIGINALITATE
reproducerea exact a cuvintelor unui alt autor, dintr-o alt lucrare, n limba romn sau prin
plasarea ntre ghilimele a citatelor directe i indicarea referinei ntr-o list corespunztoare la
sfritul lucrrii,
indicarea n text a reformulrii unei idei, opinii sau teorii i corespunztor n lista de referine
Data,
Semntura candidatului,
4.06.2014
iii
Aprobat la data de
ef de departament,
PROIECTUL DE DIPLOM
Enunul temei:
Coeran Andreea-Mdlina
Consultaii:
Conductorul tiinific
(titlul, nume i prenume, semntura):
Periodice
13.06.2014
COERAN A. ANDREEA-MDLINA
Calculatoare
Magazin online de componente electronice
n facultate
n producie
n cercetare
Alt locaie: [se detaliaz]
Nivelul documentrii
Tipul proiectului
Utilitate
Redactarea lucrrii
Insuficient
Satisfctor
Bine
Foarte bine
Cercetare
Proiectare
Realizare
Altul
[se detaliaz]
Simplu
Mediu
practic
Complex
Contract de
Cercetare
Utilare
Altul
cercetare
Insuficient
intern
Satisfctor
[se detaliaz]
Bine
Foarte bine
Insuficient
Satisfctoar
Bun
Foarte bun
e
Satisfctoar
Mare
Foarte mare
Insuficient
Contribuia autorului
Absent
Mare
Complex
Complexitatea
Simpl
e
Medie
temei
Analiza cerinelor
Insuficient
vi
Satisfctor
Bine
Foarte bine
Simpl
Medie
Mare
Complex
Insuficient
Satisfctoar
Bun
Foarte bun
Arhitectura
ntocmirea
specificaiilor
funcionale
Insuficient
Satisfctoar
Bun
Foarte bun
e
Satisfctoar
Bun
Foarte bun
Implementarea
Insuficient
Testarea
Funcionarea
Da
e
Parial
Experiment propriu
Rezultate experimentale
Cri
Bibliografie
Nu
Reviste
Articole
Referine web
Comentarii
i
observaii
n concluzie, se propune:
ADMITEREA PROIECTULUI
RESPINGEREA PROIECTULUI
Data,
vii
viii
REZUMATUL PROIECTULUI
n acest proiect este vorba despre gestionarea i ntreinerea unui magazin online de componente
electronice. Aplicaia ruleaz pe server LocalHost cu ajutorul programului WampServer. Baza de date
este realizat cu phpMyAdmin din cadrul aceluiai program. Paginile site-ului sunt realizate n
limbajul web php cu ajutorul programului Adobe Dreamweaver cs4.
Magazinul Online este destinat tuturor persoanelor, fiind gestionat de ctre un admin care are
sarcina de a menine funcionarea acestuia n sigurana i de a simplifica utilizarea lui. Acesta are rolul
de a aduga,modifica, terge categoriile sau produsele care sunt disponibile utilizatorului. Clientul are
posibilitatea doar de a vizualiza ofertele disponibile i de a le cumpara dac acesta dorete.
ix
CUPRINS
1
INTRODUCERE.........................................................................................1
PROGRAMAREA WEB................................................................................2
2.1
PROGRAMAREA
DE TIP
CLIENT SIDE..............................................................................2
2.1.1 HTML(HyperTextMarkupLanguage)...................................................................2
2.1.2 CSS (Cascading Style Sheet)............................................................................4
2.1.3 JavaScript......................................................................................................... 4
2.2
PROGRAMAREA
2.2.1 PHP................................................................................................................... 9
2.2.2 Baze de date.................................................................................................. 11
2.2.3 Limbajul SQL..................................................................................................13
2.3
COMERTUL
ELECTRONIC............................................................................................ 14
APLICATIA SOFTWARE............................................................................18
3.1
PREZENTARE
3.2
INTEFATA
GENERALA........................................................................................... 18
SITE-ULUI.................................................................................................. 19
SOFTURI
FOLOSITE.................................................................................................. 43
3.3.1 Dreamweaver.................................................................................................43
3.3.2 Wamp Server.................................................................................................. 47
3.4
MODELUL
CONCLUZII............................................................................................. 50
BIBLIOGRAFIE........................................................................................51
REFERINE WEB.....................................................................................52
CD / DVD..................................................................................................... 53
LISTA FIGURILOR
FIGURA 1. EXEMPLU.................................................................................................................................................6
FIGURA 2. CREEAREA OBIECTELOR...........................................................................................................................7
FIGURA 3. MODELUL CLIENT-SERVER.......................................................................................................................8
FIGURA 4. SITE ROOT..............................................................................................................................................20
FIGURA 5. ADMIN.PHP.............................................................................................................................................21
FIGURA 6. INDEX.PHP..............................................................................................................................................22
FIGURA 7. .LISTA CATEGORII...................................................................................................................................22
FIGURA 8. ADAUGA CATEGORIE NOUA....................................................................................................................24
FIGURA 9. LISTA DE PRODUSE.................................................................................................................................25
FIGURA 10. ADAUGARE PRODUSE...........................................................................................................................26
FIGURA 11. INCARCA IMAGINEA.............................................................................................................................27
FIGURA 12. INDEX.PHP............................................................................................................................................28
FIGURA 13.INREGISTRARE CLEINTI.........................................................................................................................30
FIGURA 14. INREGISTRARE CU SUCCES...................................................................................................................31
FIGURA 15. ACCES UTILIZATOR...............................................................................................................................32
FIGURA 16. PRODUSE.............................................................................................................................................34
FIGURA 17. INTEGRATE...........................................................................................................................................35
FIGURA 18. PRODUSE..............................................................................................................................................36
FIGURA 19. LISTA COS............................................................................................................................................38
FIGURA 20. COS CUMPARATURI...............................................................................................................................41
FIGURA 21. METODA PLATA....................................................................................................................................41
FIGURA 22. FINALIZARE PLATA...............................................................................................................................42
FIGURA 23. INTERFATA DW.....................................................................................................................................44
FIGURA 24 CREARE SITE.........................................................................................................................................44
FIGURA 25. SERVER BEHAVIORS.............................................................................................................................45
FIGURA 26. BINDINGS.............................................................................................................................................45
FIGURA 27. WAMP SERVER......................................................................................................................................48
FIGURA 28. PHP MYADMIN......................................................................................................................................48
FIGURA 29. MODELUL RELATIONAL........................................................................................................................49
xi
xii
1 INTRODUCERE
Dezvoltarea rapid a Internetului s-a datorat faptului c accesul la documentaia protocoalelor
obligatorii a fost i este liber i gratuit. n 1969 S. Crocker a iniiat o serie de note de cercetare
denumite RFC (Request for Comments), numerotate cronologic i devenite cu timpul accesibile
gratuit on-line (n Internet). Marea schimbare a nceput n 1989, cnd Tim Berners Lee de la Centrul
European pentru Fizica Nuclear din Geneva (CERN) a pus bazele dezvoltrii primului prototip al
World Wide Web (WWW sau web).
Aplicaiile Internetului sunt numeroase: n primul rnd afiarea de informaii mai mult sau
mai puin statice cu form de text, imagini i sunete (aa-numitele pagini web), apoi pota electronic
e-mail, transferul de fiiere de date i informaii, chat, video i video on demand, telefonie i telefonie
cu imagine prin Internet, televiziune prin Internet, e-commerce, sondri de opinie, mediu pentru
rspndirea tirilor, mediu pentru toate genurile de grafic i muzic, deschiderea unei sesiuni de lucru
de la distan, grupuri de discuii pe teme prestabilite, jocuri interactive prin reea, operaii bancare
(Internet banking), transmitere de fiiere i multe, multe altele. Pentru folosirea tuturor acestor
aplicaii din web este nevoie n general doar de un singur program multi-funcional numit browser.
Exemple de browsere: Chrome, Internet Explorer, Mozilla Firefox (provenit din Netscape Navigator),
Opera, Apple Safari etc.
Cu timpul, optimizarea unei pagini web(SEO) a unui site a devenit un serviciu oferit de
unele companii i/sau corporaii, odat cu apariia primelor site-uri pe internet, i care reprezint
totalitatea tehnicilor prin care un site web este adus la o form n care este propulsat mai sus n lista de
rezultate date de un motor de cutare pentru diverse cuvinte-cheie. La nceputurile internetului,
motoarele de cutare afiau n urma unei cutari, pagini n a cror descriere se afla cuvntul de
cutare. Deoarece webmasterii (proprietarii de site-uri) au fcut abuz de acest factor, motoarele de
cutare au alctuit algoritmi mult mai compleci, care includ :
Numele de domeniu
Elementele HTML
Titlul link-urilor
2 PROGRAMAREA WEB
Programarea web poate fi impartita in mai multe tipuri, iar o dezvoltare simplista ar putea
contine:
- Client side coding
- Server side coding
Un limbaj de tip server side este asemanator cu Java script si permite integrarea de mici
scripturi in codul HTML al unei pagini web. Cand sunt executate, aceste scripturi ne dau un control
mai mare asupra a ceea ce apare in fereastra browserului decat o pagina simpla scrisa numai in
HTML.
Limbajele de tip client sunt citite si executate de browser dupa descarcarea paginii web de pe
server. PHP, in mod contrar, ca si limbajele de tip server, sunt rulate pe server inainte de a trimite
pagina web catre browser.
2.1.1 HTML(HyperTextMarkupLanguage)
Un fiier care conine hipertext este scris ntr-un limbaj specific numit HiperText Markup Language
(HTML). HTML este un limbaj care permite inserarea de text, sunete, imagini, legaturi catre alte
pagini Web, etc.
Pagina principala a unui domeniu este fisierul index.html respectiv index.htm. Aceast pagin
este setat a fi afiat automat la vizitarea unui domeniu. De exemplu la vizitarea domeniului
www.nume.ro este afiat pagina www.nume.ro/index.html.
Componenta unui document HTML este:
1. versiunea HTML a documentului
2. zona head cu etichetele <head> </head>
3. zona body cu etichetele <body> </body> sau <frameset> </frameset>
Versiunea HTML poate fi:
HTML 4.01 Strict
2
</BODY>
</HTML>
Editarea unui fisier HTML se poate face utilizand un editor de texte obisnuit (Notepad, Word,
etc) sau un editor de texte dedicat (Dreamweaver).
stiluri in-line care se definesc ca atribute STYLE. Aproape toate elementele HTML(cu
excepia elementelor BASE, HEAD, BASE FONT, HTML, META, PARAM, SCRIPT,
STYLE, TITLE) permit acest atribut. Valorile atributului STYLE constau dintr-o list de
specificaii, sub forma nume-proprietate: valoare, pus ntre ghilimele i separate prin
punct i virgul;
foi de stil n interiorul unui document, plasate n partea de antet a documentului, n
2.1.3 JavaScript
JavaScript este un limbaj de programare folosit mai ales pentru introducerea unor
funcionaliti n paginile web. Codul Javascript din aceste pagini este rulat de ctre browser.
Limbajul este binecunoscut pentru folosirea sa n construirea siteurilor web, dar este folosit i pentru
acesul la obiecte ncastrate (embedded objects) n alte aplicaii. n ciuda numelui i a unor similariti
n sintax, ntre JavaScript i limbajul Java nu exist nicio legtur.
Cea mai des ntlnit utilizare a JavaScript este n scriptarea paginilor web. Programatorii web
pot ngloba n paginile HTML script-uri pentru diverse activiti cum ar fi verificarea datelor
introduse de utilizatori sau crearea de meniuri i alte efecte animate.
O tehnic de construire a paginilor web tot mai ntlnit n ultimul timp este AJAX, abreviere
de la Asynchronous JavaScript and XML. Aceast tehnic const n executarea de cereri HTTP n
4
fundal, fr a rencrca toat pagina web, i actualizarea numai anumitor poriuni ale paginii prin
manipularea DOM-ului paginii. Tehnica AJAX permite construirea unor interfee web cu timp de
rspuns mic, ntruct operaia (costisitoare ca timp) de ncrcare a unei pagini HTML complet este n
mare parte eliminat.
Scripturile JavaScript pot fi incluse n pagina Web n dou moduri:
-
Exemplul 1:
<HTML>
<HEAD>
<TITLE>javascript1</TITLE>
</HEAD>
<BODY>
<H1>Primul exemplu JavaScript</H1><HR>
<SCRIPT language="JavaScript">
document.write("Buna ziua!")
</SCRIPT>
</BODY>
</HTML>
Figura 1. Exemplu
Exemplu 2:
<HTML>
<HEAD>
<TITLE>javascript2</TITLE>
<SCRIPT language="JavaScript">
function PrintCard()
{
document.write("<B>Numele:</B> ", this.nume, "<BR>");
document.write("<B>Adresa:</B> ", this.adresa, "<BR>");
document.write("<B>Telefonul:</B> ", this.telefon, "<HR>");
}
function Card(num, adr, tel)
{
this.nume=num;
this.adresa=adr;
this.telefon=tel;
this.PrintCard=PrintCard;
}
</SCRIPT>
</HEAD>
<BODY>
<H1 align="center">Crearea obiectelor</H1>
Inceputul scriptului<HR>
<SCRIPT language="JavaScript">
// Crearea a trei obiecte noi
ana=new Card ("Ana Munteanu", "Str. Apusului, nr.2, Bucuresti",
"6162345")
ion=new Card("Ion Popescu", "Str. Zorilor nr.1, Ploiesti",
"456789");
radu=new Card("Radu Ionescu", "Str. Noptii, nr.3, Pitesti",
"201202");
// Afisarea lor
ana.PrintCard();
ion.PrintCard();
radu.PrintCard();
</SCRIPT>
Sfarsitul scriptului
</BODY>
</HTML>
Deseori unul i acelai computer poate juca ambele roluri, i de server, i de client, n acelai
timp. Numele de server este un alt termen pentru Host computer computer gazd, spre deosebire de
alte elemente "inteligente" din reea cum ar fi routerele i switch-urile.
n zilele noastre serverele se aseamn fizic cu celelalte calculatoare uzuale, dei configuraia
hardware este deseori optimizat pentru funcionarea lor ca servere. Multe componente de hardware
sunt identice cu cele ce le gsim ntr-un calculator personal. Totui serverele ruleaz sisteme de
operare i programe specializate care sunt foarte diferite fa de cele folosite pe calculatoare personale
i staiile de lucru.
Modelul client-server este o structur aplicaie distribuit care partajeaz procesarea ntre
furnizorii de servicii numii servere i elementele care solicit servicii, numite clieni. Adesea, clienii
i serverele comunic prin reea, avnd suporturi hardware diferite, dar se pot afla i pe acelai sistem.
Un server ruleaz unul sau mai multe programe server, care partajeaz resursele cu clienii. Clientul
nu partajeaz niciuna dintre resursele proprii, dar apeleaz la resursele serverului prin funciile-server.
Clienii iniiaz comunicaia cu serverele i ateapt mesajele acestora.
2.2.1 PHP
PHP este un limbaj de programare. Numele PHP provine din limba englez i este un acronim
recursiv : Php: Hypertext Preprocessor. Folosit iniial pentru a produce pagini web dinamice, este
folosit pe scar larg n dezvoltarea paginilor i aplicaiilor web. Se folosete n principal nglobat n
codul HTML, dar ncepnd de la versiunea 4.3.0 se poate folosi i n mod linie de comand,
permind crearea de aplicaii independente. Este unul din cele mai importante limbaje de programare
web open-source i server-side, existnd versiuni disponibile pentru majoritatea web serverelor i
pentru toate sistemele de operare. Conform statisticilor este instalat pe 20 de milioane de situri web i
pe 1 milion de servere web.. Este disponibil sub Licent a PHP s i Free Software Foundation l
consider a fi un software liber.
Iniial, limbajul a fost dezvoltat de inventatorul su, Rasmus Lerdorf. Odat cu creterea
numrului de utilizatori, dezvoltarea a fost preluat de o nou entitate, numit The PHP
Group (Grupul PHP).
PHP-ul este unul din cele mai folosite limbaje de programare server-side, aprnd pe 9 din cele
37 milioane de domenii cercetate n studiu. De asemenea, exist un grafic al creterii folosirii PHPului pe site-ul oficial. Popularitatea de care se bucur acest limbaj de programare se datoreaz
urmtoarelor caracteristici :
-
Familiaritatea : sintaxa limbajului este foarte uoar combinnd sintaxele unora din cele
de siguran;
Flexibilitate : fiind aprut din necesitatea dezvoltrii web-ului, PHP a fost modularizat
pentru a ine pasul cu dezvoltarea diferitelor tehnologii. Nefiind legat de un anumit server
web, PHP-ul a fost integrat pentru numeroasele servere web existente;
9
Gratuitate : este probabil cea mai important caracteristic a PHP-ului. Dezvoltarea PHPului sub licena open-source a determinat adaptarea rapid a PHP-ului la nevoile webului, eficientizarea i securizarea codului .
PHP este un limbaj de programare destinat n primul rnd Internetului, aducnd dinamic unei
pagini web. Este unul dintre cele mai importante limbaje de programare web open-source (este
gratuit i, n plus, utilizatorii pot aciona liber asupra procesului de dezvoltare) i server-side (codul
surs nu se ruleaz pe calculatorul celui care vizualizeaz pagina, ci pe serverul web). n prezent este
utilizat versiunea 6 a acestui limbaj.
Prin CGI (Common Gateway Interface) se nelege o interfa a unui server de web, care
extinde funcionalitile acestuia. CGI nu se refer la un anumit limbaj de programare, ci definete un
modul standardizat, prezent n cadrul unui server HTTP. Prin intermediul acestui modul se stabilesc
regulile prin care server-ul va pasa datele primite de la un utilizator ctre o aplicaie scris ntr-un
anumit limbaj de programare, pentru ca apoi s ntoarc rezultatele acestei aplicaii napoi la
utilizator.
Limbajul PHP, n marea majoritate a cazurilor, se folosete sub form de secvene de cod
inserate n cadrul unui document HTML. Din acest motiv, vom prefera termenul de script PHP
celui de program PHP. Structura unui script PHP este foarte asemntoare cu cea a unui cod scris n
limbajul C, mai ales n sensul n care structurile de programare au aceeai sintax i aceeai
funcionalitate. Rolurile de baz ale unui script PHP constau n aceea c scipt-ul poate prelua date
trimise de ctre o pagin web de la un client (n general, datele pot fi trimise de ctre o pagin web
prin intermediul formularelor) i de a executa o secven de program n urma creia va rezulta un cod
HTML, cod pe care clientul l va primi sub forma unei pagini web. Clientul nu va avea acces la codul
efectiv al script-ului, ci, prin faptul c acesta se afl pe server i se ruleaz tot pe acesta, va primi
direct HTML-ul generat de script.
<? php
echo Acest text este afisat de scriptul PHP;
? >
</BODY>
</HTML>
Instruciunea echo cuprins ntre acestea este o instruciune specific limbajului PHP, ea avnd rolul
de a scrie n pagina web textul ce urmeaz dup cel cuprins ntre ghilimele.
PHP nu este un limbaj de programare de sine-stttor (cum ar fi C++, spre exemplu) ci se folosete n
simbioz n primul rnd cu HTML, i deci pentru a rula, are nevoie neaprat de un server de web
(http server). Practic, pentru a face ca pe calculatorul nostru s poat rula fiiere php, avem nevoie s
instalm, pe lng limbajul PHP, i un server de web, i de a face legtura dintre cele dou.
Baza de date este o colecie logic coerent de date ce are cel puin un neles;
11
Baza de date este destinat, construit i populat de date despre un domeniu bine
documetele scrise;
Flexibilitatea ce const n posibilitatea modificrii structurii bazei de date fr a fi
n sistemele de baze de date, mai multe aplicaii pot folosi date comune, memorate o
singur dat. De exemplu, o aplicaie pentru gestionarea personalului dintr-o universitate i o
aplicaie pentru gestionarea rezultatelor la examene din aceeai universitate care folosete o
singur baz de date, pot folosi aceleai informaii referitoare la structurarea facultilor.
-
cruia, utiliznd comenzi derivate din limbajul natural, i se comunicunui SGBD ce se dorete.
Comenzile SQL permit, astfel, interogarea, inserarea, actualizarea i tergerea datelor. SQL este
referit uneori ca i limbaj neprocedural. Asta nseamn c nu este nevoie ss e expliciteze locul unde
SQL trebuie s caute un set de date, de exemplu. Este suficient s i se spun ce anume se dorete.
Localizarea informaiei dorite n baza de date este sarcina SGBD-ului. n cazul limbajelor
procedurale, fiecare interogare trebuie creat, compilat i executat. Sistemele de gestiune a bazelor
de date comerciale utilizeaz SQL-ul n 2 nivele, astfel:
- Comenzile SQL se scriu direct ca i linie de comand, ceea ce face ca SGBD-ul s
interpreteze imediat comenzile i sfurnizeze rezultatul. Aceast metod de procesare se numete
SQL interactiv.
- Cel de-al doilea nivel se numete SQL programat i constn integrarea comenzilor SQL ntr-un
limbaj ca C, Basic, Cobol etc.
Exemplu de instructiuni SQL:
-
13
n cadrul comerului electronic pot fi tranzacionate bunuri i servicii digitale (sunt excluse
fazele logistice), iar locul n care sunt tranzacionate aceste bunuri digitale poart denumirea de pia
electronic (n limba englez e-marketspace) contextul virtual n care cumprtorii i vnztorii se
gsesc unii pe alii i tranzacioneaz afaceri electronice.
Comerul electronic permite participarea att a persoanelor fizice i juridice, ct i
a statului sau a instituiilor acestuia. n funcie de relaiile dintre aceti participani au luat natere mai
multe categorii de comer electronic.
Cele mai frecvente categorii de comer electronic sunt:
-
nregistrate.
B2C (business-to-consumer): model de comer electronic n care companiile vnd la
cumpratori individuali persoane fizice. n Romnia, piaa electronic B2C se afl nc
14
despre identitatea proprietarului site-ului Web sau a organiza iei. Face i clic pe lact
-
16
3 APLICATIA SOFTWARE
3.1 Prezentare generala
Am ales ca aplicatie pentru lucrarea de licenta dezvoltarea unui magazin online de componente
electronice, ce ofera mai multe facilitati:
-
Inregistrarea utilizatorilor;
Site-ul contine o baza de date denumita electronix, care este alcatuita din mai multe tabele:
-
magazinul online.
Cele doua se afla in stransa legatura, deoarece produsele si categoriile pe care le adaugam din
sectiunea de administrare sunt vizibile pe site-ul magazinului, iar administratorul are posibilitatea de a
vedea utilizatorii care s-au inregistrat in baza de date.
In partea din stanga, sub logo-ul magazinului, avem un sidebar care contine un meniu cu
link-uri catre Administrare(index.php), Lista de produse, Lista de categorii si Clienti.
Continutul sidebarului este dat de fisierul php admin.php, care se afla in folderul includes,
printr-o interogare php:
<div id="sidebar1">
<?php include ("../includes/admin.php");
?>
<!-- end #sidebar1 --></div>
Pagina admin.php contine linkurile catre paginile cu functii de editare, adaugare, stergere:
Figura 5. Admin.php
Continutul principal al paginii are, de asemenea, link-uri catre Adaugare categorii, Adaugare
Produse si Editare produse.
20
Figura 6. Index.php
Accesand linkul Lista de categorii, avem posibilitatea de a vedea categoriile de produse
deja existente si de efectuare a unor operatii ca Editare/ Stergere sau Adaugare categorie noua.
Adaugarea unei noi categorii in baza e date se face prin adaugarea denumirii categoriei in
campul Descriere si apasarea butonului de tip submit:
$insertSQL = sprintf("INSERT INTO categorii_tabel (id_descriere) VALUES (%s)",
22
GetSQLValueString($_POST['id_descriere'], "text"));
mysql_select_db($database_conexiune_magazin, $conexiune_magazin);
$Result1 = mysql_query($insertSQL, $conexiune_magazin) or die(mysql_error());
$insertGoTo = "lista_categorii.php"; /*redirecteaza catre pagina Lista categoriilor */
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
24
<script>
function incarcaImaginea()
{
self.name = 'opener';
remote = open ('gestionare_prod.php', 'remote', 'width=400, height = 150, location =
no, scrollbars = yes, menubars = no, toolbars = no, resizable = yes, fullscreen = no, status =
yes');
remote.focus();}
</script>.
Pagina gestionare_prod.php este cea care incarca imagininea in baza de date, in folderul
"../docs/produse/".
26
<h1>
<a href="../index.php"><img src="../images/logo_0.png" width="300" height="100"
alt="logo_trans" />
</a>
27
</h1>
Containerul paginii contine un AccordionMenu implementat de Dreamweaver, printr-un fisier
JavaScript inclus in folderul SpryAssets, cu cateva informatii despre magazin, precum si datele de
contact. Acesta este apelat in pagina principala de scriptul :
<script src="SpryAssets/SpryAccordion.js" type="text/javascript"></script>
<link href="SpryAssets/SpryAccordion.css" rel="stylesheet" type="text/css" />
In partea stanga a paginii avem un sidebar care ne arata categoriile introduse de administrator
sub forma unui meniu si optiuni de inregistrare/ log in pentru clienti. Sidebarul este complet efectuat
in alta pagina, catalog.php, si este apelat prin scriptul :
<?php include ("includes/catalog.php"); ?>
Un recordset afiseaza toate intrarile din tabelul categorii_tabel si le ordoneaza dupa numarul intrarii:
mysql_select_db($database_conexiune_magazin, $conexiune_magazin);
$query_Recordset1 = "SELECT * FROM categorii_tabel ORDER BY
categorii_tabel.id_categorie";
$Recordset1 = mysql_query($query_Recordset1, $conexiune_magazin) or
die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
Daca utilizatorul care navigheaza pe site nu este inregistrat, el are posibilitatea de a se
inregistra, folosind formularul de inregistrare pus la dispozitie lor. Sintaxa urmatoare introduce datele
utilizatorilor in baza de date, in tabelul user_tabel.
$insertSQL = sprintf("INSERT INTO user_tabel (user_nume, user_email,
user_statusActivare, password) VALUES (%s, %s, %s, %s)",
GetSQLValueString($_POST['user_nume'], "text"),
GetSQLValueString($_POST['user_email'], "text"),
GetSQLValueString($_POST['user_statusActivare'], "int"),
GetSQLValueString($_POST['password'], "text"));
28
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
30
{
global $database_conexiune_magazin, $conexiune_magazin;
mysql_select_db($database_conexiune_magazin, $conexiune_magazin);
$query_QueryFunction = sprintf("SELECT user_tabel.user_nume FROM user_tabel
WHERE user_tabel.user_id = %s" ,$identificator );
$QueryFunction = mysql_query($query_QueryFunction, $conexiune_magazin) or
die(mysql_error());
$row_QueryFunction = mysql_fetch_assoc($QueryFunction);
$totalRows_QueryFunction = mysql_num_rows($QueryFunction);
return $row_QueryFunction['user_nume'];
mysql_free_result($QueryFunction);
}
Daca dam click pe una din categorii, in container ne va aparea o galerie de imagini cu toate
produsele din categoria respectiva; in cazul in care nu exista inca produse, serverul ne va raspunde ca
nu exista inca produse in acea categorie.
<div class="prod_result">
<?php if ($totalRows_dateProd > 0) { // Show if recordset not empty ?>
<?php do { ?>
<div class="produse">
<div class="img_prod">
<img src="docs/produse/<?php echo $row_dateProd['imagine']; ?>" width="90"
height="90" /><br /> </div>
<div class="text_prod"><a href="prod_mari.php?recordID=<?php echo
$row_dateProd['cod_produse']; ?>"> <?php echo $row_dateProd['denumire']; ?></a>
<br />
Pret:<?php echo $row_dateProd['pret']; ?> lei </div>
32
</div>
<?php } while ($row_dateProd = mysql_fetch_assoc($dateProd)); ?>
<?php } // Show if recordset not empty ?>
<?php if ($totalRows_dateProd == 0) { // Show if recordset empty ?>
Nu exista inca produse in aceasta categorie
<?php } // Show if recordset empty ?>
</div>
33
35
Dupa ce am apasat pe butonul Cumpara produsul, suntem redirectati catre pagina ce contine
cosul de cumparaturi, lista_cos.php. Produsul a fost deja adaugat in tabelul cos_cumparaturi cu
ajutorul codului din pagina adaug_cos.php:
$insertSQL = sprintf("INSERT INTO cos_cumparaturi (user_id, idProdus, cantitate )
VALUES (%s, %s, %s)",
GetSQLValueString($_SESSION['MM_UserId'], "int"),
GetSQLValueString($_GET['recordID'], "text"),1 );
mysql_select_db($database_conexiune_magazin, $conexiune_magazin);
$Result1 = mysql_query($insertSQL, $conexiune_magazin) or die(mysql_error());
$insertGoTo = "lista_cos.php";
Query- ul urmator selecteaza produsele din tabel:
mysql_select_db($database_conexiune_magazin, $conexiune_magazin);
$query_DateCumparaturi = sprintf("SELECT * FROM cos_cumparaturi WHERE
cos_cumparaturi.user_id = %s and cos_cumparaturi.cumparare_ok = 0",
GetSQLValueString($varUser_DateCumparaturi, "int"));
$DateCumparaturi = mysql_query($query_DateCumparaturi, $conexiune_magazin) or
die(mysql_error());
$row_DateCumparaturi = mysql_fetch_assoc($DateCumparaturi);
$totalRows_DateCumparaturi = mysql_num_rows($DateCumparaturi);
36
37
return $row_QueryFunction['denumire'];
mysql_free_result($QueryFunction);
}
<td>Actiuni</td>
</tr>
<?php $suma = 0;
?>
<?php do { ?>
<tr>
<td><?php echo ObtineNumeProdus($row_DateCumparaturi['idProdus']); ?></td>
<td><?php echo $row_DateCumparaturi['Cantitate']; ?></td>
<td><?php echo ObtinePretProdus($row_DateCumparaturi['idProdus']); ?></td>
<td><a href="sterg.php?recordID=<?php echo $row_DateCumparaturi['idProdus']; ?
>">Sterge</a></td>
</tr>
<?php $suma=$suma+ ObtinePretProdus($row_DateCumparaturi['idProdus']); ?>
<?php } while ($row_DateCumparaturi = mysql_fetch_assoc($DateCumparaturi)); ?>
<tr>
<td> </td>
<td align="right">Total:</td>
<td><?php echo $suma ;?> Lei</td>
<td> </td>
</tr>
</table>
39
Daca alegem sa finalizam plata prin transfer bancar, produsele vor fi livrate dupa primirea
confirmarii platii pe email:
41
un editor de cod;
Un debugger;
Compiler.
Exemple de IDE-uri:
-
Eclipse ( Java);
3.3.1 Dreamweaver
Adobe Dreamweaver CS4 este unealta perfecta pentru a dezvolta aplicatii web. In el se
regasesc necesitatile programatorilor si designerilor totodata, datorita interfetei grafice cu care este
dotat. Dezvoltatorul poate scrie cod sau se poate folosi de functiile sale built in, cum ar fi inserarea
imaginilor , tabelelor, butoanelor etc, din meniul Insert (Figura 23)
Se pot de asemenea, crea site-uri (o colectie de fisiere si foldere care corespund unui website
de pe un server). De exemplu, in Figura 24. sunt evidentiate radacina ( root) magazinului Electronix.
Tot aici se specifica si modelul serverului (PHP MySQL), prefixul URL-ului (adresa pe care o scriem
in bara browserului pentru a accesa paginile web dorite. De exemplu, http://localhost/ ne va deschide
pagina home a siteului, index.php) precum si adresa unde se afla folderul pentru testare
( C:\wamp\www).
42
43
Dreamweaver vine cu un set de Comportamente ale Serverului (Server behaviors) care permit
adaugarea usoare de functionalitati dinamince unui site:
44
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined": $theValue = ($theValue != "") ? $theDefinedValue :
$theNotDefinedValue; break; } return $theValue;} }
mysql_select_db($database_conexiune_magazin, $conexiune_magazin);
$query_Recordset1 = "SELECT * FROM categorii_tabel ORDER BY
categorii_tabel.id_categorie";
$Recordset1 = mysql_query($query_Recordset1, $conexiune_magazin) or
die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1); ?>
LOG IN USER:
45
De obicei, vizualizarea websiteului se face scriind in bara de adrese a browserului localhost sau
dand click pe pictograma aplicatiei si alegand din meniu Localhost, ca in Figura 27:
46
47
Id_categorie(produse_tabel)
Cod_produse (produse_tabel)
User_id (user_tabel)
Id_categorie(categorii_tabel)
idProdus (cos_cumparaturi)
user_id (cos_cumparaturi)
48
4 CONCLUZII
Site-ul web al unui magazin reprezinta, la ora actuala, forma cea mai comuna de proiectare si
desfasurare a marketingului din zona online.
Internetul, cu toate facilitile sale, a devenit o component extrem de important a fiecruia
dintre noi. Folosim acest resurs pentru a face cumprturi online, pentru a face programri online,
pentru a cumpra bilete de avion sau de tren, pentru a ne delecta cu fisierele media pe care le pune la
dispoziie i, de ce nu, pentru a ne ajuta sa socializm.
Aplicaiile Internetului sunt numeroase, aa c de ce nu ne-am bucura de fiecare resurs pe
care o pune la dispoziie? Spre exemplu, combinaia dintre tehinicile folosite, alternarea in codul surs
al programului, a scripturilor Java, al interogrilor PHP, al conexiunilor ctre o baz de date conduc n
final la un site dinamic, uor de ntreinut si de utilizat.
Realizarea temei Magazin online de componente electronice pentru susinerea examenului
de licen dup terminarea celor 4 ani de facultate are ca scop dovedirea cunotiinelor acumulate n
timpul facultii.
Punerea in practic a acestei teme a fost realizat cu ajutorul programului Abode
Dreamweaver CS4. Interfaa realizat este una foarte uoara i simpl, fiind accesibil tuturor
utilizatorilor, aceasta fiind foarte bine structurat i organizat. Am nvaat limbajul de programare
php n profunzime i am avut ocazia s pun n aplicare cunotintele acumulate. Pentru mine redactarea
licenei a fost un proces de sistematizare a lucrurilor ce le-am nvaat n decursul anilor dar i a celor
ce le-am nvatat pe parcursul realizri lucrrii. Din acest motiv consider c ntregul proiect din faza
iniiala pn la faza de documentaie pentru redactarea licenei i scrierea propriu-zis, a fost o ocazie
deosebit de a avansa pe plan profesional. Colaborarea cu dl. S.I. Dr. Ing. Stoica Spahiu Cosmin,
coordonatorul proiectului, a decurs foarte bine i a fost benefic pentru rezultatele finale obinute la
nivel de site, astfel am avut i o plcere lucrnd pentru proiect i licena.
Site-ul este foarte accesibil i are un design modern i atractiv. Acesta dispune de o structur
foarte bine organizat i un coninut simplist.
Prin lucrarea descris mai sus am ncercat sa evideniez tehnicile folosite de programatorii
web pentru a introduce vastele servicii oferite de Internet n aceast epoc a naltei tehnologii.
49
5 BIBLIOGRAFIE
50
6 REFERINE WEB
http://ro.wikipedia.org/wiki/Comer%C8%9B_electronic;
http://windows.microsoft.com/ro-ro/windows/know-online-transactionsecure#1TC=windows-7;
http://ro.wikipedia.org/wiki/Server;
http://ro.wikipedia.org/wiki/HyperText_Markup_Language ;
http://ro.wikipedia.org/wiki/PHP ;
http://www.wampserver.com/en/;
http://inf.ucv.ro/~mihaiug/courses/web/slides/Curs12%20-%20Gestiunea%20Sesiunilor.pdf ;
http://www.seap.usv.ro/~valeriul/lupu/html_php_mysql.pdf ;
http://www.wildbunny.co.uk/blog/wp-content/uploads/2012/10/clientServer.gif ;
http://www.websolpc.ro/wp-content/uploads/2011/02/Dezvoltarea-Site-urilor-Web.pdf ;
http://biblioteca.regielive.ro/cursuri/limbaje-de-programare/fundamente-html-104283.html ;
http://tehnoit.info/wp-content/uploads/2013/01/Administrarea-bazelor-de-date-MySQL-dinlinia-de-comanda-PDF.pdf ;
http://www.adobe.com/aboutadobe/pressroom/pressmaterials/pdfs/cs4_dreamweaver_whatsne
w.pdf ;
http://www.websolpc.ro/wp-content/uploads/2011/02/Dezvoltarea-Site-urilor-Web.pdf .
51
CD / DVD
Autorul ataeaz n aceast anex obligatorie, versiunea electronic a aplicaiei, a acestei
lucrri, precum i prezentarea final a tezei.
52