Programarea Si Proiectarea In Php a Magazinului Virtual
Cap. 3: Programarea si proiectarea în PHP a magazinului virtual
Aplicatia are ca scop promovarea și comanda on-line de produse IT. Pentru fiecare vanzare se va efectua o comandă, care trebuie confirmată pentru ca produsul sa fie livrat. Confirmarea se va face prin telefon, dar si prin e-mail, astfel că serverul pe care magazinul va fi instalat trebuie să poata să trimită și să recepționeze e-mail-uri.
3.1 Proiectarea de ansamblu
Proiectarea de ansamblu a sistemului și succesiunea activitatilor este urmatoarea:
Descrierea obiectivelor
descrierea intrarilor
descrierea ieșirilor
locul unde se afla aplicatia in sistem
Obiectivele sistemului
Proiectarea sistemului trebuie să răspundă de urmatoarele cerinte:
Fiabilitate;
Flexibilitate;
Implementare rapida;
Usurinta in utilizare;
Pret redus.
Proiectarea sistemului varealiză:
Proiectarea sistemului integrat al ofertelor și cererilor de munca;
Proiectarea site-urilor ce contine informații despre procesul activităților;
Reproiectarea unor părți ale sistemului;
Sistemul de inregistrarea cererilor și ofertelor de munca trebuie sa contina urmatoarere informații:
Asigura securitatea datelor;
Trimiterea 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 inteligibilitatea și modelarea structurilor de date. Construirea unei baze de date sub formă de relații se cheama model relațional al bazei de date.
O relație este construita dintr-un tabel bidimensional în care coloanele corespund atributelor, iar fiecare linie este parte a unei entități.
Fiecare relație este observata 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 observam 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 utilizata 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 intelegem totalitatea informațiilor furnizate de acesta beneficiarilor externi și interni, plus rapoarte, note de informare-raportare, etc.
Definirea ieșirilor fiecărui subsistem informatic, are la baza stabilirea la nivel global a informațiilor esentiale conducerilor pe mai multe trepte ierarhice ale sistemului, enumerand pentru fiecare în parte: aspectele programatice (legate de utilitate) și aspectele semantice (legate de conținut).
La nivel global, vor fi enumerate toate caracteristicile ieșirilor sistemului construit, cum ar fi: numarul de exemplare, periodicitatea, destinația și tipul de exemplar.
Din panoul de administrator se pot accesa datele necesare pentru procesarea comenzii, spre exemplu:
Date Contact: Nume / Prenume / E-mail / Telefon / Adresă / Oraș
Produse: Denumire Produs / Nr Produse Comandate
Total: Costul Produselor
3.6 Definirea documentelor de intrare
Prin ”intrările” sistemului intelegem multitudinea datelor care descriu dinamica și starea fenomenelor și proceselor economice din domeniul analizat, care sunt folositoare construirii, actualizării bazei de date și obținerii situațiilor de ”ieșire”.
Pentru proiectarea videoformatelor de intrare, există două moduri de prezentare a dialogului operator-calculator și anume:
1.întrebare-răspuns cu parcurgerea liniilor ecranului
2.expunerea machetei de introducere a datelor de intrare
Trimite Comanda
Imediat după ce utilizatorul a pus în coșul de cumpărături produsele alese, trebuie completat formularul 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
”Oraș” – Orașul unde vor fi trimise produsele
”Adresă” – Adresa unde vor fi trimise produsele comandate
”Judet” – Judetul unde vor fi trimise produsele
”Tara” – Tara unde vor fi trimise produsele
Dupa ce câmpurile au fost completate, se apasă butonul trimite , iar comanda va fi trimisă către un administrator.
Adaugă Categorie
Pentru efectuarea unor alte categorii de produse este obligatorie completarea a 4 câmpuri:
”Parinte” – Categorie Principală / Subcategorie dacă este selectată o categorie existentă.
”Nume Categorie” – Numele Categoriei
”Logo” – Poza aceastei categorii
”Descriere” – Descrierea exacta a categoriei adaugate
Dupa completarea acestor campuri se apasa butonul „Salveaza”
Adaugă Produs
Introducerea unui alt produs în baza de date de catre administrator se face prin completarea unui formular .
” Categorie” – Categoria unde se afla produsul
” Denumire” – Nume produs
” Preț” – Costul produsului
” Preț Nou” –In cazul in care se va completa câmpul Preț Nou – Produsul respectiv va aparea în categoria de PROMOȚII.
” Poza” – Upload fotografie produs
” În Stoc” – Da/Nu – Produsul este sau nu în stoc.
” Descriere” – Descrierea produsului cu pricina
Dupa ce se vor completa aceste 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 pentru verificarea unei valoari a unei variabile a fost setata;
strlen() – funcție pentru returnarea lungimii unui șir de caractere;
printf() – afișearea unui șir de caractere formatat;
require() – funcție care contine în script cuprinsul unui fișier cu conditia de a fi inserat 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 utilizata pentru trimiterea unui 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 sterge spațiile goale de la începutul și sfârșitul unui șir de caractere numit 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 comanda;
mysql_query() – trimite o comandă mysql bazei de date active de pe server;
mysql_error() – intoarce mesajul de eroare sub formă de șir de caractere generat de baza de date mysql;
mysql_num_rows() – intoarce numărul de linii din rezultatul cererii mysql;
mysql_select_db($dbname) – selecteaza o bază de date mysql după conectarea la un server mysql;
mysql_connect('localhost', $user, $pass) – acceseaza o conexiune către un server mysql (numele serverului – ‚localhost’, $user – username-ul si parola – $pass);
session_destroy() – elimina toate datele asociate cu sesiunea curentă;
session_start() – incepe o secțiune de date bazată pe ID-ul de sesiune trimis printr-o cerere GET sau POST;
ob_start() – stopeaza afișajul bufferului până la terminarea execuției scriptului;
function draw_data_form($prefix, $an, $luna, $zi, $an_min, $an_max) – funcție care generează codul HTML pentru afișajul 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 enumerare a anumitor informații;
function verifica() – funcția utilizata frecvent în proiect, ce verifică datele transmise de un formular în vederea inserarii acestora într-un tabel (într-o bază de date);
function init_print() {
isNS=(document.layers==1);
print(); – incepe listarea la imprimantă a unui site;
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Programarea Si Proiectarea In Php a Magazinului Virtual (ID: 150175)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
