Proiectarea Si Programare In Php a Magazinului Virtual

Cap. 3: Proiectarea și programarea în PHP a magazinului virtual

Aplicatia proiectata are ca obiectiv promovarea și comanda on-line de produse IT. Fiecare vânzare va fi precedată de o comandă, care va trebui confirmată pentru ca livrarea să aibă loc. Confirmarea se va face telefonic dar si prin e-mail, astfel că serverul pe care magazinul va fi instalat va trebui să fie capabil să trimită și să recepționeze e-mail-uri.

3.1 Proiectarea de ansamblu

Proiectarea de ansamblu a sistemului și succesiunea activitatilor este urmatoarea:

definirea obiectivelor

definirea intrarilor

definirea ieșirilor

locul aplicatiei in sistem

Obiectivele sistemului

Proiectarea sistemului trebuie să răspundă de urmatoarele cerinte:

Fiabilitate;

Flexibilitate;

Implementare rapida;

Usurinta in folosire;

Eficienta redusa;

Cost redus.

Proiectarea sistemului varealiză:

Proiectarea sistemului integrat al ofertelor și cererilor de munca;

Proiectarea paginilor web ce va avea la bază informații despre procesul activităților;

Reproiectarea unor părți ale sistemului;

Sistemul de inregistrarea cererilor și ofertelor de munca trebuie sa realizeze urmatoarere informații:

Asigură confidentialitatea și securitatea datelor;

transmiterea datelor;

stocarea datelor;.

Proiectarea bazei de date trebuie să aibă urmatoarele cerinte tehnice:

Să fie în formă normala 3;

Să raspunda restricțiilor de:

Integritate a domeniului;

Unicitatii cheii primare;

Integritate de referinta;

Integritate a relatiei;

3.2 Model relațional al bazei de date.

Modelul relațional reprezinta un model logic al bazei de date ce s-a impus datorita simplității în înțelegerea și modelarea structurilor de date. Reprezentarea unei baze de date sub formă de relații se numește model relațional al bazei de date.

O relație este alcatuita dintr-un tabel bidimensional în care coloanele corespund atributelor,iar fiecare linie corespunde unei entități.

Fiecare relație se identifică printr-un nume unic în cadrul unei baze de date.

Fiecare atribut are un nume unic și trebuie să sugereze semnificația acestuia.

O linie a relației se numește tuplu al relației .Prin relație identificam o clasă de entități în care fiecare tuplu reprezintă o entitate.

3.3 Schema Conceptuala a bazei de date

Fig. 3.1 – Schema BD

3.4 Structura bazei de date

Baza de date folosită apartine serverului MySQL și conține 5 tabele: ss_categories, ss_ordered_carts, ss_orders, ss_products, ss_special_offers.

Fig. 3.2 – tabele bazei de date

Tabela ss_categories este de tip InnoDB și are următoarele câmpuri:

Fig. 3.3 – Tabela Categorii

categoryID – este cheia primară a tabelei

name – reprezinta numele categoriei

description – descriere

picture – fotografie

Tabela ss_ordered_carts este de tip InnoDB și prezinta următoarele câmpuri:

Fig. 3.4 – Tabela – ordered carts

productID – id produs – cheie primara

orderID – id comanda

name – nume produs

price – pret

quantity – cantitate

Tabela ss_orders este de tip InnoDB și are următoarele câmpuri:

Fig. 3.5 – Tabela 0rders

orderID – id vanzare – cheie primara

order_time – data efectuari comenzi

cust_firstname – nume client

cust_lastname – prenume client

cust_email – email client

cust_country – tara de resedinta a clientului

cust_zip – codul postal

cust_address – adresa

cust_phone – nr. telefon

Tabela ss_special_offers este de tip InnoDB și are următoarele câmpuri:

Fig. 3.6 – Tabela Oferte speciale

offerID – oferta ID – cheie primara

product ID – produsID

sort_order – sortare

