Aplicatie Web cu Baza de Date Pentru Promovarea Si Vanzarea Produselor Traditionale Dintr O Gospodarie

LUCRARE DE LICENȚĂ

„LaNana” Aplicație Web cu bază de date pentru promovarea și vânzarea produselor tradiționale dintr-o gospodărie

CUPRINS

1.Introducere

Aplicațiile Web cu baze de date sunt la ora actuală cea mai ușoară cale pentru toți membrii din spațiul economic pentru a își prezenta și gestiona produsele. Indiferent că vorbim de aplicații de gestiune, magazine on-line sau aplicații de promovare a produselor, că vorbim despre societăți multi-naționale sau mici întreprinzători toți găsesc în aceste aplicații tot ce este nevoie pentru afacerea lor.

Pentru a aplica tot ceea ce am învățat despre web și baze de date și pentru a demonstra că se poate realiza ușor o aplicație foarte utilă chiar și unui mic întreprinzător am realizat în această lucrare o aplicație web cu bază de date ce este destinată unui mic producător care vrea să își promoveze și să își vândă produsele din gospodăria și grădina lui pe internet. Am numit pagina fictiv “La Nana” pentru că mi-am amintit de bunica unui prieten care era foarte pricepută în pregătirea de dulcețuri, conserve și produse din grădina personală.

Lucrarea este structurată în patru capitole. Prima parte cuprinde introducerea și prezentarea lucrării. În partea a doua prezint structura bazei de date, a fișierelor, modul de realizare a aplicației și modul de lucru cu aplicația din punct de vedere a utilizatorului. Partea a treia descrie detaliile tehnice ale aplicației și realizarea ei atât pe partea de client cât și pe partea de server atât din punct de vedere a clientilor site-ului cât și a adminstratorilor În ultima parte am făcut o concluzie a lucrării am arătat îmbunătățirile care i se pot aduce aplicației, căile de extindere precum și bibliografia acestei lucrări.

Aplicația am gândit-o în așa fel încât să fie foarte ușor de utilizat pentru orice persoană chiar dacă are cunoștițe minime de lucru cu calculatorul. Micul producător își poate descrie el singur produsele își poate definii categoriile, își poate încărca pozele produselor pe care le promovează, își poate gestiona comenzile pe care le primește on-line și poate vedea mici statistici cu vânzările produselor lui. Aplicația este ușor de utilizat atât de către clienti cât și de către administratori. Clienți care doresc să comande produse trebuie să se înregistreze cu un număr minim de date necesare în special pentru expedierea prin curier (sau alte mijloace) a produselor. Clienții care doresc doar să vizualizeze produsele nu trebuie să se autentifice. Aplicația prevede unul administrator (se poate extinde pentru mai mulți) care poate să vadă comenzile care le-a primit să le ia spre prelucrare (pregătire colete, expediere, etc) să gestioneze produse care le are spre vânzare să facă prezenzentările pentru fiecare produs cu poza si calitățile lui, să promoveze noutăți și promoții pentru atragerea de mai multi clienți. Datorită specificului site-ului de promovare a produselor proprii pe principiul „este Cerere? putem să mai producem” aplicația nu gestionează stocuri, fiecare producător avănd propriile lui metode de promovare și vânzare. De asemenea deoarece aplicația este destinată vânzării produselor agricole care sunt sezoniere, am considerat că este important să nu existe stocuri. Oricum producătorii pot să vândă o varietate foarte mare de produse de la produse de grădină: salata, ceapă verde, rosii etc; până la conserve de genul zacuscă, bulion, gem, dulceată; chiar și produse apicole sau alte produse de exemplu ouă și lactate.

Aplicația nu are o bază de date complicată și nu are o dimensiune prea mare de aceea ea poate fi găzduită și pe serverele care oferă găzduire gratuită sau orice altă variantă disponibilă foarte simplu on-line.

1.1 Prezentarea lucrării

Lucrarea este o aplicație web cu baza de date cu ajutorul căruia micul producător poate să își încarce produse care dorește să le promoveze și să le vândă iar clienții pot foarte ușor să vizualizeze produsele care ii interesează și să le comande. Pentru a comanda un produs un client trebuie să își înregistreze datele de contact. Producătorul vizualizează comenzile pe care le-a primit de la clienți si le prelucrează în sensul că pregătește marfa, o expediază și marchează în baza de date că comanda a fost prelucrată.

Aplicația realizată conține două parți: o parte de client (utilizator) și una de administrare/întreținere

Pe partea de client există posibilitatea de a crea un cont nou cu ajutorul căruia să se poată loga, pentru a putea să facă o comandă online și să introducă cantitate pe care o dorește dintr-un anumit produs. Clienți care sunt logați pot să verifice ce au comandat, dacă comanda lor a fost prelucrată și pot să renunțe la una sau mai multe comenzi dacă acestea nu au fost deja expediate, prin apăsarea butonului anulează comanda. Deasemenea există buton și pentru delogare. Pe partea de client prezentarea produselor este foarte atrăgătoare cu poze și mesaje promoționale , producătorul poate foarte ușor să acorde reduceri și promoții pentru anumite produse.

Pe partea de administrare există posibilitatea de:

a încărca un produs nou, a șterge sau modifica un produs

a vizualiza comezile făcute a le prelucra sau a le șterge

a vizualiza numărul de comenzi făcute pe fiecare produs și pe fiecare utilizator

a vedea detaliile contului creat de utilizator de ale modifica sau șterge

a încărca, modifica sau șterge pozele de promovare a produselor

a gestiona noutăților legate de activitatea lui fie pentru a promova produsele proprii fie pentru a atrage atenția asupra unor evenimente care au legătură cu domeniului lui de activitate.

1.2. Programe folosite

Pentru crearea aplicație prezentată în această lucrare am folosit următoarele programe:

WAMPSERVER (32 biti & Php 5.5) 2.-5 –care este un pachet de programe free software, open-source și cross-platform web server, care constă în Apache HTTP Server, MySQL -server de gestiune a bazelor de date și PHP -interpretoare pentru scripturile scrise în limbajele de programare Php și Perl. Acest program este lansat sub termenii licenței GNU și acționează ca un web server capabil de a servi pagini dinamice. Versiunile pentru cele serverul Apache, serverul Mysql, interpretorul Php precum si a instrumetelor PhpMyAdmin, SqlBuddy si X debug din pachetul folosit de mine sunt:- Apache : 2.4.9

MySQL : 5.6.17

PHP : 5.5.12

PHPMyAdmin : 4.1.14

SqlBuddy : 1.3.3

XDebug : 2.2.5

De asemeni pentru scrierea paginilor am folosit HTML5, Javascript și CSS pe partea de client și Php pe partea de server.

