Proiectarea Aplicatiei Pentru Comercializarea Animalelor Si Produselor Destinate Acestora
CUPRINS
INTRODUCERE…………………………………………………………………….…………4
CAPITOLUL 1. Noțiuni generale baze de date………………………………………………..5
1.1 Baze de date relationale (BDR)………………………………………………………….5
1.2 Baze de date orientate obiect (BDOO)………………………………………………….8
1.3 Baze de date distribuite (BDD)…………………………………………………………11
CAPITOLUL 2. Utilizare MySQL și PHP…………………………………………………….15
2.1 Noțiuni generale MySQL…………………………………………………………….…15
2.2 Pagini Web statice………………………………………………………………………17
2.3 Pagini web dinamice……………………………………………………………………19
2.4 Concepte PHP………………………………………………………………………….21
CAPITOLUL 3. Proiectarea aplicației pentru comercializarea animalelor și produselor destinate acestora……………………………………………………………………………..25
3.1 Prezentarea bazei de date…………………………………………………………….…26
3.2 Prezentarea paginilor site-ului………………………………………………………….29
CONCLUZII………………………………………………………………………………….40
ANEXA1……………………………………………………………………….…………….43
ANEXA2…………………………………………………………………………….……….44
INTRODUCERE
Într-o lume dezvoltată ca cea în care trăim, unde tehnologia progresează de la o zi la alta, Internetul a ajuns cea mai apreciabilă sursă de informare și entertainment pentru majoritatea populației. De aceea cele mai multe afaceri tradiționale și-au automatizat unele activități transformându-se în afaceri electronice care sunt derulate prin Internet cu sprijinul site-urilor. Un astfel de model este comerțul electronic în care companiile pun la dispoziția consumatorilor prin intermediul magazinelor electronice serviciile pe care le oferă și comerțul tradițional.
Proiectul de față prezintă un site realizat pentru a descrie activitatea unei firme de animale si produse pentru acestea. Mi-am ales această temă deoarece site-ul web cu funcția de instrument de vânzare redă un mijloc foarte important în realizarea comerțului electronic, care este des întâlnit în zilele noastre.
De aceea pentru ca firmele să își mărească volumul vânzărilor și să ajungă mai cunoscute pentru a câștiga încrederea clienților trebuie să își procure un site web. Astfel cu ajutorul site-ului firma își poate prezenta serviciile , produsele , ofertele speciale , discount-urile , și alte facilități pe care le propune cum ar fi aprovizionarea produselor cu ajutorul unei comenzi online.
Site-urile web aduc beneficii și utilizatorilor , nu numai firmelor fiindcă potențialii clienți au acces rapid la informațiile de care sunt interesați: amănunte legate de produs , listă de prețuri, etc..
Lucrarea este alcătuită din 3 capitole în care sunt prezentate principalele instrumente aplicate în dezvoltarea unui site, astfel:
În primul capitol este prezentat conceptul de bază de date, aspectele generale ale bazelor de date relaționale , orientate obiect și distribuite și principalele caracteristici ale acestora.
În cel de-al doilea capitol sunt descrise principalele caracteristici ale bazei de date MySQL și ale limbajului PHP cu ajutorul cărora putem crea pagini dinamice care vor da naștere unui site.
Al treilea capitol conține o prezentare a modului în care a fost dezvoltată aplicația și de asemenea modalitatea de funcționare a acesteia.
CAPITOLUL I
Noțiuni generale baze de date
Baze de date relaționale (BDR)
O bază de date este o colecție de date centralizate, creată și menținută computerizat, în scopul prelucrării datelor în contextul unui set de aplicații.” Astfel, baza de date este un model al unor aspecte ale realității unei unități economice, modelată prin intermediul datelor. Diferitele obiecte din cadrul realității, ce prezintă interes, poarta numele de clase sau entități. Pentru aceste obiecte sunt achiziționate și memorate date referitoare la diferite caracteristici (atribute). Baza de date reprezinta un ansamblu intercorelat de colecții de date, prin care se realizează reprezentarea unei realități.”[3]
Se numesc date orice formă de organizare a materiei sau energiei care poate fi înzestrată cu o semnificație.
Se numesc informații mențiunile date de mintea umană datelor.
“Un fișier reprezintă un ansamblu de înregistrări fizice omogene din punct de vedere al conținutului și al prelucrării.
Înregistrarea fizică este legatura de transfer între memoria internă și cea externă a calculatorului.”[4]
Sistemele de baze de date, numite și bănci de date, ne arată un sistem de organizare și prelucrare, a informației, care necesită prezența următoarelor elemente:
culegere de date care se află în interdependență ;
prezentarea datelor și a conexiunilor dintre ele;
un set de programe care garantează actualizarea, interogarea bazei de date .
Majoritatea sistemelor de baze de date actuale sunt realizate în modelul de date relațional.
1.1.1 Modelul relațional
Primul exemplu de model de date formal a fost modelul de date relational care a fost propus de cercetătorul E.F.Codd de la compania IBM, prin publicarea lucrarii “Un model relațional de date pentru bănci mari de date partajate”.
Modelul de date relațional se bazează pe noțiunea de relație din matematică, care corespunde unei entități de același tip și are o reprezentare ușor de înțeles și de manipulat, ce constă dintr-un tabel bidimensional, compus din linii și coloane
O bază de date care îndeplinește modelul relațional este o bază de date relațională.
O bază de date relațională este un ansamblu organizat de tabele împreună cu legăturile dintre ele.[5]
Într-o bază de date relațională datele sunt depozitate sub forma tabelelor. Tabela bidimensională numită relație aprobă reprezentarea unei entități ,astfel:
atributele entității sunt reprezentate de coloanele tabelei ;
membrii entității sunt reprezentați de liniile (rândurile) tabelei.
A1, A2, A3……An = Atribute
Numele atributelor
Membrii entității
Tuplul i
Valoare Figura 1.0.1 Elementele unei relații (tabel) [14]
“Fiecare atribut este caracterizat printr-un nume și un domeniu de valori pe care le poate lua. Domeniul reprezinta mulțimea tuturor valorilor acceptate pentru un atribut al relației.” [5]
Denumirea fiecărei coloane este distinctă, în prima linie conține numele de atribute. O linie dintr-o relație se numește tuplu care este diferit față de alt tuplu.
Orice tabelă deține cel puțin o cheie, adică un atribut sau un grup de atribute prin care se poate identifica în mod unic orice linie. Dacă o tabelă dispune de mai multe chei, una va fi folosită drept cheie primară.
Restricțiile de integritate ale modelului relațional sunt:
restricția de unicitatea cheii (UNIQUE)
restricția referențială – cheie externă (REFERENȚIAL)
restricția entității (NOT NULL)
restricțiile de comportament (CHECK)
Cheia primară trebuie să îndeplinească două restricții de integritate:
“integritatea entității – conform căreia nici un atribut care corespunde cheii nu poate avea valori nule;” [11]
“integritatea referențială – conform căreia, dacă într-o relație apare un atribut prin care se face referință la un alt tuplu din relația curentă sau o altă relație, atribut care poarta denumirea de cheie externă, atunci el trebuie să aibă valori valide, care să existe în relația către care face referință.”[11]
Deși fiecare tabel relațional poate exista independent, esența bazelor de date este stocarea informațiilor între care există legături. Legătura între linii din tabele diferite se realizează prin intermediul unei coloane comune, care se numește și cheie secundară sau cheie externă. O cheie secundară este un atribut care apare într-o tabelă și care este cheie primară într-o altă tabelă cu care se află în legătură. Cheile primare și cheile externe stabilesc relații între tabele și aprobă crearea legăturilor între date, atunci când este necesar.
Prin folosirea relațiilor, se pot îmbina date din mai multe tabele în aceeași interogare a bazei de date.
Redarea entităților și a legăturilor dintre acestea se poate efectua folosind diagrama de relații a entităților (ERD – Entity Relationship Diagram). Diagramele ERD ne pun la dispoziție o metodă utilizată în vederea prezentării proiectului general al unei baze de date relaționale, într-un format ușor de înțeles pentru utilizatorii bazei de date.
Proiectarea bazei de date relaționale
Proiectarea unei baze de date relaționale necesită parcurgerea următoarelor etape:
Formularea problemei care presupune fixarea obiectivelor programului informatic în conformitate cu “cerințele managementului activității economice pentru care este proiectată baza de date. Baza de date trebuie să permită atât obținerea unor informații de detaliu, elementare, cât și calculul și prezentarea unor indicatori sintetici, agregați.”[8]
Analiza cerințelor informaționale se concentrează asupra:
datelor de intrare necesare prin intermediul carora se obțin datele de ieșire.
datelor de ieșire ;
“Datele de intrare se culeg din documentele primare care circulă în cadrul fluxului informațional al firmei. Datele de iesire se vor integra în ansamblul de rapoarte, liste, situații cu rezultate pe care le furnizează sistemul informațional compartimentelor de conducere.”[8]
Definirea tabelelor și relațiilor dintre acestea.
“Analiza cerințelor informaționale și a proceselor de prelucrare va conduce la identificarea datelor ce vor trebui stocate , care vor alcătui tabelele bazei de date. Structura unei tabele este reprezentată de lista câmpurilor asociate tabelei împreună cu descrierea atributelor fiecărui câmp (natură, lungime, număr de zecimale etc.), astfel în tabelă vor exista următoarele categorii de câmpuri:
câmpuri de identificare (chei primare și chei condiționate);
câmpuri tip dată calendaristică;
câmpuri cantitativ-valorice;
câmpuri de legătură cu alte tabele;
câmpuri de stare care păstrează informații privind ultimele operații de prelucrare care au fost efectuate pe înregistrările din tabel.
Relațiile dintre tabele se caracterizează prin plasarea unor câmpuri comune în structura fiecăruia dintre tabelele aflate în relație directă. Câmpurile care pot fi folosite în acest scop sunt cele care au proprietatea de a identifica în mod unic o înregistrare dintr-o tabelă.”[8]
Optimizarea structurii bazei de date urmărește: reducerea redundanței datelor adică suprimarea duplicării unor câmpuri în mai multe relații sau suprimarea câmpurilor obținute prin calcul pe baza altor câmpuri. Se mai urmărește și eliminarea anomaliilor de actualizare care se referă la eliminarea anomaliilor de ștergere, respectiv de modificare.
Baze de date orientate obiect (BDOO)
1.2.1 Modelul orientat obiect
Limitele sistemelor relaționale, au determinat evoluția spre sistemele orientate obiect.
Pentru orice aplicație informatică se delimitează trei domenii: interfața, datele și prelucrările. Tehnologia “orientată pe obiecte” micșorează cele trei domenii la unul singur: obiectul. “Conceptul orientat pe obiecte leagă întrucâtva datele care descriu obiectul de sistemul de gestiune a datelor, care trebuie să fie compatibil și să admită că obiectul este o unitate de observare care încorporează atât datele care-l descriu, precum și instrucțiunile care operează asupra datelor.” [5]
Figura 1.2 Paralelă între noțiunile utilizate în sistemele relaționale și orientate obiect.
Folosirea tehnologiei orientate obiect în baze de date a dus la apariția bazelor de date orientate pe obiecte. Bazele de date orientate pe obiecte au apărut la sfârșitul anilor 1980, dezvoltarea lor fiind favorizată de aspecte precum : tipuri de baze de date noi, dezvoltarea limbajelor de programare.
Ansamblu de date și a prelucrărilor asociate integrate într-o aceeași capsulă poate fi define un obiect.”Încapsularea este reuniunea definiției statice a unui obiect prin atributele sale și definirea dinamică a acestui obiect, cu ajutorul regulilor de comportament”[5] care sunt traduse cu ajutorul metodelor.Metodele reprezintă prelucrările asociate obie de date orientate pe obiecte au apărut la sfârșitul anilor 1980, dezvoltarea lor fiind favorizată de aspecte precum : tipuri de baze de date noi, dezvoltarea limbajelor de programare.
Ansamblu de date și a prelucrărilor asociate integrate într-o aceeași capsulă poate fi define un obiect.”Încapsularea este reuniunea definiției statice a unui obiect prin atributele sale și definirea dinamică a acestui obiect, cu ajutorul regulilor de comportament”[5] care sunt traduse cu ajutorul metodelor.Metodele reprezintă prelucrările asociate obiectelor.
Obiectele sunt caracterizate printr-o structură și o interfață .Structura obiectului este reperata printr-un identificator intern și de o stare care permite regruparea atributelor ce pot conține:valori atomice și obiecte (accesate prin identificatorii acestora). Principiul încapsulării nu permite accesarea sau modificarea directă din exterior a structurii obiectului și a metodelor sale, de aceea structura obiectului este recunoscută doar de obiectul însuși. Interfața reprezintă partea vizibilă a obiectului.
Conceptul de ascundere a informațiilor se referă la faptul că detaliile externe ale unui obiect sunt separate de aspectele sale interne.
Majoritatea obiectelelor poseda în comun aceeași structură și același comportament.”O clasă este privită ca un obiect care are atribute și metode proprii definite o singură dată pentru toate obiectele conținute de aceasta.Astfel,o clasă se caracterizează prin atributele clasei și respective metodele clasei.”[1]
Obiectul care este creat după schema precizată de o clasă este o instanță a acelei clase iar operația prin care obiectul este creat se numește instanțiere.Obiectul nou generat posedă valorile corespunzătoare atributelor sale, lista atributelor fiind generată de către clasă.
Ansamblul instanțelor unei clase alcătuiește o colecție care poartă denumirea de extensia clasei și care are același nume cu al clasei.
Clasele și obiectele grupate și stocate într-o formă fizică alcătuiesc module, ce formează arhitectura fizică a sistemului de gestiune a bazei de date.
Clasa derivată poate moșteni de la clasa de bază atribute și metode. Moștenirea permite ca o clasă să fie definită ca un caz special al unei clase mult mai generale și să preaia de clasa de bază atribute, metode.Astfel, clasele derivate sunt subclase ,iar clasele generatoare ,ce au caracteristici mai generale sunt superclase.Procesul de formare a unei super clase se numește generalizare ,iar formarea unei subclase se numește specializare.
Conexiunile care se prezintă între obiecte sunt materializate prin mesaje . Un mesaj reprezintă o cerere a unui obiect emitent către alt obiect receptor, prin care emitentul îi solicit receptorului să execute una dintre metodele sale.Emitentul și receptorul pot reprezenta unul și același obiect.
Într-o bază de date orientate obiect, accesul la date se realizează prin intermediul unei hărți a ierarhiilor și relațiilor claselor de obiecte. De asemenea ,se poate realiza gruparea sau partiționarea fizică a datelor, tehnică care poartă numele de Catering.
“BDOO sunt utilizate în domenii precum:simularea și modelarea diferitelor fenomene și procese, administrarea documentelor, proiectele CASE (Computer Aidem Software Engineering), CAD (Computer AidedDesign), CAM (Computer Aided Manufacturing), CAE (Computer Aided Engineering), multimedia, ingineria cunoașterii.” [1]
Caracteristici ale bazelor de date orientate obiect
Principalele caracteristici ale unei baze de date orientate obiect sunt:
“Sunt tratate în mod unitar (ca obiecte): datele, programele, comunicația, de unde rezultă independența totală între ele.
Comunicația și distribuirea sunt asigurate atât între date, cât și între programe.
Structura de date este simplificată foarte mult, de unde rezultă ușurința în utilizare și portabilitatea ridicată a sistemelor rezultate.
Pot fi abordate foarte multe domenii din lumea reală în care se regăsesc cele mai diferite tipuri de date.
Se asigură: accesul neprocedural, comunicația, portabilitatea, deschiderea aplicațiilor cu baze de date.”[17]
Avantajele bazelor de date orientate obiect
Sub aspectul avantajelor aduse de structurarea orientată obiect a datelor se pot menționa și alte avantaje, cum ar fi:
ușurința proiectării și reutilizării codului, astfel odată testată funcționarea corectă unor obiecte într-o aplicație, acestea pot fi utilizate și în alte aplicații.
grad înalt de abstractizare, astfel proiectantul și utilizatorii pot obține o imagine de ansamblu, , fără a cunoaște detaliile care au contribuit la construcția obiectului;
siguranța datelor, dat fiind faptul că obiectele se pot accesa decât prin metodele lor, se asigură confidențialitatea și se diminuează frecvența apariției erorilor legate de manipularea greșită a datelor.
Baze de date distribuite (BDD)
Conceptul de baze de date distribuite (BDD)
Datorita progreselor înregistrate în tehnologia BD a fost necesara implementarea unei baze de date care elimină o parte din neajunsurile bazelor de date centralizate, rezolvând problema insulelor de informații. Astfel, bazele de date ditribuite au apărut ca o necesitate, în special în cazul rețelelor de calculatoare, pentru a sprijini gestionarea datelor în situația când acestea se regăsesc fizic în diferite puncte ale rețelei.
Cercetările în domeniul BDD au început în anii 1970 dar adevăratele sisteme distribuite au început să apară pe piață pe la mijlocul anilor 1980: ORACLE SQL*STAR, INGRES/STAR, VAX Data Distribution. Bazele de date care sunt dispersate geografic se spune că sunt distribuite.”O bază de date distribuită permite ca o colecție de relații, dintr-o bază de date, care se afla pe un numar mare de mașini care lucrează sub diverse sisteme de operare și sunt legate prin diferite rețele de comunicație, să poată fi utilizate ca și cum ar fi o singură bază de date pe o singură mașină.”[2]
Principalele cracteristici ale BDD sunt :
Organizarea a datelor în sisteme distribuite este, asemănătoare cu organizarea datelor în baze de date locale (modele de date, metodologii de proiectare, obiective, etc.), la care se adaugă unele aspecte specifice;
BDD sunt manipulate de utilizator fără ca acesta să cunoască locul în care se află datele;
“Datele sunt multiplicate din diferite considerente (fiabilitate, performanță, frecvența de utilizare, siguranță) dar acest lucru este invizibil pentru utilizator;”[9]
Obiectivele bazelor de date distribuite sunt:
creșterea siguranței sistemului și a disponibilității datelor;
descentralizarea resurselor sistemului;
mai bună utilizare a resurselor;
sporirea adaptabilității sistemului la modificările din structura organizatorică.[4]
Într-o bază de date distribuită există patru moduri de alocare a datelor :
Centralizată – baza de date se află în întregime pe un singur site din rețea, cu utilizatori distribuiți în întreaga rețea;
Partiționată(fragmentată) – baza de date este partiționată în mai multe fragmente disjuncte, fiecare fragment fiind atribuit unui site;
Replicare completă – presupune menținerea unei copii complete a BD pe fiecare site;
Replicare selectivă – această strategie este o combinație între partiționare, replicare și centralizare cu scopul de a se cumula, pe cât posibil, avantajele fiecărei strategii și să se elimine dezavantajele.
BDD omogene și eterogene
Bazele de date distribuit sunt folosite pentru a putea accesa atat datele stocate in baze de date locale cat și datele stocate in baze de date aflate la distanță. Sunt două tipuri de baze de date distribuite: omogene și eterogene.
Figura 1.3 Baza de date distribuită omogenă[14]
Un sistem de gestiune a bazelor de date în care ruleaza o rețea de două sau mai multe baze de date se numeste sistem de baze de date distribuita omogen.
Într-un sistem de baze de date distribuit eterogen presupune existența a cel puțin două sisteme diferite de gestiune a bazelor de date în care există o rețea de două sau mai multe baze de date .
Figura 1.4 Baza de date distribuită eterogenă[14]
1.3.3 Avantajele și dezavantajele unei BDD
Ioan Dorso [4] enumera principalele avantajele si dezavantaje ale bazelor de date distribuite :
Avantaje:
“Partajarea datelor și gestiunea distribuită a acestora;
Fiabilitatea și disponibilitatea datelor – fișierele distruse se pot reface rapid folosind replici aflate pe alte site-uri, iar o greșeală într-o bază de date distribuită va afecta de cele mai multe ori o singură partiție, și nu toată baza de date;
Prelucrarea accelerată a cererilor;
Reducerea relativă a costurilor – costă mai puțin să se creeze o rețea de computere mai mici, dar cu puterea totală a unui singur computer mare.
Dezavantaje :
Complexitatea – trebuie depusă muncă suplimentară de către administratorii bazelor de date pentru se a asigura că natura distribuită a sistemului este transparentă (invizibilă pentru utilizator);
Securitatea – toate partițiile bazei de date sunt securizate. Drept urmare și infrastructura e securizată ;
Dificultatea de a menține integritatea – dacă baza de date este concepută greșit, atunci asigurarea integrității poate suprasolicita și chiar bloca rețeaua dintre noduri;
Lipsa de experiență – câmpul de activitate fiind dificil, nu există documentație suficientă despre experiența acumulată în diverse proiecte concrete.”
CAPITOLUL II
Utilizare MySQL si PHP
2.1 Notiuni generale MYSQL
2.1.1 Introducere în MySQL
MySQL reprezintă un SGBD foarte utilizat, produs de compania suedeză MySQL AB. MySQL include un server SQL, programe client pentru accesul la server, instrumente administrative și o interfață de programare pentru scrierea propriilor dumneavoastră programe.
Accesul la serverul MySQL este permis mai multor utilizatori autorizați. Astfel, MySQL este un server multi-user (mai mulți utilizatori) și mulți-thread (mai multe fire de execuție). MySQL folosește limbajul SQL (Structured QueryLanguage pentru interogarea bazelor de date. Limbajul SQL conține limbajul de definire a datelor (DDL- Data Definition Language) și limbajul de manipulare a datelor (DML-Data Manipulation Language).
Istoria dezvoltării MySQL începe din anul 1979 și a câștigat de mai multe ori premiul cititorilor – Linux JournalReaders' Choice Award. MySQL nu este un proiect Open Source, deoarece este necesară o licență în anumite condiții. Totuși, MySQL se bucura de o amplă popularitate în comunitatea Open Source, deoarece codul sursa este disponibil pentru a fi modificat, MySQL fiind distribuit gratuit sau la un cost redus.
MySql este întâlnit de cele mai multe ori cu limbajele de programare JAVA sau PHP dar există multe scheme API (Application Programming Interfaces) disponibile pentru MySQL care fac posibila scrierea aplicațiilor și în alte limbaje de programare pentru accesarea bazelor de date MySQL.
“Pentru a administra bazele de date MySQL se poate folosi un modul linie de comandă sau o interfață grafică”[12] cum ar fi MySQL Administrator, MySQLQuery Browser și phpMyAdmin. MySQL poate fi proiectat pe multe dintre platformele software existente .
Serverul de baze de date MySQL este foarte fiabil și ușor de utilizat. Inițial a fost dezvoltat pentru a manipula baze de date de dimensiuni mari mult mai rapid decât soluțiile existente.
2.1.2 Utilizarea bazei de date MySQL
Înainte de a lucra cu o bază de date trebuie să depozităm date în baza noastră de date. Inserarea datelor se face cu instrucțiunea SQL: INSERT. Folosind această instrucțiune putem insera valori pentru a completa în ordine coloanele tabelei sau putem să completăm numai anumite coloane în cazul în care avem date parțiale despre o anumită înregistrare sau unele câmpuri din înregistrare sunt opționale.
Regăsirea datelor din baza de date se face folosind instrucțiunea SELECT, prin selectarea acelor linii din tabelă care corespund criteriului specificat. Acest lucru se poate face folosind clauza WHERE. MySQL accepta un set complet de operatori de comparație și expresii regulate.
În afară de regăsirea datelor, o bază de date poate fi actualizată prin utilizarea unei instrucțiuni UPDATE. Dacă nu dorim actualizarea tuturor liniilor din tabel, putem limita actualizarea la numite linii folosind clauza WHERE și putem limita numărul total de linii afectate prin specificarea clauzei LIMIT.
Folosind instrucțiunea ALTER TABLE putem modifica structura tabelelor din baza de date. MySQL permite să faceți câte modificări doriți într-o instrucțiune ALTER TABLE.
Ștergerea de înregistrări dintr-o bază de date se face utilizând instrucțiunea DELETE. Dacă dorim să ștergem anumite linii le putem specifica printr-o clauză WHERE.
Se poate elimina o tabelă întreagă folosind instrucțiunea DROP TABLE sau chiar putem elimina o întreagă bază de date cu instrucțiunea DROP DATABASE.
2.1.3 Avantaje MySQL
MySQL are multe avantaje printre care:
Performanța ridicată – “ programatorii pretind că MySQL este cel mai prompt sistem de baze de date pe care îl puteți găsi;”[12]
Cost scăzut – MySQL este disponibil gratuit sub o licență Open Source sau la un preț mic sub o licență comercială pentru utilizări interne .
Ușurință în utilizare – majoritatea bazelor de date moderne utilizează SQL.” MySQL este un sistem de baze de date, a cărui configurare și administrare sunt mult mai simple decât în cazul altor produse asemănătoare.”[6]
Portabilitate – MySQL rulează pe numeroase variante de UNIX și pe Microsoft Windows.
Cod sursă – se pot obține și aduce modificări la coșul sursă al unei baze de date MySQL.
Disponibilitatea suportului pentru MySQL – acest produs are o companie părinte care oferă suport, instruire, consultanță și certificare prin intermediul MySQL AB.
2.2 Pagini Web statice
2.2.1 Pagini Web
World Wide Web sau WWW constituie elementul de bază al Internet-ului, fiind un suport pentru text, animație, grafică și sunet. Documentele care se află în spațiul Web sunt cunoscute sub numele de pagini Web.
Paginile Web sunt memorate într-un server specializat și gestionate printr-un software special. Afișarea și regăsirea paginilor web se realizează prin intermediul navigatoarelor Web care poartă denumirea de browser-e.
O pagină Web poate conține text, liste, meniuri, tabele, formulare, elemente grafice, script-uri, stiluri, obiecte multimedia dar si asa-numiți viruși informatici precum și alte funcțiuni dăunătoare (malițioase) dar greu de văzut sau de recunoscut. Mecanismul denumit hypertext permite crearea de căi de acces între documente, astfel: atunci când este accesată o legătură, cum ar fi un element grafic sau o porțiune de text, navigatorul încarcă fișierul și îl afișează.
Paginile Web pot fi asemănate cu paginile unei cărți ce este organizată într-un format care implică citirea ei într-o anumită ordine, de exemplu de la prima pagină la ultima pagină. Însă, acest mod de organizare oferă și posibilitatea de a crea o strategie proprie de navigare prin informațiile existente, deoarece permite sărirea anumitor pagini. În cazul paginilor Web navigarea de la o pagină la alta se realizează prin accesarea hyperlink-urilor existente în pagină.
În funcție de natura conținutului, paginile Web se clasifică în pagini Web statice și dinamice.
2.2.2 HTML
Paginile Web statice se caracterizează prin faptul că vor conține doar elemente HTML iar codul sursă vizualizat în navigator este identic cu cel al fișierului stocat pe disc, fapt pentru care paginile statice nu oferă interactivitate.
“HTML este acronimul de la HyperText Markup Language și reprezintă un limbaj folosit pentru crearea și marcarea (formatare, aranjare) unui document astfel încât să poată fi publicat pe World Wide Web și vizualizat cu ajutorul unui browser (Internet Explorer, Netscape, Opera etc.).”[18]
Termenul de Hypertext se referă la mecanismul prin care se realizează legături între diferite documente. O pagină de hypertext este o pagină care, pe lângă textul propriu-zis, mai conține și legături către alte informații web, de obicei alte documente web care tratează același subiect ca și în pagina de unde se fac legăturile, aceste legături fiind recunoscute prin subliniere sau culoare, pentru a le deosebi de textul simplu. Astfel pentru un subiect oarecare se poate accesa de la o pagină simplă de hypertext, cu ajutorul legăturilor, o documnetație impresionanată. În esență, hypertext-ul este perceput ca un text cu legături către alte texte.
“O caracteristică importantă a limbajului HTML este portabilitatea, adică orice document sursă HTML va arăta identic pe orice tip de calculator și în orice sistem de operare, interpretarea fiind realizată de numeroasele navigatoare.”[10]
Fișierele HTML pot fi create cu editoare de text precum NotePad sau alte editoare specializate, cum ar fi Crimson Editor și sunt salvate cu extensia .html sau .htm .
Editoarele HTML pot fi clasificate în editoare clasice și editoare de tipul WYSIWYG (What You See Is What You Get – ceea ce vezi este ceea ce obții). Diferența între cele două tipuri de editoare constă în faptul că în cea de-a doua categorie, utilizatorii se ocupă decât de partea grafică scrierea codului HTML rămânând în seama acestor programe.
Un fișier HTML poate conține ca orice document un titlu, un paragraf, un tablel sau o imagine. Pe lângă acestea un fiser HTML mai conține și niște elemente denumite tag-uri care îi sugerează browser-ului care este titlul documentului, care este paragraful, care este tabelul sau care este imaginea.
Conținutul paginilor web realizate în HTML nu pot fi modificate dacă au fost încărcate pe un server decât dacă se aduc înapoi pentru a fi modificate. Acest lucru este un dezavantaj al paginilor Web statice, având în vedere că operația necesita foarte mult timp .Un alt dezavantaj al paginilor Web statice îl constituie faptul că lucrul cu bazele de date nu este posibil.
2.3 Pagini web dinamice
În comparație cu tehnologiile Web statice, tehnologiile Web dinamice oferă o simplitate sporită în manipularea conținutului paginilor Web. Deși paginile dinamice conțin puțin text, ele pot extrage informațiile necesare din alte aplicații, cum ar fi bazele de date.Astfel, informațiile sunt introduse într-o bază de date și pot fi accesate de câte ori cineva cere acest lucru.
Caracteristici ale paginilor web dinamice:
“conținutul lor este creat dinamic și poate diferi la accesări diferite;
oferă interactivitate;
posibilități de interacțiune.”[11]
Clasificarea paginilor dinamice:
Pagini dinamice generate client-side;
Pagini dinamice generate server-side.
2.3.1 Pagini dinamice generate client-side
Dintre cele mai importante tehnologii utilizate pentru crearea de pagini dinamice pe partea de client, amintim:
Scripturile pe partea de client. Cu ajutorul scripturilor se crează diferite efecte, se realizează calcule sau diverse elemente de animație a textului și a imaginilor.Aceste scripturi sunt secvențe de program incluse prin marcatorul <SCRIPT> în pagina HTML sau sunt incluse în proprietățile unor componetente HTML ca răspuns la diferite evenimente.
Cel mai cunoscut limbaj de script client-side este JavaScript.
DHTML (Dynamic HTML) este o combinație de HTML, script-uri și CSS care folosite împreună, pot realiza pagini Web interactive și atractive.
Applet-uri Java sunt aplicații de mici dimensiuni scrise în limbajul Java. Applet-urile rulează pe aproape toate calculatoarele, dar pentru funcționarea acestora este necesară instalarea unei mașini virtuale Java .
Applet-urile sunt incluse prin intermediul marcatorilor <APPLET> sau <OBJECT> în cadrul paginilor HTML.
Controale ActiveX asigura interactivitatea paginilor Web. Controalele ActiveX rulează pe platforma Windows și au fost dezvoltate în special pentru browser-ul Internet Explorer.
Acestea sunt asemănătoare applet-urilor și incluse în cadrul paginii Web prin intermediul marcatorului <OBJECT>.
Elementele multimedia folosesc produsul Macromedia Flash și sunt utilizate pentru meniuri, jocuri, filme de animație.
Elementele multimedia sunt întâlnite sub formă de fișiere SWF multimedia și sunt incluse în pagină Web prin intermediul marcatorului <OBJECT>.
2.3.2 Pagini dinamice generate server-side
Paginile dinamice generate pe partea de server sunt paginile web care se modifică atunci când o pagină web este încărcată sau vizitată și utilizează server-side scripting.
Interpretorul server-side scripting are rolul de a executa scripturi la cererea serverului de Web și de a trimite spre serverul Web rezultatul execuției scripturilor sun formă de conținut HTML.
Fiecare interpretor are asociat un limbaj de server-side scripting. Limbajele server-side scripting au posibilitatea de a accesa datele citite în formulare HTML și implementează biblioteci de acces la resurse externe cum ar fi o bază de date. Exemple de limbaje server-side scripting: PHP (Personal Home Pages), ASP (Active Server Pages), ASP.NET și JSP (Java Server Pages).
Figura 2.1 Generarea paginilor dinamice pe server [11]
Caracteristicile ale paginilor Web dinamice generate server-side:
“ necesită un procesor pentru paginile dinamice sau un mediu de execuție;
într-o pagină de script (ASP, JSP, PHP) pot fi îmbinate limbajul HTML și secvențe de cod;
secvențele de cod sunt executate pe partea de server, înainte de a trimite pagina la client există posibilitatea de a particulariza paginile în mod dinamic ;
oferă posibilitatea de interacțiune cu baze de date diferite.” [11]
2.4 Concepte PHP
2.4.1 Caracteristici generale ale limbajului PHP
“Inițial PHP era acronimul de la Personal Home Page, dar a fost modificat pentru a se alinia la convenția de denumire recursivă GNU(Gnu’s not Unix) și acum este acronimul pentru Hypertext Preprocessor.”[6]
PHP este un un limbaj de tip server side script, utilizat la scară largă,creat special pentru a dezvolta spații Web prin introducerea codului PHP în fișiere HTML.
Acest limbaj a fost conceput în anul 1994 de Rasmus Lerdorf. A fost adoptat de alți oameni și a trecut prin patru modificari importante pentru a ajunge la o versiune stabilă. Versiunea curentă a limbajului PHP este 5, fiind o rescriere completă a motorului Zend care stă la baza acestui limbaj. În aprilie 2007, PHP era în uz pe mai mult de 20 milioane de domenii din întreaga lume,iar acest număr crește rapid.
Spre deosebire de paginile HTML, paginile PHP pot fi verificate doar dacă sunt găzduite pe un server web care are instalat PHP. Când accesăm o pagină cu extensia .HTML/.HTM Web-serverul va transmite pagina HTML către browser fără nici o prelucrare. Dacă este vorba de o pagină PHP serverul Web o trimite interpretorului PHP. Interpretorul PHP parcurge pagina, execută instrucțiunile PHP întâlnite și generează dinamic pagina HTML care este trimisă browser-ului spre afișare. Astfel PHP permite furnizarea unui conținut Web dinamic, care se modifică automat de la o zi la alta sau de la un minut la altul.
Figura 2.2 Funcționarea motorului PHP [16]
Codul PHP este o combinație între limbajul C, Java și Perl și este delimitat de coduri de start și de sfârșit (<?php…?>) ce permit intrarea și ieșirea din modul PHP. Codul PHP este format din instrucțiuni de afișare, PHP fiind folosit în principal pentru a genera cod HTML, sau instrucțiuni de conexiune la baze de date, intrucțiuni de trimitere email-uri, instrucțiuni de citire, scriere, manipulare fișiere.Fișierele PHP au extensia .php și pot fi scrise în Notepad++ sau într-un editor specializat, care va indica și numărul liniilor, lucru util la depanarea scripturilor.
PHP este un instrument de frunte pentru dezvoltarea aplicațiilor în Web, putând fi construite ușor mecanisme de autentificatre utilizatori, sisteme de gestiune a conținutului, gestionare de liste de mesaje, forumuri Web, generarea automată de documente pdf.
2.4.2 Avantajele limbajului PHP
În comparație cu alte produse asemănătoare, PHP are mai multe puncte forte,printre care:
Performanța ridicată – PHP este foarte eficient doarece utlizând un server ieftin puteți oferi milione de accesări pe zi;
Interfețe pentru multe sisteme de baze de date diferite – PHP are conexiuni disponibile la multe sisteme de baze de date:MySQL, PostgreSQL, mSQL,Oracle, Sybase, Hyperwave, Informix, FilePro, dbm;
Biblioteci încorporate pentru multe din task-urile Web obișnuite – PHP are funcții pentru realizarea multor operații utile legate de Web: se pot genera pe loc imagini GAF, se poate realiza conectarea la alte servicii de rețea, se pot trimite mesaje e-mail, se pot genera documente PDF;
Cost scăzut – PHP este un produs distribuit în mod gratuit;
Ușurință în învățare și utilizare – PHP este un limbaj comod pentru începători, sintaxa acestui limbaj fiind bazată pe sintaxa altor limbaje de programare, în principal C și Perl;
Suport puternic orientat spre obiecte – “cu PHP există posibilitatea de a alege programarea procedurală sau programarea orientată obiect”.[6] Versiunea 5 a limbajului PHP are caracteristici spre obiecte bine proiectate;
Portabilitate – PHP este disponibil pentru multe sisteme de operare .Se poate scrie cod PHP pe sisteme de operare gratuite si comerciale de Unix, sau pe diferite veriuni de Microsoft Windows;
Disponibilitatea codului sursă – PHP este un produs Open Source, deci utilizatorii au acces la codul sursă, pe care îl pot modifica sau adauga ceva la limbaj;
Disponibiliatatea suportului – Compania care dezvoltă motorul limbajului PHP, Zend Technologies, asigură dezvoltarea limbajului oferind pe baza comercială atât suport, cât și software înrudit.
2.4.3 Tipuri de date in PHP
Variabilele sunt elemente ce au o anumită valoare la un moment dat. Valoare unei variabile se poate schimba de-a lungul execuției unei aplicații.
Tipul variabilei nu este definit de programator ci este determinat cand este rulat de PHP, în funcție de ipostaza în care variabila este folosită.
Tipuri de variabile:
Integer – numere întregi
Double – numere reale
String – șiruri de caractere
Array – serii de date
Object – reține obiecte
Prin precizarea caracterului $ variabilele sunt diferențiate de celelalte elemente ale limbajului Astfel, o variabilă are forma $nume.
Constantele sunt entități care nu își schimbă valoarea pe parcursul execuției. Este recomandat ca numele constantelor să fie scris cu majuscule pentru a fi mai ușor identificate. Atunci când se folosesc, se specifică doar numele, fără ghilimele sau $.
2.4.4 Accesarea datelor din formularele HTML
Accesarea variabilelor din formularele HTML se face prin intermediul metodelor $_POST și $_GET. Metoda GET este folosită de browser-e pentru a trimite cereri către servere. Odată cu cererea se pot transmite și mici bucăți de informații către server care pot fi date introduse de utilizatori , în formular și care sunt adăugate la sfârșitul URL-ului sub forma pagină.php?parametru=valoare. Majoritatea paginilor pe care le vizualizăm pe internet sunt obținute prin intermediul metodei GET. Exemple de request-uri de tip GET: scrierea unui URL în bara de adrese a browser-ului , accesarea unui link, sau a unei imagini.
Metoda POST este folosită pentru a transmite informații către server . În comparație cu metoda GET care permite doar o cantitate limitată de date să fie transmisă de la browser la serverul Web, metoda POST dispune de limite mai mari, fiind standardul de transmitere a datelor. Exemple de request-uri de tip POST: upload-ul unui fișier pe server, salvarea unui post pe blog.
CAPITOLUL III
Proiectarea aplicației pentru comercializarea animalelor și produselor destinate acestora
Aplicația de față a fost proiectată pentru a descrie activitatea unei firme de comercializare a animalelor de companie și produselor destinate acestora.
Site-ul a fost proiectat în așa fel încât să ofere o navigare ușoară utilizatorilor. Astfel, site-ul dispune de un meniu de navigare care furnizează trimiteri rapide și directe către secțiunile site-ului: Acasa, Rase pisici, PetLand Shop, Despre noi și Contact.
Firma dispune de o gamă largă de produse grupate în mai multe categorii precum: hrana, accesorii, produse igienă, vitamine, necesități și jucării. Fiecare produs are o pagină de prezentare care cuprinde o descriere a produsului, o imagine de prezentare, preț, producător etc, dar și un buton de cumpărare a produselor , a cărui accesare permite utilizatorului plasarea unei comenzi. Pentru finalizarea comenzii utilizatorul trebuie să-și introducă datele necesare pentru întocmirea facturii care se va emite după înregistrarea informațiilor despre client în baza de date.
Mai mult decât atât firma oferă utilizatorilor sfaturi despre alegerea animalului de companie, informații despre diverse animale și îndrumări despre îngrijirea acestora.
Aplicația prezentată conține pe lângă interfața cu utilizatorul și un panou de administrare care permite gestionarea produselor și vizualizarea facturilor de către administrator.
Pentru a dezolta un site este necesar un software a cărui infrastructură asigură găzduirea site-ului Web. Pentru aceasta am instalat pachetul de aplicații EasyPHP: server de web (Apache), server de baze de date (MySQL), interpretare pentru scripturi scrise în limbajele PHP și MySQL pentru a putea folosi calculatorul personal ca un server web care îmi permite testarea aplicației.
Următorii pași care trebuie parcurși pentru a crea un site sunt implementarea bazei de date și crearea paginilor Web.
3.1 Prezentarea bazei de date
Baza de date a fost creată în EasyPHP care este un software ce ușurează munca administratorilor de baze de date deoarece permite o conexiune simultană la serverele de baze de date MySQL, Oracle, PostgreSQL.
Fig3.1 Structura bazei de date
Fig3.2 Tabela produse
Structura tabelei produse este următoarea:
ID_produs: câmp de tip întreg de lungime 200 caractere , cu proprietatea de incrementare automată folosit pe post de cheie primară cu valoare unică pentru fiecare produs;
Produs: câmp de tip intreg de lungime 100 caractere conține denumirea produsului în vederea afișării acesteia în titluri sau link-uri;
Inventar: câmp de tip intreg de lungime 100 caractere conține numarul total de produse disponibile în stoc;
Tip: câmp de tip text de 200 de caractere care conține categoria in care este introdus produsul;
Vendor: câmp de tip text de 200 de caractere care conține denumirea mărcii produsului.
Fig3.3 Tabela comandă
Structura tabelei comandă este următoarea:
ID_comandă: câmp de tip întreg de lungime 20 caractere, are proprietatea de incrementare automată folosit pe post de cheie primară cu valoare unica pentru fiecare comandă;
Comandă: câmp de tip text de 200 de caractere care conține denumirea comenzii;
Data: câmp de tip data precizează data în care a fost întocmită comanda;
Client: câmp de tip varchar de lungime 100 de caractere care conține numele clientului;
Stare_de_plată: câmp de tip varchar de lungime 50 de caractere care conține starea în care se află comanda;
Starea_împlinire: câmp de tip varchar de lungime 50 de caractere care conține starea plații comenzii;
Total: câmp de tip întreg de dimensiune 200 caractere salvează suma totală a comenzii.
Fig3.4 Tabela colecții
Structura tabelei colecții este următoarea:
ID_colecții: câmp de tip întreg de lungime 200 caractere, are proprietatea de incrementare automată folosit pe post de cheie primară cu valoare unică pentru fiecare comandă;
Titlu: câmp de tip varchar de lungime 100 de caractere care conține denumirea colecției;
Condiții_de_produse: câmp de tip text de 200 de caractere care conține condițiile produselor.
Fig3.5 Tabela clienți
Structura tabelei clienți este următoarea:
ID_client: câmp de tip întreg de lungime 20 caractere, are proprietatea de incrementare automată folosit pe post de cheie primară cu valoare unică pentru fiecare comandă;
Nume: câmp de tip varchar de lungime 100 de caractere care conține numele clientului;
Localizare: câmp de tip varchar de lungime 200 de caractere care conține adresa clientului;
Comenzi: câmp de tip text de 200 de caractere care conține numele comenzii.
Ultima_comanda: câmp de tip varchar de lungime 200 de caractere care conține numărul ultimei comenzi;
Suma_total_cheltuită: câmp de tip întreg de dimensiune 200 caractere salvează suma totală cheltuită.
Prezentarea paginilor site-ului
Paginile site-ului au fost create folosind aplicația de dezolvare web Adobe Dreamweaver C4S. Acest software prevede o interfață intuitivă pentru realizarea și editarea site-urilor HTML și înglobează un suport pentru tehnologii web cum sunt CSS, JavaScript și numeroase limbaje de programare server adiționale, incluzând ASP.NET, ColdFusion, JavaServer Pages (JSP) și PHP. Astfel, design-ul paginilor site-ului a fost executat cu ajutorul stilurilor CSS(Cascading Style Sheets) iar, limbajul de programare folosit pentru dezvoltarea aplicației Web a fost PHP.
Aplicația este alcătuită din 15 fișiere php cu sprijinul cărora utilizatorii pot vizualiza produsele pe categorii, pot căuta anumite produse și pot realiza comenzi. Mai mult aplicația oferă și un panou de administrare a produselor care permite adăugarea și eliminarea de produse și vizualizarea facturilor emise.
Primul pas în dezolvarea aplicație îl reprezintă conectarea la baza de date în scopul extragerii informației necesare afișării produselor și a altor secțiuni din site (Fig. 3.6). Conectarea se efectuează folosind funcția mysql_connect( ); folosind ca parametrii de conectare adresa serverului, numele de utilizator și parola. Odată conectat la server trebuie să selectăm baza de date din care dorim să extragem sau să adăugăm informații. Selectarea se realizează folosind funcția mysql_select_db( ); având ca parametru numele bazei de date cu care dorim să lucrăm.
Fig3.6 Conectarea la baza de date
Informațiile site-ului sunt încărcate dinamic în interiorul fișierului index. php (Fig. 3.8 ) cu ajutorul variabilei globale $_GET. Unele informații sunt salvate în sesiuni pentru a putea face trecerea de la o pagină la alta menținând în sesiune informații ascunse vizitatorului.
Pagina cuprinde un meniu cu paginile site-ului și categorii de produse și secțiunea de afișare a conținutului (informații, produse, formulare etc. ) .
Fig 3.8 Pagina index.php
Produsele sunt grupate în baza de date pe categorii și sunt afișate în funcție de valoarea variabilei $_GET[scat] care reprezintă subcategoria din care produsele fac parte. Dacă există produse în subcategoria selectată, produsele sunt afișate folosind o structură repetitivă de parcurgere a valorilor returnate.
Codul de afisare a butonului Produse din pagina principala este urmatorul (Fig. 3.9)
Fig. 3.9 Codul butonului produse
Fig. 3.10 Pagina produs.php
Pagina de afișare a produsului include denumirea produsului, imaginea acestuia, o scurtă descriere a produsului, prețul și alte informații despre produs (Fig. 3.10 ). Toate aceste informații sunt extrase din baza de date în funcție de codul de produs oferit de variabila $_GET[id] și le afișează folosind următoarea structură HTML (Fig. 3.11 )
Fig. 3.11 Secvența de afisare a unui produs
În codul prezentat am folosit ca funcție specială, funcția number_format() care acționează asuprea modului de afișare a unei valoari astfel: number_format($prod['pret'],2,',','.'); transformă prețul din 3500 în 3500,00 .
Figura 3.12 Pagina cos.php
Pe lângă informațiile care descriu produsul în pagina de afișare a produsului există butonul de adăugare în coș. Acesta face referință la pagina cos.php (Fig. 3.12) care în momentul accesării verifică dacă există setat un cod de coș de cumpărături în baza de date pentru utilizatorul curent. Dacă nu există crează unul și îl salvează în sesiune pentru a crea un coș unic pentru fiecare client în parte. Bazat pe codul coșului de cumpărături generat, produsul este introdus în tebela coș de cumpărături și folosit pentru afișarea într-o listă de cumpărături.
Pentru a extrage datele despre produse din tabela produse și tabela cos_cumpărături în funcție de codul coșului de cumpărături salvat în sesiune se utilizează următoarea comandă sql de extragere (Fig. 3.13)
Figura 3.13 Comanda de extragere a datelor despre produse
Afișarea rezultatelor recepționate de la baza de date se realizează folosind o structură repetitivă de tip while care afișează datele într-o structură tabelară conform codului (Fig. 3.14)
Figura 3.14 Afișarea datelor despre produse in coșul de cumpărături
Pagina coș de cumpărături mai conține trei butoane. Butonul Adăugare în coș are funcția de a adauga produse în coș .Dacă se dorește ștergerea unui produs din coș, acest lucru se face prin apăsarea butonului Clear all cart items.
Ștergerea coșului reprezintă ștergerea sesiunii clientului și se realizează accesând butonul Clear all cart. Dacă utilizatorul își dorește să facă o nouă listă de cumpărături va trebui să apese din nou butonul de cumpărare a produselor.
Butonul Finalizează comanda (checkout) face referință la formularul de comandă (Anexa 1) care oferă posibilitatea cumpărării produselor din coș după introducerea datelor personale și selectarea metodei de plată. După apăsarea butonului de comandă informațiile sunt introduse în tabelă clienți.
Comanda sql de introducere a informațiilor clientului în baza de date este ilustrată de ( Fig 3.15).
Figura 3.15 Comanda sql de introducere a informațiilor despre client
În urma inserării datelor folosim funcția php mysql_insert_id(); pentru a returna codul de client generat automat de tabela. Pe baza acestui cod returnat executăm comanda sql de introducere a datelor în tabela factura din coșul de cumpărături (Fig. 3.16) pentru generarea facturii clientului, unde total_fără_tva reprezintă prețul total al produselor din coșul de cumpărături , iar $tva reprezintă valoarea TVA-ului calculat pentru prețul total al produselor.
Figura 3.16 Inserarea datelor în tabela facture
După crearea comenzii se generează link-ul Finalizare Comanda, care are referință către fișierul factura.php (Fig. 3.17) care afișează factura pe numele clientului pentru produsele din coșul de cumpărături.
Figura 3.17 Finalizare Comanda.php
Factura folosește comada din (Fig. 3.18) pentru exatragerea datelor de facturare și a informațiilor clientului în funcție de id-ul facturii din baza de date generat de către variabia $_GET[id].
Figura 3.18 Comanda de exatragere a datelor de facturare și a informațiilor clientului
Pagina de contact (Anexa 2 ) oferă posiblitatea transmiterii de mesaje către administatorii magazinului folosind funcția php mail();. Transmiterea mesajelor se realizează online prin completarea unui fomular ale cărui informații sunt procesate folosind codul ( Fig. 3.19):
Figura 3.19 Funcția php mail( );
Panoul de administrare oferă posibilitatea adăugării de produse noi în site, de configurare a categoriilor de produse și de vizualizare a facturilor . Accesul la panou se face prin accesarea adresei http://meagainst2u.wix.com/laura.
În secțiunea produse avem listate produsele din baza de date sub formă de link direct către formularul de modificare .Există un câmp de adăugare a unui nou produs în care trebuie să introducem titlul produsului și va genera în mod automat un nou produs în tabelă folosind codul afișat în ( Fig.3.20)
Figura 3.20 Secventa pentru adaugarea unui nou produs in site
Modificarea proprietăților unui produs se face accesând link-ul Adăugă informații care ne va duce la un formular ce cuprinde următoarele elemente: numele produsului folosit sub formă de titlu în afișările de pe site, descrierea produsului pentru afișarea lor în pagina de prezentare a produsului, prețul produsului în Lei, cantitatea produselor din baza de date, numele producătorului, imaginea reprezentativă a produsului, categoria din care acesta face parte.
Figura 3.21 Adăugare informații produs
Pentru încărcare a fișierelor în site folosim variabila globală $_FILES împreună cu diverse informații referitoare la dimensiunea fișierului încărcat la tipul acestui fișier, numele fișierului și locația sa temporară.
Figura 3.22 Cod pentru încărcare imagine
În afară de câmpurile pentru adăugarea caracteristicilor unui produs se mai găsește un buton de ștergere a produselor care ne arată modalitatea de eliminare a informațiilor din site. Butonul de ștergere transmite variabila $_GET[sterge] care cuprinde codul produsului din baza de date și care rulează astfel:
Figura 3.23 Cod pentru ștergere produs din baza de date
Produsele sunt grupate în categorii și subcategorii. Cu ajutorul formularului de introducere categorii, din secțiunea categorii putem adăuga noi categorii în baza de date care pot fi considerate categorii principale sau subcategorii ale categoriilor principale deja existente.
Codul de salvare a categoriilor este următorul:
Figura 3.24 Inserarea unei categorii în baza de date
Codul de afișare a categoriilor și subcategoriile este următorul:
Figura 3.25 Afișarea unei categorii in pagina de administrator
În secțiunea facturi (Fig.3.26) putem vizualiza lista facturilor generate în baza de date, care sunt ordonate în funtie de data facturării.Pentru fiecare factură sunt precizate: număr comandă, data factură, ora comenzii, daca este efectuată plata, împlinire, prețul cu TVA, numele și prenumele clientului, adresa clientului, numărul de telefon și email.
Figura 3.26 Afișarea listei cu facturi
Afișarea listei facturilor se realizează folosind scriptul ( Fig.3.27)
Figura 3.27 Scriptul folosit pentru afișarea listei cu facturi
Concluzii
Cresterea rapidă care a avut loc în tehnologia informației și a comunicațiilor a dus la apariția magazinelor electronice care sunt implementate prin intermediul unui site web care este administrat de companie. Magazinul electronic oferă posibilitatea firmelor de a evolua și de asemenea generează o mulțime de avantaje atât firmei cât și clienților.
Chiar dacă există piedici ce pot părea majore în dezvoltarea comerțului electronic securitatea, acceptarea noilor modalități de plată, existența unei infrastructuri adecvate de telecomunicații – comerțul electronic este un domeniu cu potential extraordinar de dezvoltare. Este o zona care va cunoaște un avânt impresionant și care va contribui la regândirea comerțului tradițional. Deși ne aflăm într-o fază de început a comerțului electronic, în scurt timp, o serie tot mai largă de comercianți se vor orienta, chiar își vor reconsidera poziția, în această direcție. Aceasta datorita avantajelor magazinului virtual față de magazinul clasic: aria de adresabilitate devine mult mai largă, chiar universală, compararea prețurilor și caracteristicilor (sau calităților) produselor/serviciilor de către cumpărători se face într-un timp scurt și eficient, plata efectivă se realizează cu minim de efort și maxim de confort, iar costurile acestui business sunt comparabil mai mici decât cele presupuse de un magazin clasic.
Într-o lume în care concurența este acută, firmele mici primesc o șansă. Au posibilitatea de a concura direct cu cei consacrați deja, iar diferența va fi dată de calitatea produselor și serviciilor.
Comertul electronic este o realitate, iar cei care o ignora pierd avantaj competitiv.
Secretul este mentinerea focusului asupra clientului si indeplinirea promisiunilor (chiar daca
ele sunt facute in spatiul virtual), cu alte cuvinte – pentru a avea succes trebuie sa dai dovada de profesionalism. Traim intr-o lume cu nenumarate posibilitati, depinde de fiecare cum alege sa le cunoasca, sa si le insuseasca, iar apoi sa le valorifice.
Un alt avantaj al firmelor care au un site web este repartizarea rapidă a informațiilor care conduce la informarea în permanență a clienților cu noutățile care apar. Informațiile de pe site cu privire la ofertele promoționale a produselor, adăugarea de noi produse sau alte noutăți care apar pot fi actualizate permanent, în comparație cu informațiile din broșuri sau cataloage.
Primul pas în dezvolatarea unui site este conectarea la baza de date. Majoritatea informațiilor care sunt afișate pe site sunt gestionate de un SGBD. Folosirea unui sistem de gestiune a bazelor de date permite un control sigur asupra datelor, dar și realizarea de prelucrări asupra acestora și afișarea rezultatelor în rapoarte,liste.
Din cele prezentate putem observa importanța unui site în dezvoltarea strategiei de marketing a firmelor, dar și importanța bazelor de date fără de care nu ar fi posibilă funcționarea site-urilor .
Bibliografie:
Anca Gheorghiu, Corina Maria Bichis, Baze de date, Editura Victor, Bucuresti, 2004
Dumitru Todoroiu, Elena Nachita, Gloria Cerasela Crisan, Baze de date pentru economist, Editura Performatica, 2005
Dușmănescu Dorel, Baze de date, Editura Universității din Ploiești, 2005
Ioan Dorso, Baze de date, Editura Cibernetica MC, 2010
Ion Lungu , Baze de date Oracle –Limbajul SQL, Editura ASE, Bucuresti, 2005
Luke Welling, Laura Thomson, Dezvoltarea aplicatiilor Web cu PHP si MySQL, Editia a II-a , Editura Teora, Bucuresti, 2005
Pătrașcu Aurelia, Tănăsescu Ana, Dușmănescu Dorel, Baze de date. MS-Access. Teorie și aplicații, Editura Universității din Ploiești, 2006
Romica Trandafir, Mihai Nistorescu, Ion Mierluș-Mazilu, Bazele Informaticii si Limbaje de Programare – Baze de date relationale, Editura Conphys, Ramnicu Vâlcea, 2008
Sitar-Taut, Dan-Andrei, Baze de date distribuite, Editura Risoprint, Cluj-Napoca, 2005
Traian Anghel , Dezvoltarea aplicațiilor WEB folosind XHTML, PHP și MySQL, Editura Polirom , 2005
Traian Surcel, Radu Marsanu, Paul Pocatilu, Adriana Reveiu, Felician Alecu, Razvan Bologa, Tehnologii Web si Baze de Date, Editura Tribuna Economică , București, 2005
Toader C., Programarea aplicațiilor web cu PHP și MySQL, Ed. Risoprint, 2006
http://bd.ase.ro/documente/bd/Curs_BD_Lungu,Botha.pdf
http://mediadigitala.ro/index.php/baze-de-date-multimedia/38-baze-de-date-distribuite
http://php.net/usage.php
http://php.punctsivirgula.ro/form/
http://revistaie.ase.ro/content/8/ioniță.pdf
http://www.ghid-html.info/10-notiuni-generale-despre-html.html
http://www.mysql.com/
ANEXE
Anexa 1
Anexa 2
Bibliografie:
Anca Gheorghiu, Corina Maria Bichis, Baze de date, Editura Victor, Bucuresti, 2004
Dumitru Todoroiu, Elena Nachita, Gloria Cerasela Crisan, Baze de date pentru economist, Editura Performatica, 2005
Dușmănescu Dorel, Baze de date, Editura Universității din Ploiești, 2005
Ioan Dorso, Baze de date, Editura Cibernetica MC, 2010
Ion Lungu , Baze de date Oracle –Limbajul SQL, Editura ASE, Bucuresti, 2005
Luke Welling, Laura Thomson, Dezvoltarea aplicatiilor Web cu PHP si MySQL, Editia a II-a , Editura Teora, Bucuresti, 2005
Pătrașcu Aurelia, Tănăsescu Ana, Dușmănescu Dorel, Baze de date. MS-Access. Teorie și aplicații, Editura Universității din Ploiești, 2006
Romica Trandafir, Mihai Nistorescu, Ion Mierluș-Mazilu, Bazele Informaticii si Limbaje de Programare – Baze de date relationale, Editura Conphys, Ramnicu Vâlcea, 2008
Sitar-Taut, Dan-Andrei, Baze de date distribuite, Editura Risoprint, Cluj-Napoca, 2005
Traian Anghel , Dezvoltarea aplicațiilor WEB folosind XHTML, PHP și MySQL, Editura Polirom , 2005
Traian Surcel, Radu Marsanu, Paul Pocatilu, Adriana Reveiu, Felician Alecu, Razvan Bologa, Tehnologii Web si Baze de Date, Editura Tribuna Economică , București, 2005
Toader C., Programarea aplicațiilor web cu PHP și MySQL, Ed. Risoprint, 2006
http://bd.ase.ro/documente/bd/Curs_BD_Lungu,Botha.pdf
http://mediadigitala.ro/index.php/baze-de-date-multimedia/38-baze-de-date-distribuite
http://php.net/usage.php
http://php.punctsivirgula.ro/form/
http://revistaie.ase.ro/content/8/ioniță.pdf
http://www.ghid-html.info/10-notiuni-generale-despre-html.html
http://www.mysql.com/
ANEXE
Anexa 1
Anexa 2
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: Proiectarea Aplicatiei Pentru Comercializarea Animalelor Si Produselor Destinate Acestora (ID: 163073)
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.