Tabela ss_products este de tip InnoDB și are următoarele câmpuri:

Fig. 3.7 – Tabela produse

productID – ID produs – este cheie primara

categoryID – ID categorie

name – nume produs

description – descriere largita

customers_rating – rezultatul votului

price – pret

picture – poza

in stock – in stoc da/nu

thumbnail – poza mica

customer_votes – voturile clientilor

big_picture – poza mare

brief_description – descriere scurta

list_price – listare pret

product_code – codul produsului

3.5 Definirea documentelor de ieșire

Prin ieșirile unui subsistem informatic se înțelege totalitatea informațiilor furnizate de acesta beneficiarilor externi și interni, respectiv rapoarte, note de informare-rapoatre, etc.

Definirea ieșirilor fiecărui subsistem informatic, presupune stabilirea la nivel global a informațiilor necesare conducerilor de pe diferite trepte ierarhice ale sistemului, specificând pentru fiecare în parte: aspectele programatice (legate de utilitate) și aspectele semantice (legate de conținut).

La nivel global, se vor prezenta toate caracteristicile ieșirilor sistemului proiectat, cum ar fi: numarul de exemplare, periodicitatea, destinația și tipul de exemplar.

Din panoul de administrator se pot prelua datele necesare pentru procesarea comenzii și anume:

Date Contact: Nume / Preume / Email / Telefon / Adresă / Oraș / Cod Poștal

Produse: Denumire Produs / Nr Produse Comandate

Total: Costul Produselor

3.6 Definirea documentelor de intrare

Prin ”intrările” sistemului intelegem totalitatea datelor care reflectă dinamica și starea fenomenelor și proceselor economice din domeniul analizat, care sunt necesare creării, actualizării bazei de date și obținerii situațiilor de ”ieșire”.

Pentru proiectarea videoformatelor de intrare, există două moduri de desfășurare a dialogului operator-calculator și anume:

1.întrebare-răspuns cu defilarea liniilor ecranului

2.afișarea machetei de introducere a datelor de intrare

Trimite Comanda

Imediat după ce utilizatorul a adăugat în coșul de cumpărături produsele dorite urmează completarea formularului de trimitere a comenzii . Pentru a putea trimite comanda utilizatorul trebuie să completeze următoarele câmpuri:

”Nume” – Numele Utilizatorului

”Prenume” – Prenumele Utilizatorului

”Email” – Adresa E-mail

”Telefon” – Număr de Telefon

”Adresă” – Adresa unde vor fi livrate produsele comandate

”Oraș” – Orașul unde vor fi livrate produsele

”Judet” – Judetul unde vor fi livrate produsele

”Cod Poștal” – Codul Orașului

”Tara” – Tara unde vor fi livrare produsele

Odată câmpurile completate se apasă butonul trimite , iar comanda va fi trimisă către un administrator.

Adaugă Categorie

Pentru adăugarea unei noi categorii de produse este necesară completarea a 4 câmpuri:

”Parinte” – Categorie Principală / Subcategorie dacă este selectată o categorie existentă.

”Nume Categorie” – Numele Categoriei

”Logo” – Poza aferenta pentru aceasta categorie

”Descriere” – Descrierea sumara a categoriei adaugate

Dupa completarea acestor campuri se apasa butonul „Salveaza”

Adaugă Produs

Adăugarea unui nou produs în baza de date de către administrator se face completând un formular .

” Categorie” – Categoria unde apare produsul

” Denumire” – Nume produs

” Preț” – Prețul produsului

” Preț Nou” – Dacă se va completa câmpul Preț Nou – Produsul respectiv urmează să apară în categoria de PROMOȚII.

” Poza” – Upload fotografie produs

” În Stoc” – Da/Nu – Produsul se află sau nu în stoc.

” Descriere” – Descrierea produsului respectiv

Dupa completarea acestor campuri se apasa butonul „Salveaza”

Setari Generale