Notepad++ 6.5.1 – este un editor de text gratuit pentru Windows, simplu și util în editarea scripturilor și paginilor HTML Programul permite editarea codului sursă specific unui număr mare de limbaje de programare precum C, C++, Pascal, HTML, PHP.

Unele dintre facilități remarcabile lui sunt: tipărirea color a codului sursă; autocompletarea

interfață cu mai multe ferestre (tab-uri)

GIMP 2.8.14– este un program multi-platformă pentru editarea de imagini de tip raster, fiind destinat executării diverselor modificări cum ar fi: retușarea fotografiilor, a compoziției imaginii sau construcția imaginilor

Am testat aplicația cu două navigatoare: Google Crome și Mozzilla Fire Fox ambele sunt open-source

1.3 Tehnologii folosite

HTML5 (HyperText Markup Language) -este un limbaj de marcare recomandat de Consortium (W3C- World Wide Web Consortium ). L-am utilizat pentru creerea paginilor pe care le afișează aplicația atât clienților cât și administratorilor

Structura unui fișier HTML pe care am folosit-o în aplicația mea este:

CSS 3(Cascading Style Sheets) –pentru a define un stil de afișare comun și specific tuturor paginilor aplicație Majoritatea modulelor din CSS3 sunt deja recomandare a grupul W3C fiind implementate în toate browserele si pe mobile.

PHP (HyperText Preprocessor) -este un limbaj de programare poate cel mai important special conceput pentru aplicații Web și pentru a realiza pagini web dinamice. Eu l-am folosit încorporat în codul HTML, dar se poate folosi și în modul ”linie de comandă”, Php-ul este open-source și server-side, existând versiuni pentru majoritatea web serverelor și pentru toate sistemele de operare.

MySQL -este un cel mai popular sistem de gestiune a bazelor de date relaționale (SGBD), produs de compania suedeză MySQL AB și distribuit sub licență public general GNU.

JavaScript- un limbaj de programare folosit pentru a da dinamicitate la client pentru aplicații și pagini Web. Codul incorporat în paginile web se execută la client, diminuând astfe traficul spre server. Eu am utilizat javascript în special pentru a valida informațiile introduse de client precum, pentru un design mai plăcut, o mai mare interactivitate butoane.

2. PREZENTAREA APLICAȚIEI

2.1 Structura pe fișiere

Aplicația realizată de mine cuprinde partea publică și partea de administrare

Partea publică conține următoarele scripturi fișiere și foldere:

index.php, care este și pagina principala,

comenzi.php care controlează meniul de comenzi a unui client și apelează scriptul de anulare a comenzii (dacă e cazul) anulare_comenzi.php și cel de vizualizare a comenzilor vizualizare_comenzi.php

produse.php care controlează vizualizarea produselor pentru partea publică

contact.php afișează pagina de contact

galerie_foto.php afișează galeria foto pentru clienți

fișierele de stil style.css, lightbox.css și

și următoarele foldere:

folderele: include, js și imagini.

Folderul include conține scripturile pentru conectare la baza de date: conexiune.php, precum și scripturile pentru logare /delogare /înregistrare a unui utilizator de verificare dacă utilizatorul este logat

finalizare_înregistrare.php,

înregistrare.php,

logare.php,

logout.php,

verificare_logare.php

precum și scripturi care asigură afișarea corectă navigație.php, footer.php,

Folderul imagini conține: imaginile folosite în aplicație precum și pozele produselor promovate spre vânzare (în sub-folderul produse) .

Folderul js conține niște functii javascript folosite în partea de prezentare

Partea de Administrare se găsește în folderul admin și conține toate scripturile necesare administratorului pentru a gestiona comenzile, produsele, userii, pozele și noutățile din aplicație. Pentru partea de administrare am scris următoarele scripturi :

Produse.php pentru asigurarea gestionării produselor care mai apelează scripturile de adăugare, modificare, ștergere: – adaugă_produs.php,

modifică_produs.php

sterge_produs.php

comenzi.php care asigură prelucrarea comezilor de la useri precum și afișarea de statistici privind produsele comandate. Pentru acest meniu se apeleză și scripturile de modificare, ștergere și statistici: modif_comanda.php, sterge_comanda.php, comenzi_statistic.php

utilizatori php pentru gestionarea utilizatorilor înregistrați în aplicație cu scriptul de ștergere sterge_utilizator.php

poze.php pentru gestionarea pozelor pentru produse cu scripturile de adăugare, modificare și ștergere adauga_poza.php, modificare_poza.php și sterge_noutati.php

noutăți.php pentru gestionarea noutăților cu scripturile de adăugare și ștergere adauga_noutati.php și sterge_noutati.php

folderele: include și img .

Folderul include conține: funcții.php și meniu.php pentru asigurarea afișărilor, logării și conectarea la baza de date

Folderul img conține: imagini folosite la crearea părții de administrare

2.2 Structura Bazei de Date

Baza de date se numește „LaNana” și conține 5 tabele 4 tabele de tip InnoDB și un tabel (noutati), care este de tip MyISAM (fig. 2.1).

fig. 2.1 – Tabelele din Baza de Date “laNana”

Baza de date conține toate informațiile care sunt afișate clienților și toate informațiile necesare administratorilor pentru vânzarea și promovarea produselor.

2.3 Schema Bazei de Date (fig. 2.2)

În figura 2.2 prezint scema bazei de date cu cele 5 tabele și cu legăturile între tabele.

(fig. 2.2) – Legăturile dintre tabele

2.4 Descrierea Tabelelor

Tabelul “produse” (fig 2.3), care conține informațiile referitoare la produsele disponibile.

Tabelul conține următoarele câmpuri:

Id_Produs – Indentificatorul produsului, cheie primară – autoincrement

Categoria – Categoria căruia aparține produsul

Ingredient – În care se descriu ingredientele din care este fabricat produsul

Produs_la – Data la care este produs

Durata – Durata de valabilitate a prdusului

Data_de_Expirare– Data la care exiră produsul

Transport – Cum se asigură transportul

Tarif_UM – Prețul produsului și unitatea de măsură

Reducere – Arată ce reducere se oferă și în ce condiții

Id_Poza – Indentificator pozei în tabela de poze (cheie străină) poze

imagine – numele fișierului cu poza produsului

descriere – Detalii despre produs

Tabelul “comenzi” (fig. 2.4), care conține informații despre comenzile făcute de clienți.

Tabelul conține următoarele câmpuri:

Id_Comanda – Indentificatorul comenzii, cheie primară autoincrement

Id_produs – Indentificatorul produsului comandat

Id_Client – Indentificatorul clientului care a comandat

Cant – Cantitatea comandată

Data_comenzii – Data la care clientul a făcut comandata

Data_expedierii – Data la care administatorul a prelucrat comandata și a exediat-o