Configurare

” Nume Site” – Setare nume site.

” Url” – Adresa site (ex: www.pc-shop.ro).

” Admin Email” – Setare adresa e-mail administrator.

” Verificare Email” – Verificare e-mail.

Moneda

” Simbol Moneda” – Setare simbol moneda (ex: RON , $ , €)

” Moneda Curenta” – Setare Moneda

” Monede Acceptate” – Lista monede acceptate (ex: RON , USD , EURO)

Parola Admin – Schimbare Parola

” User” – Editare user administrator.

” Parola Veche” – Parola Veche

” Parola Noua” – Adaugare Parola Noua

” Confirmare Parola Noua” – Verificare Parola Noua

Pagini Site – Editare Pagini

” Pg. Despre Noi” – Editare pagina Despre Noi

” Pg. Plata si Livrare” – Editare pagina Plata si Livrare

3.7 Descrierea funcțiilor utilizate în aplicație:

isset() – funcție care verifică dacă o valoare a unei variabile a fost setata;

strlen() – funcție ce returnează lungimea unui șir de caractere;

printf() – afișeaza un șir de caractere formatat;

require() – funcție care include în script conținutul unui fișier cu conditia de a fi introdus o singură dată (spre deosebire de funcția include() – care permite includerea fișierului de mai multe ori) ;

mail($to, $subject, $message, $headers) – funcție folosită pentru a trimite un email (de la $to, cu subiectul $subiect, având ca mesaj $message cu headerele adiționale $header);

crypt($pass, "BB") – funcție care criptează un șir de caractere ($pass) după o cheie de criptare (BB);

trim() – funcție care elimină spațiile goale de la începutul și sfârșitul unui șir de caractere specificat ca parametru (asemănător funcției standard în C);

strcmp() – funcție care compară două șiruri de caractere (asemănător funcției standard în C)

mysql_fetch_array() – returnează o linie din rezultatul comenzii;

mysql_query() – trimite o comandă mysql bazei de date active de pe server;

mysql_error() – returnează mesajul de eroare sub formă de șir de caractere generat de baza de date mysql dacă este cazul;

mysql_num_rows() – returnează numărul de linii din rezultatul unei cereri mysql;

mysql_select_db($dbname) – alege o bază de date mysql după conectarea la un server mysql;

mysql_connect('localhost', $user, $pass) – deschide o conexiune către un server mysql (numele serverului – ‚localhost’, $user – username-ul si parola – $pass);

session_destroy() – distruge toate datele asociate cu sesiunea curentă;

session_start() – inițializează o secțiune de date bazată pe ID-ul de sesiune trimis printr-o cerere GET sau POST;

ob_start() – oprește afișarea bufferului până la terminarea execuției scriptului;

function draw_data_form($prefix, $an, $luna, $zi, $an_min, $an_max) – funcție definită de programator care generează codul HTML pentru afișarea datei calendaristice sub forma a trei elemente combo-box;

function afis_next($p, $total) – funcție care afișează lista paginilor dintr-un meniu de afișare a anumitor informații;

function verifica() – funcția folosită foarte des în proiect, care verifică datele trimise de un formular în vederea introducerii acestora într-un tabel (într-o bază de date);

function init_print() {

isNS=(document.layers==1);

print(); – inițializează listarea la imprimantă a unei pagini web;

Similar Posts

  • Sisteme Integrate de Astazi

    Cuprins Introducere Capitolul 1 Sisteme Integrate ERP – concepte și arhitecturi 1.1. Definiția și evoluția sistemelor ERP Enterprise Resource Planning este o noțiune legată de integrarea informațională din interiorul unei afaceri. Foarte multe materiale documentare despre acest subiect umblă degajat prin intermediul internetului prin care se descriu natura acestor tehnologii, avertizează asupra pericolului presupus de…

  • Utilizarea Bazelor de Date cu Php In Realizarea Unui Site Dinamic Pentru Un Magazin Virtual, Folosind Elementele Xhtml, Javascript, Php Si O Baza de Date Mysql

    UTILIZAREA BAZELOR DE DATE CU PHP ÎN REALIZAREA UNUI SITE DINAMIC PENTRU UN MAGAZIN VIRTUAL, FOLOSIND ELEMENTE XHTML, JAVASCRIPT, PHP ȘI O BAZĂ DE DATE MYSQL Cuprins 1. Internetul 2. Specificul unui magazin virtual 2.1. Evaluarea performanțelor unei afaceri on-line 2.1.1. De la marketing la vânzări 2.1.2. Cum se pot atrage clienții „on-line”? 2.1.3. Cum…

  • Implementarea Unei Infrastructuri Microsoft Exchange Server 2010

    CUPRINS 1. INTRODUCERE…………………………………………………………………………………….3 1.1 Context…………………………………………………………………………………………………………….3 1.2 Tema proiectului………………………………………………………………………………………………..5 2. FUNDAMENTAREA TEORETICĂ……………………………………………………….6 2.1 Sistemul de operare Windows Server 2008 R2………………………………………………………6 2.1.1 Prezentare generală……………………………………………………………………………….6 2.1.2 Versiunile sistemului de operare Windows Server 2008……………………………7 2.2 Active Directory………………………………………………………………………………………………10 2.2.1 Introducere în Active Directory……………………………………………………………10 2.2.2 Rezolvare de nume……………………………………………………………………………..11 2.2.3 Infrastructura Active Directory…………………………………………………………….13 2.2.4 Accesul la resurse……………………………………………………………………………….15 2.3 Microsoft Exchange 2010…………………………………………………………………………………18 2.3.1…

  • Securitatea Retelelor de Calculatoare

    Introducere Internetul, în viața de zi cu zi, ne influențează în diferite moduri, fiind singura tehnologie care a afectat oamenii indiferent de locație, limbă sau profesie, de aceea securitatea informatică a devenit o componentă importantă a acestuia. Dintotdeauna s-a simțit nevoia de stabilitate, de garantare a siguranței economice, a muncii, a organizației.”Nu se poate trăi…

  • Proiectarea Interfetei In Aplicatia de Gestiune Arheologica Rm360 Folosind Tehnologii Web

    Cuprins Lista figurilor…………………………………………………………………………………………………………9 Lista acronimelor……………………………………………………………………………………………………11 Introducere…………………………………………………………………………………………………………….13 Aplicația RM360………………………………………………………………………………………….15 Sistem de gestiune arheologică…………………………………………………………………15 Descrierea aplicației RM360…………………………………………………………………….15 Tehnologii folosite pentru dezvoltara aplicației………………………………………………..17 2.1 Mediu de dezvoltare Microsoft Visual Studio……………………………………………..17 2.2 Tehnologii principale folosite……………………………………………………………………17 2.2.1 HTML5…………………………………………………………………………………………….17 2.2.2 CSS3………………………………………………………………………………………………..18 2.2.3 Framework-ul Boostrap………………………………………………………………………20 2.3 Limbajul de programare JavaScript……………………………………………………………20 2.3.1 jQuery………………………………………………………………………………………………21 2.3.2 AJAX……………………………………………………………………………………………….21 2.3.3 JSON………………………………………………………………………………………………..22 2.4 Adobe Photoshop……………………………………………………………………………………22 2.5 Google Maps…

  • . Procesul E Government. Strategia Aplicata de Guvernul Romaniei In Domeniul Administratiei Publi

    CAPITOLUL I. Introducere Guvernarea electronică sau e-Government se afirmă din ce în ce mai mult ca o caracteristică majoră a noii societăți bazate pe informație și cunoștințe. Fenomenul este complex și se referă la multiple conexiuni care există între autorități și persoanele fizice și juridice din societatea respectivă. Administrația publică este în prezent puternic influențată…