valoare – Acest câmp se completează de către administrator la prelucrarea comenzii pentru a avea un control în plus a activității de prelucrare și exediere

Confirmare – este un cod atribuit automat de aplicație când clientul face comanda

Tabelul “autentificare” (fig. 2.5), care conține informații despre persoanele care s-au înregistrat și sunt clienții firmei

Tabelul conține următoarele câmpuri:

Id_Client – Indentificatorul clientului, cheie primară autoincrement

CNP – Arată Codul Numeric Personal

Nume – Arată numele utilizatorului

Adresa – Arată adresa utilizatorului (pentru exepdierea comenzii)

Județ – Arată județul de domiciliu a utilizatorului

Adresă_mail – Arată mail-ul cu care s-a înregistrat utilizatorul

Parola – Înregistrează parola introdusă de utilizator

Tabelul “poze” (fig. 2. 6), conține informații despre pozele produselor. Pozele din acest tabel se afișează în galeria de poze

Tabelul conține următoarele câmpuri:

Id_Obiectiv – Indentificatorul obiectivului, cheie primară autoincrement

Nume_Imagine – Indică numele imaginii

Descriere – Este specificată descrierea imaginii

imagine – Numele fișierului în care este memorată imaginea

Tabelul “noutăți” (fig. 2.7.), conține noutățiile pe care administratorul vrea să le semnaleze clienților.

(fig. 2.7) – Conținutul tabelei “noutăți”

Tabelul conține următoarele câmpuri:

Id – Indentificator de noutăți, cheie primară autoincrement

titlu – Arată titlul noutății

conținut – Arată conținutul noutății

timp – Arată data și ora afișării

În această bază de date pentru buna funcționare a aplicației am făcut o serie de interogari SQL. Majoritatea interogărilor sunt interogări simple care implică o singură tabelă de genul:

SELECT * FROM comenzi WHERE Data_expedierii IS NULL

Care selectează toate comenzile din tabela ”comenzi” care au data exepdierii necompletată (nu au fost încă prelucrate) sau toate comenzile care au fost deja prelucrate:

SELECT * FROM comenzi

WHERE Data_expedierii IS NOT NULL AND Data_exedierii>=Data_comenzii

Prezint mai jos câteva din cele mai spectaculoase în sensul că am interogat două sau mai multe tabele cuplate sau am folosit funcții de sumarizare:

SELECT produse.Id_Produs , produse.denumire AS d, Count(*) AS `Nr_Com_total`,

SUM(Cant) AS `Cant_total`,SUM(valoare) AS `Val_total`

FROM comenzi INNER JOIN produse ON comenzi.ID_Produs=produse.ID_Produs

GROUP BY comenzi.Id_Produs

ORDER BY Nr_Com_total DESC

Pentru a afișa fiecare produs cu id-ul si denumirea lui numărul total de comenzi pentru fiecare produs, cantitatea totală comandată și valoarea totală a produselor comandate de către clienți.

SELECT Id_Produs,

count(Id_Produs) as 'qty',

SUM(cant) AS 'cant_total',

SUM(valoare) as TotalVal

FROM comenzi

GROUP BY Id_Produs,Id_Client HAVING Id_Client = '$id'

ORDER BY Id_Produs DESC"

Pentru a afișa toate produsele cu totalul cantităților și valorilor comandate de clientul cu id-ul $id.

2.5 Descrierea modului de lucru cu aplicația

Aplicația are o interfață foarte prietenoasă și utilizatorilor fie iei adminstratori fie ei clienți le este foarte ușor să lucreze în ea.

2.5.1. Modul de lucru a clienților

Clientul are două posibilități de lucru dacă doar vizualizează oferta de produse și informațiile pe care producătorii le-au postat în aplicație (modul de lucru nelogat) a cărui ecran este prezentat în figura 2.8 și modul în care este logat (fig.2.9) când poate să comande produsele, să vizualizeze comenzile pe care le-a făcut deja și starea lor (dacă nu sunt prelucrate și le poate șterge) .

În modul de lucru nelogat ecranul aplicației se prezintă ca în figura 2.8. Clientul poate să

vizualizeze informații despre produsele din fiecare categorie, să vizualizeze pagina din meniul acasă (prezentă în figura.2.8), informațiile din galeria foto sau din pagina contact precum și ultimele noutăți din domeniu care au fost postate de către administratori.

Dacă utilizatorul nelogat încearcă să facă o comandă de exemplu 5 borcane de miere polifloră după cum se vede în figura 2.9 utilizatorului îi apare un mesaj în care îl averitează că trebuie să fie logat.

Pentru gestionarea logării există în partea dreaptă a meniului afișat buton pentru logare/delogare respectiv înregistrare pentru utilizator nou.

Dacă nu este logat nici un utilizator meniul apare ca în figura 2.10) . Utilizatorul poate să apese butonul de logare caz în care va apare ecranul de logare (fig 2.12) sau butonul de utilizator nou caz în care clientului îî va apare ecranul de adăugare utilizator (fig.2.13)

Dacă clientul este logat meniul apre ca în figura 2.11 adică se afișează utilizatorul logat și butonul de de delogare dacă utilizatorul vrea să se delogheze.

Ecranul de logare este un ecran simplu în care clientului i se cere numele de utilizator și parola (fig 2.12) Iar ecranul de înregistrare este un ecran cu un formular simplu în care utilizatorul își completeză datele ( figura 2.13).

În modul de lucru logat după cum se vede din figura 2.14 utilizatorul mai are în plus meniul de comenzi utilizator. Dacă se activează acest link după cum se vede în figură în partea centrală a ecranului clientul are afișate toate comenzile lui care în caz că nu a fost prelucrată comanda (dacă se încearcă anularea apare mesaj ”comanda nu poate fi anulată!”) se poate și anula. Am ales să nu se poată modifica comanda de către client (decât prin anulare și recomandare) pentru a evita cazurile în care comanda tocmai a fost luată spre prelucrare și clientul o modifcă fără ca administratorul să sesizeze aceasta. Oricum refacerea unei comenzi este un lucru foarte simplu deoarece presupune doar completarea cantității dorite.

2.5.2. Lucrul administratorului cu aplicația.

Dacă utilizatorul administrator se logează la aplicație ecranul care va fi afișat utilizatorului este cel descris în figura 2.15 . Deocamdată am conceput aplicația ca doar pentru userul admin să se afișeze acest ecran și doar el să aibă acces la modificările cu drept de adminstrare dar ca o dezvoltare ulterioară nu este prea dificil să se adauge mai mulți utilizatori cu drept de administrare. Administratorul are la dispoziție un ecran cu mai multe file fiecare filă fiind corespondent a unei tabelă din baza de date. De exemplu în figura 2.5.2 este prezentă fila corespunzătoare produselor din tabela de produse. În ecranul de produse utilizatorul poate să șteargă sau să modifice un produs existent prin activarea butonului corespunzător din coloana de acțiuni sau poate să adauge un produs nou (inclusiv cu imaginea corespunzătoare) dacă completează formularul din partea de jos a ecranului.

Dacă administratorul dorește ca poza să apară și în galeria de poze trebuie să introducă imaginea respectivă și în tabelul de poze, această acțiune se poate face atât înainte (caz în care deja se va ști câmpul „id Poza” ) sau după ce s-a încărcat produsul caz în care trebuie să aibă o modificare ulterioară a prodului pentru a se completa și acest câmp.

Ecranul de modificare a unul produs existent prezentat în figura 2.16 este de asemenea un formular în care sunt precompletate informațiile existente în baza de date. În acest formular administratorul poate să corecteze ce dorește și apoi să salveze modificările.

Același principiu este valabil pentru fiecare buton de modificare sau ștergere din fiecare dintre cele 5 file disponibile administratorului. De asemenea pentru fiecare buton de modificare sau stergere sunt implementate mesaje de confirmare de genul : ”Sigur doriți să modificați /ștergeți produsul/ comanda /poza etc” mesaje implementate prin comenzi sau funcții javascript.

Pentru fiecare din cele 5 file de administrare modul de lucru este la fel iar o descriere mai amănuțită a fiecărei file am făcut-o în capitolul 3 la paragraful 3.3. În figura 2.17 am prezentat doar fila de comenzi a ecranului de administrare filă care pe lângă posibilitatea prelucrării comenzilor (se afișează comenzile neprelucrate) mai sunt afișate și o serie de statistici referitoare la comenzile existente în baza de date. După cum se vede deja pentru comenzile prelucrate administratorul are facilitatea de a le ștege dacă dorește de exemplu dacă sau contabilizat deja sau a trecut deja o perioadă mare de timp și administratorul vrea să nu aibă o bază de date prea mare.

3. Realizarea aplicației

3.1 Descriere Generală

Pentru realizarea aplicației am folosit câteva tehnologii și elemente comune în toate module și scripturile indiferent dacă sunt pentru partea publică sau pentru partea de administrare. Dintre acestea amintesc:

am folosit lucru cu variabile sesiune pentru a memora userul logat și o serie de alți parametri care se transmit între paginile aplicației

am realizat niste scripturi care sunt apelate în majoritatea paginilor aplicației cum ar fi cel de conectare la baza de date (conexiunebd.php); cel care afișează meniul corespunzător în toate paginile aplicației (navigare.php); cel care afișează partea de jos a fiecărei pagini (footer.php) cele care gestioneză partea de logare/delogare/înregistrare de user nou (logare.php, inregistrare.php, logout.php etc) scripturi pe care le-am grupat în folderul include existent atât la partea de client cât și la partea de administrator.

Am realizat câteva fișiere cu foi de stil scrise în CSS3 pentru a realiza un aspect plăcut atrăgător, un stil comun pentru toate paginile precum și o prezentare mai modernă și mai dinamică pentru tot site-ul.

Imaginile utilizate de mine pentru a da un aspect mai plăcut al aplicației grupate în folderele imagini pentru partea de client respectiv img pentru partea administrator sunt fie imagini standart utilizate în aplicații web (de exemplu iconița cu ziarul pentru noutăți, iconița cu aparatul de fotografiat pentru galeria foto etc) care se găsesc în galeriile de imagini gratuite de pe Web, fie realizate de mine (în special pentru produse) cu o cameră foto neprofesionistă (de la telefonul mobil) și prelcrate cu editoarele grafice pe car le-am menționat (Gimp, Paint etc) tocmai pentru a sublinia modul facil în care orice persoană poate să își creeze propriul stil de promovare a produselor.

Am folosit câteva funcți javascript tot pentru a da un aspect mai modern mai dinamic paginii precum și pentru o interactivitate mai mare cu clientul (validări, afișări etc)

Am scris câteva interogări SQL mai interesante din două sau trei tabele cu legături între ele (după cum am prezentat în capitolul 2) în special pentru partea de statistică a comenzilor dar și pentru partea de afișare cât mai completă a informațiilor existente în baza de date în special dacă sunt memorate în mai multe tabele.

3.1.1 Partea comună tuturor paginilor aplicației.

Fiecare din paginile aplicației (în general fisiere php) încep cu startarea lucrului cu sesiuni, conexiunea la baza de date pecum și liniile de cod pentru documentele HTMLunde în “head” avem titlul paginii, legătura spre conținut, link spre pagina de stil care la client este style.css, link spre imaginea favicon.jpg (fig.3.1)

(fig. 3.1)

Partea de antet (header) a aplicației prezentată în figura 3.2 se realizează printr-o combinație dintre stil de CSS și script php:

(fig. 3.2)

Declarațiile de stil 4 la număr realizează banda colorată, suprapunerile de imagini și afișarea meniului :

html{

width:100%;

height:100%;

background-image:url(imagini/smallbg.jpg);

background-position:top left;

background-repeat:repeat-x}

#forum{

position:absolute;

top:220px;

left:855px; }

#menu{

position:absolute;

top:220px;

left:100 px;}

#header{

width:1000px;

height:250px;

margin:0 auto;

background-image:url(imagini/bg.jpg);

background-position:top left;

background-repeat:no-repeat;}

#menu a, #forum a{

background-image:url(imagini/circle.gif);

background-position:0px 4px;

background-repeat:no-repeat;

font-family:Arial;

font-size:12px;

color:#323232;

text-decoration:none;

padding:0 0 0 14px

}

În timp ce în scripturile php pentru afișarea meniului și partea de control a logării din meniu se realizează cu codul din figura 3.3 prin apelarea scripturilor comune: navigatie.php, logout.php respectiv logare.php

(fig. 3.3)

În figura 3.4 prezentăm formularul de logare precum și funcția javascript de validare a datelor introduse

După cum se observă în formularul html utilizatorul introduce datele care sunt validate cu ajutorul funcției javascript după care se dă controlul scriptului php care face verificarea în tabela autentificare dacă userul și parola sunt corecte, se încarcă variabilele sesiune cu noile valori (pentru a se afișa în toate paginile) după care fie se scrie un mesaj de eroare (dacă utilizatorul sau parola au fost greșite) fie, în funcție de utilizatorul care a fost selectat, se dă controlul scriptului index.php respectiv produse.php

Partea de jos a fiecărei pagini (footer) prezentată în figura 3.5 este realizată de scriptul php footer.php

Pentru partea de înregistrare utilizator nou se folosește aceeași triadă: formular html pentru introducerea datelor, funcție javascript de validare și script php pentru verificarea în baza de date și introducerea utilizatorului nou. Porțiunea de cod php care asigură înregistrarea noului utilizator în tabela autentificare este prezentată mai jos în figura 3.6

După cum am spus deja ecranul aplicației este împarțit în partea de sus (header), centru și partea de jos (footer). Partea centrală a fiecarei pagini afișată de aplicație este împărțită în 3 pe verticală pentru partea de client în timp ce partea de administrator împarte partea centrală a ecranului pe orizontală. Vom discuta despre afișarea din partea centrală a aplicației la fiecare parte.

Pentru banerul din partea stângă a ecranelor (prezentat în figura 3.7) am folosit codul html prezentat în figura 3.8. care afișează niște imagini din folderul de imagini.

3.2 Partea de client

Codul pentru această pagină se găsește în scriptul central care dă controlul la toate celelate este fișierul index.php. Celelalte scripturi se află în folderul principal al aplicației și ele sunt: index.php, produse.php, comenzi.php, contact.php, galerie_foto.php Aceste scripturi la rândul lor vor apela în funcție de selecțiile clienților unul din scripturile: anulare_comanda.php, viziualizare_comenzi.php sau unul din scripturile comune aflate în folderul include.

3.2.1. Index.php

Acest script prezintă în partea centrală a ecranului cele 3 zone:

– zona din stânga definită ca o diviziune html (div id=”left”) ,

– zona centrală

– zona din dreapta.

În partea stânga în afără de banerul cu poze care l-am prezentat deja există o zonă de selectare a categoriei de produse pe care utilizatorul dorește să o vizualizeze (figura 3.9) zonă care este realizată de către codul php de mai jos (fig 3.10) care după cum se vede selectează toate categoriile existente în tabela produse și le afișază ca elemente a unei liste de linkuri. Dacă utilizatorul apasă unul dintre linkurile meniului se va da controlul scriptului produse.php având ca parametru id-ul categoriei selectate.

Codul paginii index.php continuă cu tagul (div id=”central”), care este partea centrală a site-ului. Aici după cum se vede și din codul prezentat în figura 3.11 avem un paragraph cu o scurtă descriere a activității pe care o desfășurăm și un script php prezentat în figura 3.12, care

conține codul pentru afișarea ultimelor 3 (trei) produse introduse – cele mai noi – prin selectarea și ordonarea descendentă după Id_Produs din tabela “produse”, limită la 3(trei) , precum și legătura către pagina comenzi.php pentru a se putea face comenzile.

Selectarea se face trimițând o interogare la baza de date și apoi prezentând pe ecran rezultatul obținut de la server cu o formă de prezentare mai atractivă îngroșând și scriind cu culori diferite diversele caracteristici ale produselor.

În tagul (div id=”right”) din pagina index.php, prezentată în figura 3.13 care face referire la partea dreaptă a site-ului, am două zone cea de sus și zona de jos. Zona de sus este controlată de porțiunea de script php prezentată în figura 3.14 și face afișarea ultimelor 3 noutăți din tabela noutati prin selectarea și ordonarea descendentă după timp limită la ultimele trei noutăți

Tot în partea dreaptă se găsește în zona de jos și rubrica Photos, unde sunt incluse imaginile a trei produse selectate și ordonate descendent după Id_Produs Porțiunea aceasta de script php este prezentată în figura 3.15. Pozele din aceastăzonă este sunt afișate cu facilitate de CSS3 de a accentua poza dacă este mouse-ul în zona lor.

Declarația de stil din fișierul style.css este:

.

photo img:hover

{ -webkit-transform:scale(1.1);

-moz-transform:scale(1.1);

-o-transform:scale(1.1);

-webkit-transition-duration: 0.5s;

-moz-transition-duration: 0.5s;

-o-transition-duration: 0.5s;

-moz-box-shadow: 5px 5px 10px #ccc;

-webkit-box-shadow: 5px 5px 10px #ccc;

box-shadow: 5px 5px 10px #ccc;}

Ultima parte de cod a paginii index.php, se referă la parte de jos (footer) a site-ului, unde avem scriptul php de includere a paginii footer.php.

3.2.2 Produse.php

Acest script se apelează când clientul selectează unul din linkurile de afișare a produselor dintr-o anumită categorie. Rolul acestui script este de a prezenta în partea centrală a ecranului produsele din categoria respectivă. În figura 3.17 am prezenta ecranul care va fi afișat de acest script când utilizatorul selectează categoria ”dulcețuri”:

Apelul scriptului se face transmițând categoria ca parametru ,parametru transmis prin metoda ”get” prin sintaxa produse.php?categoria=Dulceturi

Acest script are partea comună cu alte scripturi prin care se afișează în patea de sus și în partea din dreapta paginii headerul si meniul din header precum și meniul din dreapta cu banerul aferent (descrise la paragraful precedent). De asemenea în partea de jos se afișează footerul caracteristic tuturor paginilor site-ului. In partea centrălă a paginii se afișează toate produsele din categoria respectivă împreună cu imaginea lor și formularul în care utilizatorul poate să introducă cantitatea dorită și să apese butonul de comandă. Codul pentru această porțiune de script este prezentat în figura 3.18.

După cum se observă se selectează cu o interogare toate produsele din categoria respectivă și cu o buclă while se afișează cu niște forme de stil specifice (definite în fișierul style.css) imaginea, caracteristicile produsului tarifiul și facilitățile de transport și de reducere. Dacă s-a completat cantitatea aceasta împreună cu id-ul produsului (care are atributul ”hidden” adică nu se mai cere de la utilizator se transmit ca parametri prin metoda ”post” scriptului comenzi.php care va face înregistrarea comenzii în baza de date. Cele trei clase de stil block; price și more definesc culoarea fontul și mărimea caracterelor și sunt descrise în fișierul style.css.

3.2.3 Comenzi.php

Acest script asigură prelucrarea comenzii făcută de utilizator, în sensul că înregistrează în baza de date comanda, generează un cod de confirmare aleatoriu și afișează clientului mesajul de succes al înregistrarii și codul primit pentru comandă. De asemenea dacă utilizatorul nu este logat se afișează un mesaj de avertizare după care se reintră în pagina principală a aplicației pentru a da posibilitatea utilizatorului să se logheze sau să se înregistreze dacă este client nou. Pentru atribuirea codului aleatoriu am definit o funcție php care genereaza aleatoriu 7 caractere litere cifre din tabloul numit ”cars”. Codul acestei funcții l-am prezentat în figura 3.19

Porțiunea de script care asigură verificarea dacă utilizatorul este logat precum și afișarea mesajului în caz contrar este prezentată în figura 3.20

Înregistrarea în tabela comenzi (prezentată în figura 3.21) se face prin căutarea în tabela de produse a prețului unitar a prdousului selectat după care printr-o comandă de INSERT se scrie respectiva comandă în tabela comenzi:

3.2.4 Vizualizare_Comenzi.php

Acest script se apelează prin acesearea butonului <comenzi utilizator> din meniul de antet. Acest buton se afișează doar dacă utilizatorul este logat și oferă utilizatorului posibilitatea să își vadă propriile comenzi. Ecranul afișat la selectarea oțiunii de meniu este prezentat în figura 3.22.După cum se observă și în figură acest script asigură afișarea în partea de sus și în partea dreaptă a paginii elementele binecunoscute și comune tuturo paginilor de antet, meniu antet, meniu wrapper din partea dreaptă, imagini wrapper din partea dreaptă, precum și footerul și meniul de footer. În partea centrală se prezintă toate comenzile aflate în baza de date (care nu au fost șterese de administrator sau utilizator) specificându-se poza produsului, data când s-a făcut comanda, cantitatea comandată precum și un buton prin care comanda poate fi anulată. Porțiunea de script php care asigură această afișare este prezentată în figura 3.23.

După cum se observă și din cod și din figura 3.22 cu imaginea ecranului dacă marfa a fost deja prelucrată de administrator și chiar și expediată se afișează data expedierii produsului respectiv. De asemenea se observă utilizarea acelorași trei clase de stiluri pentru afișare la la prezentarea produselor: block, price și respectiv more :

.block div p{

font-family:Tahoma;

font-size:11px;

color:#000000;

display:block;

width:259px;

border-bottom:1px #D2D2D2;

padding:5px 0px 10px 0;

margin:0 0 5px 0;}

.price{

font-family:Arial, Helvetica, sans-serif;

font-size:12px;

color:#E63309;

font-weight:bold;

display:block;

float:left;

width:120px;}

.more{

font-family:Arial, Helvetica, sans-serif;

font-size:12px;

color:#009EDC;

text-decoration:none;

float:left

Dacă utilizatorul accesează butonul de anulare a comenzii se apelează scriptul de anulare anulare_comenzi.php la care se transmite parametru prin metoda get id-ul comenzii pe care utilizatorul dorește să o șteargă.

3.2.5 Anulare_Comenzi.php

Acest script se apelează din cadrul scriptului vizualizare_comenzi.php dacă utilizatorul a acesat butonul de ștergere comadă. Dacă comanda a fost deja expediată se afișează un mesaj de atenționare și comanda nu se șterge. Dacă comanda nu a fost încă prelucrată de administrator atunci se efectuează operația de stergere din tabela de comenzi. Codul acestui script este prezentat în figura 3.24.

După cum se observă acest script primește id-ul comenzii de șters de la scriptul apelat prin metoda get iar ștergerea se efectuează cu comanda DELETE

3.2.6 Galerie_foto.php

Acest script se apelează dacă utilizatorul accesează butonul <galerie foto> din unul din meniurire de pe header sau de pe footerul paginii curente. Prin apelarea lui se realizează afișarea în partea centrala a paginii curente pozele produselor existente în tabela de poze. De asemeni acest script afișează după cum se observă în figura 3.25 și banerele comune tuturor paginilor din partea de sus, dreapta și jos. Cel mai inedit element din acest script este că la plimbarea cu muse-ul peste imaginea respective se afișează denumirea produsului prin obțiunea ”roadtrip” după cum se obseră în porțiunea de script prezentată în figura 3.26

3.2.7 Contact.php

Pagina cu datele de contact ale producătorului se afișează dacă utilizatorul accesează butonul de contact din unul din meniurile din head-ul sau footer-ul paginii curente. Pagina care se afișează arată ca ăn figura 3.27. menționez că datele de contact sunt fictive iar adresa de localizare pe google map este tot fictivă ca fiind Satu Mare str.Mihai Viteazu nr.26.

Această pagină păstrează caracteristicile celorlate pagini descrise în paragrafele anterioare având meniulurile orizontale și verticale descrise ca fiind comune , partea de footer de asemena comună precum și niște texte de prezentare a datelor de contact și a programului de lucru.

3.3. Partea de administrare

Partea de adminstrare a site-ului se găsește în folderul admin a aplicației și după cum am mai menționat și în capitolul 2 are în componență mai multe fișiere cu scripturi php, precum și folder-ele include, css, img care conțin scripturile comune, fisierele de stil și respectiv imaginile folosite pentru o prezentare mai atractivă și modernă a acestei părti. Structura de fișiere este prezentată în figura 3.28. La logarea ca administrator în aplicație utilizatorului i se afișează un ecran cu mai multe file după cum se observă in figura 3.29. Fiecare filă corespunde unei tabele din baza de date unde administratorul poate face diferite operații, operații pe care le-am considerat eu necesare pentru buna funcționare a aplicației.

3.3.1 Partea comună a modulului de administrare.

Partea comună care controlează prin scripturi php toate filele afișate în modul de administrare care se găsește in folderul include este formată din afișarea meniului format din file (scriptul meniu.php) și o serie de funcții php grupate în fișierul functii.php tot din folderul include.

Scriptul meniu.php care este un cod php foarte simplu de afișare cu stil a unui meniu de acces în fiecare filă a ecranului îl prezint în figura 3.30 .

Scriptul funcții.php conține de fapt doar două funcții (prezentate în figura 3.31) una: menu_class() apelată în scriptul de mai sus pentru afișarea meniului și cea de a doua cea care asigură accesul la logare dacă vreun utilizator nelogat încearcă să acceseze această parte a aplicației.

Tot ca și parte comună a tuturor programelor scrise de mine pentru modulul de administrare este faptul că fiecare script începe prin același cod prezentat în figura 3.31

care pornește lucrul cu sesini conexinea cu baza de date și apoi partea de logare urmată de declarațiile de fișier html

După care, după cum se vede din prtiunea de cod din figura 3.32 verifică existența variabilelor sesiune care păstrează userul care este logat și dacă userul este administator sau nu.

Tot comun tuturor scripturilor din modulul de administrare este utilizarea stilului comun prin utilizarea fișierului all.css din folderul css pentru toate declarațiile de stil necesare precum și toate imaginile (butoane, linii, meniuri ) grupate în folderul de imagini.

3.3.2 Fila Produse

Această filă din meniul administratorului (prezentată în figura 3.29) oferă posibilitatea administratorului să introducă produse noi spre promovare/vânzare să modifice sau să șteargă produse care nu mai sunt de actualitate. În partea de sus a ecranului se afișează într-un tabel toate produsele din tabela de produse cu toate caracteristicile lor și cu o coloană de două acțiuni posibile (modificare și ștergere) a se efectua asupra fiecărui produs. În partea de jos a ecranului este definit un formular pentru adăugarea unui produs nou la care se poate ajunge și accesând butonul din colțul dreapta sus și completând pur și simplu formularul. După cum se observă totul este foarte clar și simplu de utilizat chiar și pentru cei care nu prea au cunoștițe de operare la calculator, caracteristică care se păstrează și pentru toate celelalte file ale părții de administrare a aplicației.

Pentru controlarea acestei file scriptul principal este produse.php alături de scripturile: adauga_produs.php, modificare_produs.php și respectiv stergere_produs.php

Scriptul produse.php care controlează după cum am spus imagina pe care am prezentat-o în figura 3.29 afișează în partea de sus a ecranului într-un tabel toate produsele din tabela de produse. Porțiunea de cod care face afișarea este prezentată în figura 3.33. și prezintă doar selectarea cu o interogare mysql a produselor din tabela de produse urmăată de o tipărire în tabel a rezultatului selecției.

In partea de jos a filei produse se afișează formularul de adăugare a unui produs nou portiunea de cod care afișează acest formular este prezentă în figura 3.34.

Scriptul aduaga_produs.php controlează adăugarea produsului completat în formularul de adăugare iar codul care face instrucțiunea sql deinsert este prezentat în figura 3.35.

Acest script mai oferă și posibilitatea modificării fotografiei atașate produsului prin binecunoscutul cod php de încarcare fișiere prezentat în figura 3.36.

Scriptul de modificare produs modificare_produs.php ca și cel de adăugare afișează același formular prezentat în figura 3.34 doar că câmpurile sunt precompletate cu valorile existente în tablă la produsul respectiv. Pentru a precompleta câmpurile se face o interogare a tabelei produse (figura .3.37) se încarcă valorile în variabile care se preafișează apoi in formularul de modificare. La apăsarea tastei de modificare ecranul arată ca în figura 3.38

.

Iar încarcarea în baza de date se face cu istrucțiunea UPDATE prezentată în figura 3.39

Scriptul de ștergere a produsului stergere_produs.php este apelat când administratorul activează butonul de ștergere a produsului. Acest script face ștergerea (după un mesaj de reconfirmarea a dorinței de ștergere mesaj afișat cu o functie javascript de tip confirm) urmat de o afișare a mesajului de efectuare cu succes a ștergerii. Codul acestui script este prezentat în figura 3.40

3.3.3 Fila Comenzi

Fila comenzi este controlată de către scriptul comenzi.php. După cum se observă în figura 3.41. această filă prezintă în partea de sus comenziile din tabela de comenzi care nu au fost încă prelucrate cu butoane la acțiunile pe care le poate face administratorul respectiv de prelucrare sau ștergere. Codul din scriptul comenzi.php care afișează acest tabel cu comenzi precum și butoanele respective este prezentat în figura 3.42.

Scriptul șterge_comanda.php apelat dacă administatorul apasă butonul de ștergere pentru o comandă anume face doar o instructiune de DELETE în tabela de comenzi pentru comanda a cărui id a fost transmis ca și parametruși afișează un mesaj de succe.

Scriptul modifică_comanda.php după afișarea unui mesaj de confirmare afișeză un formular (fig 3.43) în care sunt recapitulate toate detaliile comenzii respective și se permite administatorului să modifice doar Data_Expediereii respectiv Valoarea comenzii respective. Am ales ca valoarea să nu fie calculată automat de program ci să fie completată de administator pentru a se permite discounturi precum și un control mai mare asupra sumelor ce urmează să fie încasate. La apăsarea butonului <Modificare> se înscrie în baza de date noile valori în tabela de comezi. După cum se observă din codul acestui script prezentat în figura 3.44a si 3.44b pentru a afișa informații cum ar fi Denumirea Produsului, Categoria, Descrierea, Tariful etc se interoghează două tabele produse și comenzi cuplate între ele. De asemenea în acest script am folosit o tehnică mai specială prin aceea că și afișarea formularului și prelucrarea lui este în același fisier pentru aceasta la valoarea atributului action din formular se folosește autoapelarea (pe sine însuși) prin sintagma:

<form action="<?php echo $_SERVER['PHP_SELF'];?>"

Formularul are codul prezentat în figura 3.44a

Iar prelucrarea formularului și modificarea informațiilor în baza de date în figura 3.44b

După comenzile de prelucrat în fila de comenzi se prezintă într-un tabel toate comenzile din tabela de comenzi care au fost deja prelucrate cu buton de acțiune dacă administratorul dorește să șteargă comanda respectivă (Nu dorește să aibă o bază de date prea voluminoasă iar produsul respectiv a fost deja, livrat, contabilizat etc nu mai este nevoie de existența lui).

Porțiunea de cod php care afișează comenzile deja prelucrate este în principiu aproape la fel singura diferență este că se afisează comezile a caror dată de expediere este completată și nu se afișează butonul de prelucrare ci doar cel de ștergere. Codul scriptului de ștergere prezentat în figura 3.45 este foarte simplul și la fel cu cel de la partea de client:

În partea de jos a paginii sunt afișate câteva statistici referitor la numărul total de comenzi și respectiv la utilizatori (câte comenzi are fiecare, ce produse și în ce cantitate). Codul php din scriptul comenzi.php care afișează partea de statistici pe fiecare produs este prezentată în figura 3.46. Această statistică doar afișază într-un tabel rezultatul unei interogari din două tabele produse și comenzi cuplate (deoarece avem nevoie și de denuirea produsului informație care nu este în tabela de comenzi) interogare care face și totaluri pentru numărul de comenzi, cantitatea totală pe fiecare produs, și valoarea toatlă.

Iar statistica care afișează totalizări pe utilizatori este prezentată în figura 3.47. Această statistică pentru fiecare utilizator din tabela de autentificare face două interogari SELECT în baza de date. Una care selectează pentru utilizatorul respectiv fiecare produs și face totaluri pentru numarul de comenzi și cantitatea comandată, valoarea totala și a doua interogare care face un total al totalului valoriilor pentru fiecare utilizator.

3.3.4 Fila Utilizatori

Această filă permite administratorului să întrețina tabela de utilizatori. Dacă un utilizator trebuie să fie șters sau modificat în această filă trebuie actionat. La intrarea în această filă pe ecran se afișează o pagină după cum este prezentată în figura 3.48 unde sunt prezentați într-un tabel toți utilizatorii din tabela de autentificare. Scripturile implicate în această secțiune sunt: utilizatori.php, modifica_utilizator.php care ca în cazul celoralte file descrise anterior fac modificarea /ștergerea utilizatorului a cărui id este trimis ca și parametru. Codul scriptului

utilizatori.php este prezentat în figura 3.49.

3.3.4 Fila Poze Produse

Această filă permite utilizatorului să gestioneze tabela de poze tabelă în care sunt încarcate id-ul, numele și descrierea fiecărei imagini a produselor. Imaginile din această tabelă se prezintă în galeria de imagini. Am implementat această tabelă pentru a se permite într-o dezvoltare viitoare ca unui produs să i se asocieze mai multe imagini.

În figura 3.50 se vede ecranul afișat la selecția acestui meniu:

Care după cum se observă afisează toate înregistrarile din tabela „poze” și oferă posibilitatea să modifice sau să șteargă o poză din aceeastă tabelă. Pentru adăugarea de imaginii există un mic formular în partea de jos a ecranului care permite inclusiv uploadarea de poze noi. Codul php care controlează această filă este poze.php cod ce este analog cu cel de la comenenzi. Scripturi poze.php mai apelează scripturile adauga_poze.php, modificare_poze.php și respectiv sterge_poza.php după cum s-a văzut și la celelalte file de dinainte, principiul este același: Butonul de modificare încarcă un formular în care sunt precompletate datele existente în tabelă adminitratorul poate să le modifice iar la final la apăsarea butonului de validare datele se scriu în baza de date. Butonul de ștergere sterge din tabela „poze” poza cu id- ul transmis parametru ș.a.m.d după aceași schema și aproape același cod php ca celelalte file.

Cea mai interesantă parte de cod la această filă este aceea în care se poate adăuga /modifica un fișier ce conține poza unui produs. Aces cod este aproape identic cu cel de la fila de produse de aceea consideră că nu este cazul să îl prezint aici.

3.3.5 Fila Noutăți

În această filă administatorul încarcă noutăți din domeniul lui de activitate pe care dorește să le împărtășească și clienților sau persoanelor din grupul lui. La accesarea acestei file prezentate în fig. 3.51. controlul este deținut de scriptul noutati.php care în funcție de situație mai apelează scripturile adaugă_noutati.php pentru adăugarea unei știri și respectiv sterge_noutati.php pentru șergerea unei știri din tabela ”noutati”. Codul scriptului noutăți.php ca și în cazul celorlalte file afișează în partea de sus a ecranului într-un tabel noutățile existente în tabela ”noutati” iar în partea de jos formularul pentru adăugare de știre nouă. Codul php este prezentat în figura 3.52.

4. Concluzii

În această lucrare am prezentat modul în care am conceput și realizat o aplicatie Web cu bază de date, simplă, extrem de utilă unui mic întreprinzător care dorește să își prezinte, promoveze și vândă produsele din gospodăria prorie pe Internet. Pentru realizarea ei am folosit cunoștiințele acumulate de-a lungul a celor trei ani de studiu:

– am proiectat o bază de date mică și flexibilă formată din 5 tabele care să modeleze situația din lumea reală. Am folosit pentru aceasta cunoștintele legate de proiectara și utilizarea bazelor de date și sistemul de gestiune a bazelor de date MySQL , cu care am lucrat și la laboratorul materiilor de baze de date, fiind un sitem de gestiune modern, open-source și destinat anume aplicațiilor web.

– pentru partea de client am folosit o serie de tehnologii noi și moderne utilizate azi pe scară largă în domeniul aplicațiilor WEB HTML5, Javascript și CSS3

– pentru partea de server am folosit limbajul php, de asemenea limbajul predestinat aplicațților Web, limbaj care de asemenea l-am folosit în timpul laboratoarelor

– pentru designul si prezentarea aplicației am folosit în mare parte fotografii făcute de mine cu o cameră foto neprofesionistă (camera telefonului mobil) ;i prelucrari mine relaizate cu pachete de programe open-sursă.

Aplicația pe care am realizat-o este flexibilă, minimală dar în același timp oferă toate funcțiile necesare promovării și vânzării de produse din gospodăria proprie: Producătorul poate să își încarce produsele cu descrierile și pozele care crede că îl avantajează; poate să le grupeze în categorii după cum își gestionează el singur marfa; poate să ofere reduceri și discounturi pentru anumite produse; gestionează comenzile pe care le primește le prelucrează și le controlează foarte simplu și eficient; îi sunt oferite câteva statistici minimale despre situația vânzărilor.

Aplicația are un design modern și atractiv obținut fără prea mare eforturi și fără să fie necesare foarte multe cunoștinte de prelucrări grafice din partea administratorului.

Bineînțeles că această aplicație ca orice altă aplicație poate fi extinsă și îmbunătățită. Câteva din direcțiile în care mă gândesc că ar fi bine ca aplicația să fie extinsă ar fi în domeniul gestiunii mărfii și urmărirea încasărilor. Cea mai importantă dezvolarea ar putea fi aceea în care pagina este extinsă pentru un grup de producători (sau o asociație de producători) caz în care aplicația ar trebui să poată să aibă mai multi administratori iar prelucrările și statisiticile să prevadă posibilitatea selectării pentru care dintre producători sau grup de producători se dorește prelucrarea sau statistica. Altă extindere utilă ar fi ca aplicația să aibă un modul finanicar-contabil în care marfa să fie facturată, să fie întocmite actele de expediție și să fie urmărite încasările. Deocamdată partea aceasta a aplicației este gândită cu o contabilizare evidență contabilă într-o altă aplicație. (În practică la multe întrprinderi mici așa este modelată activitatea în sensul că persoana care face evidențele contabile are propriile ei aplicații patronii prezentând doar documentele emise spre a fi contabilizate). Se poate extinde partea de administrare cu mai multe statistici sau o pagina de sine stătătoare în care administatorul selectează criteriile după care vrea să obțină statisticile și eventual statisticile să fie prezentate și în forme mai atractive ca de exemplu folosind diagramele.

5. Bibliografie

Robert Dollinger , Luciana Andron ,,Baze de date și gestiunea tranzacțiilor” Editura Albastră, Cluj Napoca 2004

Luke Welling, Laura Thomson ,,Dezvoltarea aplicațiilor WEB cu PHP si MySQL, Editia a II-a” , Editura Teora 2005

Traian Anghel ,, Dezvoltarea aplicațiilor WEB folosind XHTML, PHP și MySQL ”, Polirom,Iași 2005

Carmen Holotescu, Antoanela Naaji – „Tehnologii Web”, Vasile Goldiș University Press, Arad, 2007

Teodoru Gugoiu – „HTML, XHTML, CSS și XML prin exemple,” Editura Teora, București, 2005

[8] *** ,,Variabile Sesiune” http://www.w3schools.com/php/php_sessions.asp

(consultat la data de 05.11.2014)

[9] *** ,, Stiluri ” http://www.w3schools.com/Css/tryit.asp?filename=trycss_link

(consultat la data de 13.02.2015)

[10] *** ,, DOM ” http://www.w3schools.com/Css/tryit.asp?filename=trycss_link

(consultat la data de 10.04.2015)

[11] *** „Javascript” http://www.w3schools.com/js/default.asp

[12] *** „PHP” – http://www.w3schools.com/php/default.asp

Similar Posts