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 se pot îmbunătăți serviciile?

2.1.4. Cum se poate menține în comerțul electronic?

2.1.5. Strategiile comerțului electronic:

3. Categoriile comerțului electronic

3.1. Avantajele și dezavantajele comerțului electronic:

4. Legislația în domeniul comerțului electronic

4.1. Legea comerțului electronic nr. 365/2002

4.2. Semnătura electronică (digitală):

5. Software necesare pentru implementarea unui magazin virtual

5.1. XHTML (eXtensible HyperText Markup Language):

5.1.1. Diferențe între XHTML și HTML:

5.1.2. Sintaxa XHMTL:

5.2. JAVASCRIPT()

5.3. PHP:

5.4. MySql:

5.5. Apache:

6. Magazin virtual

6.1. Arhitectura magazinului „Bookstore”:

6.1.1. Funcțiile:

6.1.2. Procesul de cumpărare:

6.1.3. Calea produsului la client:

6.1.4. Use case diagrame:

6.2. Pagina principală

6.2.1. Înregistrare:

6.2.2. Autentificare:

6.2.3. Finalizarea comenzii:

6.3. Pagina de administrator:

6.3.1. Categorii de produse:

6.3.2. Meniu adăugare autori, editura, Info limbă:

6.3.3. Meniu administrare produse:

6.3.4. Meniu utilizatori:

6.3.5. Meniu vânzare:

6.3.6. Meniu documente:

6.3.7. Meniu administratori:

6.3.8. Meniu transport:

6.3.9. Meniu promoții:

Concluzii

Bibliografie:

Introducere

Internetul conectează oameni care trăiesc în diferite părți ale lumii, întreprinderi și organizații. Orice persoană care are un calculator sau un telefon mobil capabil să se conecteze la internet poate să cumpere orice fără a se deplasa la un magazin.

Dezvoltarea tehnologiei comunicației și a domeniului informatic a transformat radical economia în ultimele decenii. Odată cu răspândirea internetului s-au diversificat și domeniile sale de utilizare, deschizându-se căi noi pentru afaceri. Între miile de oportunități oferite de World Wide Web probabil una dintre cele mai importante, din punct de vedere economic, este comerțul electronic care are în față un viitor extrem de promițător..

A început și în România creșterea rapidă a numărului magazinelor virtuale, care sunt cele mai convenabile și confortabile moduri de aprovizionare, sunt ca niște magazine convenționale sau magazine de specialitate, centre comerciale.

Afacerea pe internet se dezvoltă din ce în ce mai mult, în fiecare zi, de aceea am considerat foarte utilă alegerea unei asemenea teme, la care s-a adăugat și provocarea de a învăța cum se construiește un magazin virtual.

În această lucrare am pregătit un prototip de magazin virtual prin care prezint construcția fizică a magazinului, limbajele de programare folosite la realizare, coduri de surse.

Această temă este foarte oportună deoarece în fiecare zi apar noi magazine online și firmele tradiționale care încă nu au participat la comerțul electronic, febril încearcă să-și extindă activitățile pe World Wide Web.

Lucrarea „Utilizarea bazelor de date cu PHP în realizarea unui site dinamic pentru un magazin virtual, folosind elementele XHTML, JAVASCRIPT, PHP și o bază de date MySQL ” este o prezentare a comerțului electronic, a legislației în vigoare, a limbajelor de programare pentru realizarea paginilor și a bazelor de date folosite pentru stocarea datelor.

Lucrarea este compusă din șase capitole:

Primul capitol „INTERNETUL” oferă informații despre ceea ce înseamnă Internetul ca mediu informațional, modul în care acesta funcționează.

„SPECIFICUL UNUI MAGAZIN VIRTUAL” este tema capitolului doi. Sunt prezentate evaluarea afaceri online, marketingul, atragerea clienților în magazin, strategia comerțului electronic.

În capitolul trei „CATEGORIILE COMERȚULUI ELECTRONIC” sunt prezentate felurile de comerț electronic, în funcție de părțile care participă la tranzacții. (business-to-consumer (B2C), business-to-business (B2B), consumer-to-consumer(C2C), business-to-guvernment(B2G), consumer-to-business (C2B)). Deasemenea mai sunt prezentate avantajele și dezavantajele comerțului electronic.

Al patrulea capitol „ LEGISLAȚIA ÎN DOMENIUL COMERȚULUI ELECTRONIC” prezintă legislația în vigoare și semnătura electronică (digitală).

În capitolul cinci intitulat „SOFTWARE NECESARE PENTRU IMPLEMENTAREA UNUI MAGAZIN VIRTUAL”, sunt prezentate softwarele de care avem nevoie pentru realizarea magazinului virtual și prezentarea limbajelor pe scurt.

În ultimul capitol, cu titlul „MAGAZIN VIRTUAL” am realizat un magazin virtual și am prezentat amănunțit prin coduri de sursă și prin print screen părțile componente prezentate, ilustrând astfel în concret lucrarea realizată.

Internetul

Internetul este o rețea globală de rețele de calculatoare, care utilizează protocolul TCP/IP Internet Protocol (IP). Internetul este conectarea de calculatoare între ele și a rețelelor complet diferite într-un mod transparent, ele pot face schimb de e-mail-uri, fișiere etc.

Internetul este o rețea bazată pe protocolul IP. Având în vedere că  aceast protocol este baza mai multor tipuri de rețele, rețeaua globală este alcătuită din : rețele locale, intranete și diferite rețele la distanță. În scopul de a stabili o conexiune între două calculatoare, acestea trebuie să fie identificate. Prin urmare, orice calculator conectat la Internet are un număr unic de autentificare, acest număr se numește adresă IP.

1.1.fig.: exemplu la adresa de IP

Serviciul cel mai folosit pe internet este World Wide Web (WWW). În zilele de azi, oricine poate avea propria pagina de web pe internet și de aceea World Wide Web conține cantități mari de informații cu privire la orice subiect. Cele mai multe dintre instituții, firme, companii au propriul site, cu care pot să comunice cu clienții sau să extindă afacerea. WWW are multimedia, astfel poate să conține text, imagini, sunet, imagini în mișcare, etc.

Funcționarea Web-ului:

PC-ul care conține pagina de web este autentificat prin numele paginii de exemplu: www.spiruharet.ro. În timp ce navigăm pe web conținutul website-lui este vizualizat în pagini web. Navigarea între paginile de web (de exemplu: dacă suntem pe pagina principală și vrem să ajungem la pagina de contact) sunt făcute cu ajutorul link-urilor (hypertext). Dacă facem click cu moausul pe un link ajungem la o altă pagină de web. Dacă tragem pointerul moause-ului asupra unui link, aceasta se transformă într-un deget arătător.

1.2.fig.: exemplu la link

Bowser-ele ca și serverele de web sunt multiple. Pentru tratarea uniformă a conținutului au fost adoptate niște reguli. Paginile web sunt descrise în HTML (HyperText Markup Language) sau XHTML (eXtensible HyperText Markup Language). Practic XHTML este un înlocuitor modern al mai vechiului limbaj HTML, fiind aproape identic cu standardul HTML 4.01, o versiune îmbunătățită, mult mai strictă și mai curată a standardului HTML 4.0.

Fiecare web page conține fișiere HTML/XHTML care descriu cum trebuie să fie afișate paginile (text, imagini, etc).

Diagrama 1.3 ilustrează relația dintre serverul de bază și serverul de web în cazul utilizării internetului.

1.3.fig.: Relația dintre serverul de bază și serverul de web în cazul utilizării internetului

Specificul unui magazin virtual

Pentru a construi un sistem de magazin virtual sau e-commerce, din punct de vedere arhitectural este nevoie de colaborarea a patru componente (subsisteme electronice / informatice) corespunzătoare următoarelor roluri:

1. Client – un echipament, de obicei un calculator personal, conectat direct sau indirect la Internet. Cumpărătorul folosește acest echipament pentru a naviga și a face cumpărături.

2. Comerciant – sistem informatic (hard & soft), situat de regula la sediul vânzătorului, care găzduiește și actualizează catalogul electronic de produse disponibile a fi comandate on-line pe Internet.

3. Sistem tranzacțional – Sistemul informatic (hard & soft) responsabil cu procesarea comenzilor, inițierea plăților, evidența înregistrărilor și a altor aspecte de business implicate în procesul de tranzacționare.

4. Dispecer plăți – (Payment Gateway) Sistem informatic responsabil cu rutarea instrucțiunilor de plată în interiorul rețelelor financiar-bancare, cu verificarea cărților de credit și autorizarea plăților; acest sistem joacă rolul unei porți care face legătura dintre rețeaua globală Internet și subrețeaua financiar-bancară.

Odată acestea spuse, e bine să mai facem precizarea că pe baza acestor patru componente s-au implementat diverse arhitecturi de comerț electronic. Unele combină mai multe componente într-un singur (sub)sistem informatic, în timp ce altele implementează separat fiecare componentă în parte.

Pentru a asigura succesul pe termen lung al unui proiect de e-commerce, arhitectura acestuia trebuie proiectată cu grijă ținând cont de toate aspectele de business cu care se va confrunta sistemul, lăsând totodată portițe care să permită adaptarea sa în timp, pe măsură ce apar noi provocări iar tehnologiile evoluează.

Evaluarea performanțelor unei afaceri on-line

Succesiunea etapelor necesare pregătirii și demarării propriei afaceri pe Internet, depinde de analiza și stabilirea obiectivelor urmărite, a căilor de acțiune, surselor de finanțare, a modalităților de realizare, de evaluarea rezultatelor obținute în strânsă corelație cu ceea ce așteptăm de la aceasta afacere.

De la marketing la vânzări

Evoluția din ultimii câțiva ani demonstrează că Internetul a devenit o importantă ocazie care permite oamenilor de afaceri să pătrundă pe noi piețe și să-și prezinte paginile web indiferent de mărimea firmei proprii sau de amplasarea ei geografică. Condițiile create de aceasta noua era a tehnologiei permit firmelor mici și mijlocii să concureze acum giganții industriei.

Cei mai mulți oameni consideră comerțul electronic o modalitate de a face cumpărături "on-line" – respectiv, accesarea unui magazin electronic pentru a comanda un cadou, în ultimul moment, pentru o aniversare (a soțului sau soției) de care au uitat.

Dar, cumpărarea "online" este doar o mică parte a comerțului electronic. Aceasta include totodată și tranzacțiile de bursa și de obligațiuni sau achiziționarea în direct a aplicațiilor electronice fără a fi necesară deplasarea la un magazin. În plus, comerțul electronic acoperă și relațiile de tip „B-2-B ( engl. Business to Business )” care facilitează achizițiile pentru marile corporații.

Trei rațiuni principale stau la baza opțiunii pentru utilizarea comerțului electronic în afaceri:

Inițierea unei noi strategii de marketing

Protecția consumatorilor

Sporirea vânzărilor

Stabilirea obiectivului urmărit prin pagina de Internet va determina design-ul paginii.

Multe pagini de Internet au fost realizate cu scopul de a depăși o simplă prezentare generală de marketing. Acestea nu numai că prezintă un produs, dar primesc și comenzi „on-line”. Paginile de Internet mai complexe sunt prevăzute cu un sistem accesibil de procesare a comenzii, cuprinzând calculația și informații detaliate despre taxele de livrare și cele de vânzare; altele, chiar mai performante, permit și o opțiune ce oferă informații despre acceptarea și confirmarea cărții de credit, în timp ce clientul este conectat la internet.

În consecința, la realizarea variantei proprii de comerț electronic trebuie să aveți în vedere obiectivul urmărit. Întocmiți o listă cu propuneri și un plan de punere în practică a acestora. Stabiliți care parte a proiectului este mai importantă și care mai puțin importantă. Răspunsul la această întrebare vă va ajută să alegeți varianta optimă.

Cum se pot atrage clienții „on-line”?

– Pagina de Internet trebuie mereu actualizată. Un site care rămâne neschimbat nu va atrage niciodată clienții.

– Site-ul trebuie să arate profesionist și să funcționeze perfect, fiindcă site-ul tează achizițiile pentru marile corporații.

Trei rațiuni principale stau la baza opțiunii pentru utilizarea comerțului electronic în afaceri:

Inițierea unei noi strategii de marketing

Protecția consumatorilor

Sporirea vânzărilor

Stabilirea obiectivului urmărit prin pagina de Internet va determina design-ul paginii.

Multe pagini de Internet au fost realizate cu scopul de a depăși o simplă prezentare generală de marketing. Acestea nu numai că prezintă un produs, dar primesc și comenzi „on-line”. Paginile de Internet mai complexe sunt prevăzute cu un sistem accesibil de procesare a comenzii, cuprinzând calculația și informații detaliate despre taxele de livrare și cele de vânzare; altele, chiar mai performante, permit și o opțiune ce oferă informații despre acceptarea și confirmarea cărții de credit, în timp ce clientul este conectat la internet.

În consecința, la realizarea variantei proprii de comerț electronic trebuie să aveți în vedere obiectivul urmărit. Întocmiți o listă cu propuneri și un plan de punere în practică a acestora. Stabiliți care parte a proiectului este mai importantă și care mai puțin importantă. Răspunsul la această întrebare vă va ajută să alegeți varianta optimă.

Cum se pot atrage clienții „on-line”?

– Pagina de Internet trebuie mereu actualizată. Un site care rămâne neschimbat nu va atrage niciodată clienții.

– Site-ul trebuie să arate profesionist și să funcționeze perfect, fiindcă site-ul trebuie nu numai să vândă produsele ci și să inspire încredere potențialilor cumpărători.

– Trebuie menținută simplitatea site-ului. Dacă este prea complicat, cumpărătorii vor renunța și vor migra spre altul.

– Produsele specifice trebuie să fie găsite cu ușurință. Acest lucru se poate realiza prin inserarea unui buton de căutare pe fiecare pagina astfel încât clienții să găsească cu ușurință ceea ce caută.

– Trebuie să fie asigurată descărcarea rapidă a documentelor. Așa cum nu le place să aștepte la coadă, oamenilor nu le place nici să aștepte pentru a descărca documente.

– Oferta online trebuie să fie comparabilă cu cea disponibilă în magazine. Clientul va opta pentru acele magazine care-i oferă o gama mai variată de mărfuri.

– Prețurile online trebuie să fie cel puțin la nivelul celor accesibile prin intermediul altor canale sau chiar mai mici.

– Este indicat să fie oferite spre vânzare produsele căutate pe Internet. Ca regulă generală, dacă un produs se vinde bine prin sistemul de comanda prin poștă, acesta este adecvat și vânzărilor prin Internet.

– Trebuie luate toate măsurile posibile pentru asigurarea securității tranzacțiilor și la fel de importat această preocupare să fie adusă la cunoștința clienților potențiali.

Cum se pot îmbunătăți serviciile?

Pagina de Internet ar trebui să ofere o gamă largă de servicii speciale clienților. Internetul oferă posibilități multiple de a crea servicii de calitate pentru clienți. Dacă sunt urmărite întrebările adresate de clienți, se poate constata că un mare număr de apeluri se referă la aceeași problemă. Este de preferat întocmirea unei liste a acestor întrebări adresate frecvent și pe care, împreună cu răspunsurile aferente, să fie inserate pe site.

Internetul este un instrument de comunicare. Deci, sistemul e-mail trebuie să fie principalul element de comunicare. Când clienții utilizează sistemul e-mail în locul telefonului, aceștia trebuie să primească răspuns imediat. În caz contrar, clienții se vor simți pierduți fără un răspuns și se va pierde încrederea și denotă inseriozitatea afacerii.

Trebuie urmărită modul de navigare a clienților, cum navighează și ce anume caută. Se pot obține astfel informații despre ceea ce este important pentru ei pe site dar și despre cât de ușor se poate utiliza site-ul.

O pagină de Internet trebuie să fie completă și ușor de utilizat. Trebuie avut în vedere faptul că mulți dintre vizitatori vor fi într-o măsură mai mare sau mai mică începători. De aceea navigarea pe site trebuie să fie cât mai puțin sofisticată și fără capcane. Limbajul utilizat pe site-ul firmei trebuie să fie ușor de înțeles. Nu trebuie uitat că distanța de la un magazin electronic la altul este doar un click și clienții nu vor pierde prea mult timp ca să afle cum funcționează un site complicat – vor căuta un alt magazin virtual. De aceea nu trebuie inserate descrieri prea lungi ale produselor și serviciilor, dar să fie evidențiate cu claritate măsurile de protecție de care beneficiază clienții pe site-ul respectiv. Cumpărătorii online consideră magazinele electronice ca fiind o zonă periculoasă unde datele personale își pot pierde ușor confidențialitatea. Este sarcina proprietarului sitului să îi convingă că protecția datelor este unul dintre obiectivele majore, acesta fiind unul dintre serviciile oferite prin pagina de Internet și se referă la gradul de securitate al site-ului firmei. Mai trebuie să avut în vedere un aspect: toți clienții trebuie tratați individualizat. În cazul în care site-ul poate asigura individualizarea clienților, trebuie profitată de această posibilitate.

Cum se poate menține în comerțul electronic?

Pentru a găsi cea mai economică soluție de marketing pentru site, trebuie să experimentați prin reclama proprie și să urmăriți în același timp cu atenție evoluția vânzărilor. Încercați noi modalități de marketing: inserați noi banere de reclamă, stabiliți programe de marketing în colaborare cu alte site-uri, luați în considerare sponsorizările – și urmăriți cum sunt influențate vânzările dumneavoastră.

Strategiile comerțului electronic:

Unul dintre principalele obiective ale strategiilor comerțul electronic este de a identifica și de a încuraja utilizarea de informații prin Internet, oferindu-le suportul necesar. Se oferă posibilitatea de a conduce o afacere într-o manieră flexibilă, beneficiind de diferitele oportunități, pe măsură ce acestea apar.

Categoriile comerțului electronic

Comerțul electronic permite participarea atât a persoanelor fizice și juridice, cât și a instituțiilor de stat, cât și a statului.

După părțile care participă în tranzacții se disting cinci categorii:

companiile vând persoanelor fizice (business-to-consumer(B2C));

tranzacții efectuate între companii (business-to-business (B2B));

între persoane fizice (consumer-to-consumer(C2C))

companiile pot vinde bunuri pentru agenți guvernamentali sau invers (business-to-guvernment(B2G))

persoanele fizice care utilizează internetul pentru a vinde produsele sau serviciile firmelor (consumer-to-business (C2B));

Avantajele și dezavantajele comerțului electronic:

Avantaje firmelor:

extinderea zonei de activitate;

creșterea vitezei de comunicare;

pentru firmele care participă în comerț electronic, avantajele se pot rezuma pe scurt într-o frază: ”comerțul electronic poate cauza creșterea vânzărilor și micșorarea costurilor”.

Avantaje cumpărătorilor:

efectuarea rapidă a cumpărăturilor sau alte tranzacții la orice oră, în orice zi;

căutare rapidă de produse și servicii;

comoditate sporită;

asigurarea motivației consumatorilor de a cumpăra și, la nevoie de a și returna, etc.;

Avantaje generale:

este redus timpul dedicat cumpărăturilor;

nu există limitări geografice;

intermediarii pot fi eliminați din lanțul de aprovizionare, etc.;

Dezavantaje:

securitatea;

infrastructura adecvată de telecomunicație – insuficiența lărgimii de bandă a internetului;

costurile investiției;

aspecte lingvistice și culturale, etc.;

Legislația în domeniul comerțului electronic

Activitatea de comerț electronic este reglementată de o serie de legi, hotărâri de guvern și regulamente cum ar fi:

Legea comerțului electronic nr. 365/2002;

Hotărârea de Guvern nr. 1308 din 20/11/2002 privind aprobarea normelor metodologice pentru aplicarea legii 365/2002 privind comerțul electronic;

Legea nr. 51/2003 pentru aprobarea Ordonanței Guvernului nr. 130/2000 privind regimul juridic al contractelor la distanță;

Legea semnăturii electronice nr. 455/2001

Regulamentul nr. 4/2002 al BNR privind tranzacțiile efectuate prin intermediul instrumentelor de plata electronice.

Legea comerțului electronic nr. 365/2002

Legea Comerțului Electronic a fost publicată în Monitorul Oficial al României nr. 483/ 2002, și a intrat în vigoare la data de 5 iulie 2002.

Reglementările din acest act normativ se aplică tuturor furnizorilor stabiliți în România și vizează actele de comerț desfășurate prin mijloace electronice, stabilind, de asemenea, condițiile de furnizare a serviciilor societății informaționale și identificând faptele săvârșite în legătură cu securitatea acestor servicii.

Din categoria serviciilor societății informaționale sunt excluse:

a) oferta de servicii care necesită prezența fizică a furnizorului și a destinatarului, chiar dacă prestarea serviciilor respective implică utilizarea de echipamente electronice;

   b) oferta de servicii care presupun manipularea unor bunuri corporale de către destinatar, chiar dacă prestarea serviciilor respective implică utilizarea de echipamente electronice;

   c) oferta de bunuri sau servicii care nu este prezentată destinatarului prin transmiterea informației la cererea individuală a acestuia și care este destinată recepției simultane de către un număr nelimitat de persoane (punct-multipunct);

   d) activități care se efectuează prin intermediul serviciilor de telefonie vocală, telefax, telex, servicii de radiodifuziune și televiziune, inclusiv serviciile de teletext;

   e) serviciile de telefonie vocală, telefax sau telex;

   f) schimbul de informații prin poșta electronică sau prin alte mijloace de comunicare individuală echivalente, între persoane care acționează în scopuri străine activității lor comerciale sau profesionale;

   g) relația contractuală dintre un angajat și angajatorul său.

Furnizarea de servicii prin intermediul Internetului de către persoanele fizice sau juridice nu este supusă unei autorizări prealabile și trebuie să respecte principiile concurenței libere și loiale.

Firma distribuitoare are obligația de a pune la dispoziția clienților și autorităților publice mijloace și tehnici care să permită un acces facil, direct, permanent și gratuit la informații ca:

numele sau denumirea vânzătorului;

domiciliul sau sediul furnizorului;

datele necesare contactării firmei în mod direct și efectiv (numerele de telefon, fax, adresa de poșta electronică,etc.);

numărul de înmatriculare și codul de înregistrare fiscală în registrul comerțului sau în alt registru public similar;

datele de identificare ale autorității competente, în cazul în care activitatea furnizorului de servicii este supusă unui regim de autorizare;

titlul profesional și statul în care a fost acordat, corpul profesional sau orice alt organism similar din care face parte, indicarea reglementărilor aplicabile profesiei respective în statul în care furnizorul de servicii este stabilit, precum și a mijloacelor de acces la acestea, în cazul în care furnizorul de servicii este membru al unei profesii liberale;

tarifele aferente serviciilor oferite cu precizarea scutirii, includerea sau neincluderea taxei pe valoarea adăugată, precum și a cotei acesteia;

includerea sau neincluderea în preț a cheltuielilor de livrare, precum și valoarea acestora, dacă este cazul;

orice alte informații pe care furnizorul de servicii este obligat să le pună la dispoziție destinatarilor, în conformitate cu prevederile legale în vigoare.

O altă problemă reglementată se referă la mesaje comerciale nesolicitate cunoscute și ca SPAM-uri. Conform prevederilor legale, este interzisă efectuarea de comunicări comerciale prin poșta electronică, cu excepția acelor cazuri în care destinatarul și-a exprimat în prealabil consimțământul expres pentru a primi asemenea comunicări. În situația în care aceste mesaje comerciale constituie un serviciu al furnizorului ele sunt permise și trebuie să respecte următoarele condiții:

mesajul și firma/persoana fizică expeditoare să fie ușor și clar de identificat;

ofertele promoționale, precum și reducerile, premiile și cadourile, să fie clar identificabile, iar condițiile care trebuie îndeplinite pentru obținerea lor să fie ușor accesibile și clar prezentate;

competițiile și jocurile promoționale să fie explicate corect și obiectiv, iar condițiile de participare să fie ușor accesibile și clar prezentate;

În ceea ce privește validitatea și proba contractelor încheiate prin mijloace electronice se precizează că nu este necesar consimțământul prealabil al părților asupra utilizării mijloacelor electronice. Proba încheierii contractelor prin mijloace electronice și a obligațiilor care rezultă din aceste contracte este reglementată de prevederile Legii nr. 455/2001 privind semnătura electronică, precum și de HG nr. 1308 din 20/11/2002 privind aprobarea normelor metodologice pentru aplicarea acestui act normativ.

Destinatarul serviciilor societății informaționale are dreptul de a primi informații exprimate într-un limbaj accesibil referitoare la:

etapele tehnice care trebuie urmate pentru a încheia contractul sau procesul de vânzare – cumpărare;

stocarea sau nu a contractului în baza de date a furnizorului de servicii;

mijloacele tehnice pe care societatea le pune la dispoziția clientului pentru identificarea și corectarea erorilor survenite cu ocazia introducerii datelor;

limba în care se poate încheia contractul/procesul de vânzare-cumpărare;

Una din obligațiile furnizorului este și aceea de a oferi clientului posibilitatea de a utiliza procedee și metode tehnice adecvate, eficace și accesibile, care să permită identificarea și corectarea erorilor apărute la introducerea datelor, anterior trimiterii ofertei sau acceptării acesteia. Excepția este data de acele situații în care s-a convenit altfel cu destinatarul, cu condiția ca nici una dintre părți să nu aibă calitatea de consumator.

Clauzele și condițiile procesului de vânzare-cumpărare trebuie puse la dispoziția consumatorului într-un mod care să îi permită acestuia să le stocheze și să le reproducă, mai puțin acele cazuri când contractele se încheie exclusiv prin poșta electronică sau prin alte mijloace de comunicare echivalente.

Se consideră încheiat procesul de vânzare-cumpărare în momentul acceptării ofertei și realizarea comenzii efective.

Executarea contractului este imediată, mai puțin acele situații când se prevede altceva.

În cazul în care consumatorul trimite acceptarea ofertei prin mijloace electronice furnizorul de servicii are obligația de a confirma primirea ofertei sau, după caz, a acceptării acesteia, în unul dintre următoarele moduri:

trimiterea unei dovezi de primire prin poșta electronică sau printr-un alt mijloc de comunicare echivalent, la adresa indicată de către destinatar, în termen de 24 de ore de la primirea ofertei sau acceptării;

confirmarea primirii ofertei sau a acceptării ofertei, printr-un mijloc echivalent cu cel folosit la trimiterea ofertei, imediat ce oferta a fost primită de furnizorul de servicii.

Legea Comerțului Electronic impune ca informația să fie prezentată sau păstrată în forma sa originală îndeplinind cumulativ următoarele condiții:

se garantează integritatea informației prin respectarea standardelor naționale în domeniu;

mesajul este semnat utilizându-se semnătura electronică a emitentului;

informația poate fi furnizată și prezentată la cerere.

În acele situații când serviciile societății constau în transmiterea într-o rețea de comunicații a informației oferite de parteneri, furnizorul acelui serviciu nu răspunde pentru stocarea automata, intermediară și temporară a informației, în măsura în care aceasta operație are loc în scopul de a face mai eficientă transmiterea informației către alți destinatari, la cererea acestora. Trebuie, însă îndeplinite cumulativ următoarele condiții:

nu se aduc modificări asupra informației transmise;

accesul la informație îndeplinește condițiile legale;

actualizarea informației respectă regulile și uzanțele aplicate în domeniu;

obținerea de date despre natura și utilizarea informației trebuie puse la dispoziția tuturor persoanelor interesate;

Dacă serviciile oferite de societate constau în stocarea informației furnizate de un destinatar al serviciului respectiv, firma furnizoare nu răspunde pentru informația stocată la cererea unui destinatar. Sunt impuse, însă o serie de condiții:

în cazul unor daune, societatea trebuie să dovedească faptul că nu a știut că activitatea sau informația stocată este nelegală sau că ar putea vătăma drepturile unui terț;

dacă firma are cunoștință faptul că activitatea sau informația respectivă este nelegală sau ar putea vătăma drepturile unui terțe persoane, societatea furnizoare trebuie să acționeze în vederea eliminării sau a blocării accesului la aceasta.

Societățile care au ca activitate principală facilitarea accesului la informația furnizată de alte firme prin oferirea unor instrumente de căutare a informațiilor sau a unor legături cu alte pagini de web, nu răspunde pentru informația în cauza. Singura condiție este ca societatea să nu aibă cunoștință despre faptul că informația facilitată este nelegală sau ar putea prejudicia drepturile unui terț;

Furnizorul de servicii răspunde pentru informație atunci când caracterul nelegal al acesteia a fost constatat printr-o decizie a unei autorități publice.

De asemenea, tot în obligațiile furnizorului de servicii se află și sarcina de a informa de îndată autoritățile publice competente despre activitățile cu aparență nelegală desfășurate de clienții firmei sau despre informațiile cu aparență nelegală furnizate de aceștia.

Furnizorii de servicii sunt obligați să comunice de îndată autorităților și informații care să permită identificarea clienților, în cazul în care s-au încheiat contracte privind stocarea permanentă a informației.

Societățile sunt obligate să întrerupă, temporar sau permanent, transmiterea sau stocarea informației furnizate de un client al serviciului respectiv, prin eliminarea informației sau blocarea accesului la aceasta, dacă aceste măsuri au fost dispuse de o autoritate publică sau la primirea unei plângeri, unei sesizări din partea oricărei persoane.

Plângerea sau sesizarea poate fi făcută de către orice persoană care se consideră prejudiciată prin conținutul informației în cauza. Ea se întocmește în forma scrisă, fiind obligatorie precizarea motivelor, datarea și semnarea. Este precedată, însă de o cerere în justiție, având același obiect și aceleași părți.

Când se formulează decizia autorităților, acesta trebuie motivată și se comunică celor două părți în termen de 30 de zile de la data primirii plângerii sau a sesizării. Termenul devine de 15 zile pentru situația în care autoritatea a acționat din oficiu.

Persoanele interesate pot formula contestație în termen de 15 zile de la comunicare la instanță competența. Sentința este definitivă.

Autoritatea competentă pentru rezolvarea acestor chestiuni este ARCTI. Ea poate solicita societăților orice informații necesare precizând baza legala și scopul solicitării. Se pot stabili termene până la care aceste informații să îi fie furnizate, în caz contrar fiind prevăzute sancțiuni. Verificările sunt desfășurate prin personalul de control împuternicit al ARCTI, acesta putând solicita declarații sau orice documente necesare pentru îndeplinirea misiunii, să sigileze, să ridice orice registre, acte financiar-contabile și comerciale sau alte evidențe, eliberând persoanei supuse investigației copii de pe originale, ori să obțină copii, lăsându-i acesteia originalele. De asemenea, personalul de control este autorizat să facă inspecții inopinate, al căror rezultat va fi înregistrat într-un proces-verbal de constatare, și să primească, la convocare sau la fața locului, informații și justificări.

ARCTI are dreptul și obligația de a sesiza organele de urmărire penală la constatarea de încălcări ale legii penale.

Asociațiile și organizațiile neguvernamentale cu caracter profesional sau cele constituite în scopul protecției consumatorilor, a minorilor sau a persoanelor cu handicap pot elabora coduri de conduită cu prevederi referitoare la:

soluționarea litigiilor pe cale extrajudiciară;

protecția minorilor și a demnității umane;

protecția clienților cu privire la comunicărilor comerciale (Spam-uri).

Semnătura electronică (digitală):

Semnătura digitală reprezintă o metodă sigură de a dovedi autenticitatea unei persoane ce va trimite un document oarecare cu avantajul că oferă posibilitatea de a însera un cod special (amprenta digitală) în momentul semnării. Se indică astfel dacă documentul a ajuns intact la destinație sau dacă a fost alterat pe transmiterii.

În România, serviciile și produsele pentru semnătura electronică sunt reglementate de Legea privind semnătura electronică 455/2001, precum și de Hotărârea de Guvern 1259 din 13 decembrie 2001 privind aprobarea normelor tehnice și metodologice pentru aplicarea Legii nr. 455/2001 privind semnătura electronică.

Caracteristicile legale ale semnăturii electronice sunt următoarele:

permite identificarea autorului;

exprimă acordul autorului la conținutul și responsabilitățile ce derivă din documentul semnat;

verifică integritatea documentului prin intermediul generării funcției hash asociată mesajului.

Semnătura digitală are rolul de a cripta conținutul documentului, folosind cheia criptografică a expeditorului. În acest mod semnătura devine unică atât pentru documentul trimis cât și pentru destinatarul cheii. Orice modificări aduse documentului vor afecta semnătura, oferindu-se astfel atât integritate cât și autentificare.

Semnătura electronică (sau digitală) este pentru documentele electronice ceea ce este o semnătură olografă pentru documentele tipărite. Semnătura reprezintă un eșantion de date care demonstrează că o anumită persoană a și/sau a fost de acord cu documentul căruia i s-a atașat semnătura.

Printr-o semnătură digitală se oferă un grad mult mai mare de securizare decât semnătura olografă. Destinatarul mesajului semnat digital poate verifica faptul că mesajul original aparține persoanei a cărei semnătură a fost atașată.

Mai mult, semnătura digitală nu poate fi negată. Semnatarul documentului nu se poate disculpa mai târziu invocând faptul că a fost falsificată, cum se întâmplă uneori cu semnătura olografă. O semnătură electronică nu poate fi o semnătură scanată, o iconiță, o poză, o hologramă, un smalt card.

Documentele semnate electronic folosind un certificat digital calificat emis de certSIGN®, Furnizor Public de Servicii de Certificare conform cu Legea semnăturii electronice din România, au valoare legală, iar semnătura rezultată se numește semnătură electronică extinsă.

Semnătura electronică este des utilizată în cazul afacerilor electronice fiind o dovadă a identității clientului.

Software necesare pentru implementarea unui magazin virtual

XHTML (eXtensible HyperText Markup Language):

Este un limbaj de marcare ce are aceleași capabilități expresive ca și HTML, dar cu o sintaxă mai strictă. XHTML poate fi considerat ca încrucișarea dintre HTML și XML în multe privințe, fiind o reformulare a HTML în XML. HTML 1.0 a devenit o recomandare World Wide Web Consortium (W3C) pe data de 26 ianuarie 2000. O recomandare W3C înseamnă că specificația este stabilă, revizuit de membru W3C, iar acum specificația a devenit un standard în World Wide Web.

XML este un limbaj de marcare în care totul este clar definit în așa fel primim un "bine formatat" document. XML este proiectat pentru a stoca date, iar HTML pentru a afișa datele. În lumea internetului de astăzi există o gamă largă de browser web(Google Chrome, Internet Explorer, Mozilla Firefox, Opera, etc.), o parte dintre ele funcționează pe dispozitive mobile cum ar fi TABLETPC, PDA, TELEFOANE MOBILE, PNA. Aceste aparate mobile nu dispun de resurse suficiente pentru a înțelege paginile pline cu erori HTML.

Astfel, din HTML și XML și puterea lor combinată este obținut un limbaj de marcare, care este în uz astăzi, și mâine va fi folosit XHTML.

Diferențe între XHTML și HTML:

Principalele diferențe:

elementele XHTML trebuie să urmeaze în ordine corectă imbricate între ele

bine structurat

fiecare XHTML tag este cu litere mici.

toate elementele XHTML trebuie să fie închise

Forma corectă a unui document XHTML:

<!DOCTYPE …>

<html>

<head>

<title>Title of page!</title>

</head>

<body>

<h1>…</h1>
<p>…</p>

</body>

</html>

Incorect XHTML tag:

<BODY>

<P>…</P>

</BODY>

Corect XHTML tag:

<body>

<p>…</p>

</body>

Toate elementele XHTML trebuie să fie închise:

forma incorectă:

<p>Aceata este un paragraf

<p>Aceasta este un alt paragraf

forma corectă:

<p>Aceata este un paragraf</p>

<p>Aceasta este un alt paragraf</p>

Sintaxa XHMTL:

Scrierea codului XHTML necesită un cod HTML corect, bine structurat, fără erori.

Câteva reguli sintactice XHTML:

tag-urile se scriu cu litere mici

valorile tag-urilor trebuie să fie încadrat în ghilimele.

abrevierea este interzisă la tag

tag-ul „id” înlocuiește tag-ul „name”

DTD XHTML definește elemente obligatorii

Atributele se scriu cu litere mici:

atribut incorect:

<table WIDTH="100%">

atribut corect:

<table width="100%">

Abrevierea este interzisă la tag :

forma incorectă

<dl compact>

<input checked>

<option selected>

<frame noresize>

forma corectă

<dl compact="compact">

<input checked="checked" />

<option selected="selected" />

<frame noresize="noresize" />

Tag-ul „id” înlocuiește tag-ul „name”:

forma incorectă:

<img src="picture.gif" name="picture1" />

forma corectă:

<img src="picture.gif" id="picture1" />

Din cauza browserelor de web mai vechi este bine dacă folosim ambele tag-uri „name” și „id” în modul următor:

<img src="picture.gif" id="picture1" name="picture1"/>

DTD XHTML definește elemente obligatorii:

Un document XHTML are trei păți principale:

DOCTIPE este obligatoriu

Head(aici vine titlul, meta tag-ul)

Body(aici vine conținutul)

<!DOCTYPE …>

<html>

<head>

<title>…</title>

</head>

<body>…</body>

</html>

Declarația DOCTYPE trebuie sa fie întotdeauna prima linie a documentelor XHTML .

Declarația DOCTYPE definește tipul documentului.

DOCTYPE poate fi definit patru tipuri de document :

XHTML 1.0 STRICT

<!DOCTYPE html

PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Această opțiune este utilizată dacă dorim să curățăm cu adevărat de marcare, evită orice apariția de complicației. Se utilizează împreună cu Cascading Style Sheets (foi de stil).

XHTML 1.0 TRANSITIONAL

<!DOCTYPE html

PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Această opțiune este folosită când avem nevoie de proprietățile de afișare a HTML-lui și vrem să susținem browsere care nu acceptă foi de stil.

XHTML 1.0 FRAMESET

<!DOCTYPE html

PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

Aceasta este utilizată atunci când vrem să folosim HTML frame, pentru a extrage mai multe cadre ale ferestrei browser-ului.

XHTML 1.1

<!DOCTYPE html

PUBLIC "-//W3C//DTD XHTML 1.1//EN"

"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Aceasta este varianta cea nouă a limbajului XHTML. Această versiune nu susține de loc fremur-ile HTML.

JAVASCRIPT()

Este un limbaj de tip Client Side adică este executat pe calculatorul clientului mai precis de către browserul acestuia. Principala lui utilizare este de a anima paginile WEB dar nu numai el fiind folosit la analizarea formularelor înainte de trimitere, scrierea de cookies etc.

În ciuda numelui și a unor similarități în sintaxă, între JavaScript și limbajul Java nu există nici o legătură.

Cu ajutorul acestuia se pot construi aplicații puternice pe Web. Cheia de a folosi JavaScript în modul cel mai avantajos este de a știi când și unde să-l introducem în pagină. Limbajul ne poate ajuta să îmbunătățim interfața paginii cu mici butoane, ferestre de tip pop-up și multe altele, fără a necesita cunoștințe aprofundate de programare, chiar prin simplă copiere a unor scripturi în pagina noastră.

Scripturile JavaScript pot fi înglobate în fișierele HTML sau separat într-un file cu extensie „js” exp.: ceva.js, aceste sunt fișiere text și pot fi editate cu ușurință cu orice editor text (notepad, notepad++ și altele). Scriptul JavaScript este utilizat pentru verificarea formularelor exp.: toate câmpurile să fie completate, datele introduse sunt corecte (în câmpul e-mail este introdus o adresă de email valid etc.).

PHP:

În zilele de azi sunt foarte populare paginile scrise cu ajutorul limbajului Javascript și paginile construite cu ajutorul Adobe Flash, dar aceste metode nu sunt destul de sigure deoarece oricine poate să vadă scripturile în timpul funcționării și Site-uri Flash pot fi decriptate. De altă parte PHP este un limbaj de programare server-side. După rularea scriptului doar rezultatul este trimis la browser-ul clientului tradus în cod HTML, deci codul nu este vizibil în partea client. Acest lucru necesită un interpreter (shell), care este un modul extern al web-serverului. Avantajul cel mai mare lângă viteza de funcționare este faptul că este gratuit, și documentația detaliată este disponibilă la pagina http://php.net/ .

Independența de platformă permite folosirea la o gamă largă de calculatoare cu diferit sistem de operare și portabilitate ușoară de un sistem la altul.

Este un limbaj script care a fost înființat pentru a crea pagini web dinamice. Codul PHP produce cod HTML. Dacă deschideți un fișier PHP, serverul compilează codul PHP la cod HTML, și codul HTML este trimis la browswer-lui clientului. Cu ajutorul limbajului PHP putem produce pagini web dinamice, este capabil de a trata formulare, gestionarea bazelor de date și fișiere. Un fișier PHP arată aproape la fel ca un fișier HTML numai că între codurile HTML sunt introduse coduri PHP și extensia fișierului trebuie să fie PHP(exp.: index.php).

În codurile PHP introduse între codurile HTML trebuie introduse între tag-uri

„<?php și ?> ”

Un exemplu la codul PHP și ce cod HTML este generat din codul PHP și trimis la browser-ul client:

Codul PHP:

<html>

<head>

        <title> Primul cod PHP!</title>

</head>

  <body>

     <?php

         print "Sunt primul conținut scris în PHP!";

     ?>

   </body>

</html>

Codul html generat:

<html>

<head>

        <title> Primul cod PHP!</title>

</head>

  <body>

  Sunt primul conținut scris în PHP!

  </body>

</html>

Sunt trei domenii principale, unde scripturile PHP sunt utilizate:

programare Server-side: Acesta este cel mai tradițional și important mod de utilizare a scriptut-lui PHP.

scripting linie de comandă. Programele PHP poate fi rulat fără server și browser. Dacă dorim să utilizăm acest mediu pentru PHP, doar avem nevoie de un interpretor PHP.

client-side aplicații GUI.

PHP este folosit pe toate sistemele de operare majore: Microsoft Windows, Mac OS X, Linux și altele.

PHP suportă, de asemenea, majoritatea serverelor web, inclusiv Apache, Microsoft Internet Information Server, Personal Web Server, Netscape, Oreilly Website Pro, Caudium, Xitami, OmniHTTPd și altele. Deci, cu PHP, ai libertatea de a alege sistem de operare si server de web. Una dintre caracteristicile cele mai bune și cele mai semnificative ale limbajului este sprijinul unei gamă largă de baze de date.

5.1.tab.: Baze de date suportate în momentul de față

PHP este un așa numit GCI (Common Gateway Interface) limbaj. Acesta este un protocol care permite aplicațiilor (în acest caz, PHP) de a conecta la serverul de web. Trimiterea datelor între client și server sunt făcute cu HTML form.

În acest fel devin imediat disponibile datele trimise pentru scriptul PHP.

<form action=”index.php” method=”post”>

<div class="form_description">

<h2>Simplu formular</h2>

</div>

<ul >

<li id="li_1" >

<label class="description" for="element_1">Nume </label>

<div>

<input name="user" type="text" maxlength="255" value=""/>

</div>

</li>

<li id="li_2" >

<label class="description" for="element_2">Parola </label>

<div>

<input name="pass" type="password" maxlength="255" value=""/>

</div>

</li>

<li class="buttons">

<input type="hidden" name="form_id" />

<input id="saveForm" class="button_text" type="submit" name="submit" value="Submit" />

</li>

</ul>

<?php echo.”br”.$msg.”br”; ?>

</form>

5.1.fig: Un simplu exemplu la formular (rezultatul scriptului anterior)

După trimiterea form-ului imediat devine accesibil din index.php conținutul câmpurilor usr(username) și pass (password). Valorile câmpurilor în PHP sunt stocate în variabilele $_POST[‘usr’] și $_POST[‘pass’].

Securitatea în general:

Un fișier PHP poate să acceseze diferite file, să deschide porturi de comunicații, să ruleze comenzi. Acest lucru poate fi extrem de periculos pentru alte aplicații care rulează pe server. Cu toate aceasta adversarii principali sunt așa numite „hackeri” care vor să devină cunoscuți găsind vulnerabilitatea site-ului și umplându-l cu diferite lucruri, schimbând conținutul, stricând munca altora. Nu există un sistem invulnerabil de aceea trebuie să-și asumi riscul de a găsi echilibrul între uzabilitate și securitate.

Din păcate PHP unul singur nu poate proteja datele de aceea programatorul trebuie să ia anumite decizii de securitate la proiectare.

MySql:

O bază de date este o colecție structurată de date. Câteva exemple tipice la utilizarea bazelor de date:

o bază de date care stochează produse, datele clienților și comenzile într-un magazin virtual

baza de date a forumului care stochează utilizatorii, comentariile, subiecte, mesaje.

baza de date este utilizată la sistemele de blog ca WordPress pentru a stoca utilizatori, categorii, blog, tag-uri și comentarii.

MySql este un multi-user, multi-threaded, server de bază relațională, bazată pe SQL. MySql este una dintre cele mai populare baze de date open-source. Mulți cred că utilizarea cu platforma LAMP (Linux, Apache, MySql, PHP) este o soluție ieftină și sigură pentru rularea paginilor dinamice în locul utilizării produselor mai scumpe comercializate de firme mari.

MySql este un sistem relațional de gestionare de baze de date sau de RDBMS (Relational Database Management System).

Fig 5.1 arată interacționarea a bazei de date cu DBMS și PHP.

5.2 fig.: Interacționarea bazei de date cu DBMS și PHP

MySql din cauza următorilor caracteristici a devenit atractiv în ochii programatorilor:

gamă largă de compatibilitate

portabilitate

viteza mare de lucru, ușor de învățat

stabilitate

siguranța

flexibilitate

Apache:

Numele este un joc de cuvinte: " patchy server", care indică faptul că actualizarea serverului se face inițial de către webmasteri, cu patch-uri. NCSA a fost una dintre primele servere web care a fost dezvoltat de NCSA care se află la Universitatea din Illinois. Proiectul Apache a fost inițializat de webmastere, administratori când Rob McCool, dezvoltatorul aplicației webserver NCSA (National Center for Supercomputing Applications) în 1994 a dat demisa de la NCSA și webserver-ul nu a fost dezvoltat în continuare. Webmasterii au ținut legătura unul cu altul prin e-mail și au trimis reciproc patch-ul cu update-uri care a mers în jur. În 8 februarie 1995 a început dezvoltarea coordonată a web server-ului Apache. Apache este o alternativă viabilă necomercială, în domeniul serverelor de web. În zilele de azi este cel mai utilizat web sever și popularitatea sa crește în fiecare zi.

Apache nu face practic nimic altceva decât plasează documentele aflate în directoarele serverului web către clienții conectat prin protocolul HTTP. În unele cazuri avem nevoie ca fizic un singur server poate servi mai multe nume de web (ex.: www.unul.ro și www.altul.ro). Această procedura este numită Virtual Host, sunt create multiple virtual web servere. Dacă aceste servere au IP diferite atunci se numește IP Virtual Hosting, iar dacă au un singur IP se numește Name Virtual Hosting. Directorul în care vrem să furnizăm documentele se numește DocumentRoot.

CGI (Common Gateway Interface), ne permite să rulăm programe de server-side, și să utilizăm rezultatele pe site-ul nostru.

Magazin virtual

Magazinul virtual este compus în general din două părți: interfața utilizatori, aici pot efectua clienții cumpărăturile și naviga între produse. Și partea ascunsă de vizitatori, interfața de administrator, aici lucrează vânzătorii, managerii, administratorii și alții.

Magazinul virtual se bazează pe date stocate în baze de date și permite clientului să aleagă și apoi să achiziționeze în siguranță produse sau servicii online, cu ajutorul cărților de credit, prin transfer bancar.

Am ales să prezint funcționarea magazinului virtual printr-un exemplu de magazin care se ocupă cu vânzarea cărților. Mi s-a părut interesant cum tehnologia cea nouă, acum poate fi utilizată pentru comercializarea produselor tradiționale, care au existat mult înainte de apariția internetului.

Arhitectura magazinului „Bookstore”:

La construirea unui magazin virtual trebuie înainte de toate să răspundem la niște întrebări:

ce limbaj de programare este cel oportun pentru realizare

care este baza de date este cea mai potrivită (MySQL, PostgresSQL, OracleSQL, Axess, etc.)

cum este organizată baza de date

securitate

confidențialitate, etc.

Magazinul virtual trebuie să satisfacă anumite criterii:

aspect prietenos,

structură logică pentru stimularea vânzărilor,

aspect plăcut,

design din care reiese seriozitatea firmei,

conținut ușor de înțeles etc.

Funcțiile:

Pagina de cumpărători:

Înregistrare:

Oricine poate să umble și să pună produsele în coș, dar comenzile se pot efectua doar de către clienți înregistrați, autentificați.

Autentificare:

După înregistrare, clienții vor deveni utilizatori cu toate beneficiile oferite de magazinul virtual. Pot efectua comenzi, să folosească forumul, etc. dacă cineva a uitat parola are posibilitatea de a solicita prin e-mail o parolă nouă.

Coșul de cumpărături:

În pagină va apăra și coșul împreună cu conținutul, prețul final al cumpărăturilor posibilitatea de a șterge sau de a schimba numărul de bucăți.

Newsletter:

Cu ajutorul newsletterului simpli vizitatori pot fi transformați în cumpărători.

Căutare:

Clienții au posibilitatea de a căuta anumite produse, și de a seta preferințele de căutare.

Administrarea magazinului virtual:

Magazinul virtual poate avea mai mulți administratori care se ocupă cu actualizarea datelor. Au nevoie de o interfață rapidă, ușor de folosit, în care pot efectua următoarele operații:

crearea categoriilor de produse

modificarea categoriilor

ștergerea categoriilo

introducerea produselor noi

modificarea produselor

ștergerea produselor

încărcarea imaginilor produselor

căutare între produse

ștergerea utilizatorilor

modificarea prețurilor și a TVA-ului

adăugarea de administratori

crearea newsletter-ului

managementul comenzilor

informații stoc

Procesul de cumpărare:

Înregistrarea: este important să se furnizeze informații adevărate, corecte de către clienți. Căutarea produselor, punerea în coșul de cumpărături se poate face fără înregistrare. Numai la comandarea produselor puse în coșul de cumpărături este nevoie de înregistrare.

Selectarea categoriilor și căutarea: clasificarea produselor în categorii este importantă pentru găsirea mai ușoară a produselor. Din categorii sau cu ajutorul opțiunii de căutare vor găsi clienții produsul dorit.

Alegerea produselor: după selectarea categoriei sau după rularea căutării apar produsele dorite. Anumite produse pot conține imagini orientative, aici se pot pune produsele în coșul de cumpărături și pot să aleagă cantitatea dorită.

Coșul de cumpărături: după terminarea cumpărăturilor, dacă sunt autentificate, clienții pot finaliza cumpărăturile.

Livrarea: pagina trebuie să furnizeze informații despre livrare (costul, localitățile unde se face livrarea).

Preț: prețul este esențial de aceea trebuie să fie afișat prețul total care conține toate taxele aferente comenzii (exp.: taxa de transport, taxa verde pentru produse electronice, TVA, taxa ramburs dacă firma curierat cere taxă de returnare a banilor către furnizor, etc.)

Legislație: site-ul trebuie să conțină legislația în vigoare pentru informarea consumatorilor (exp.: returnarea produselor, garanție)

Returnarea produselor: Conform legislației românești în vigoare, renunțarea la cumpărare prin denunțarea unilaterală a contractului este aplicabilă doar consumatorilor clienți persoane fizice (OG 130/2000 Art 2 (1) lit. b). Consumatorul are dreptul să notifice în scris comerciantului că renunță la cumpărare, fără penalități și fără invocarea unui motiv, în termen de 10 zile lucrătoare de la primirea produsului sau, în cazul prestărilor de servicii, de la încheierea contractului (OG 130/2000 Art 7 (1) lit. b).

Comanda: clientul trebuie să aibă posibilitatea de a renunța la comandă, înaintea finalizării comenzii. Clientul trebuie anunțat printr-o confirmare de faptul că s-a efectuat preluarea comenzii sale. Este bine dacă ținem cont de trei criterii astfel încât comanda să fie efectuată fără probleme:

clientul exprimă dorința de a cumpăra produsul

furnizarea informațiilor referitor la toate detaliile comenzii

cumpărătorul trebuie să fie de acord să meargă mai departe pentru finalizarea comenzii și să aibă posibilitatea de a citi termenele și condițiile contractului. Clientul trebuie să ia conoștiță că a ajuns la sfârșitul comenzii.

Confidențialitatea datelor: toate magazine virtuale trebuie să aibă propria politică de confidențialitate a datelor. Ca clientul să știe că datele personale sunt în siguranță, se vor solicita datele absolut necesare pentru desfășurarea tranzacției. Clientul trebuie să știe datele personale cum vor fi utilizate, trebuie să aibă posibilitatea schimbării datelor personale, site-ul nu are voie să furnizeze informațiile către terți, etc..

Desfășurarea comenzii: trebuie furnizate informații despre articolul solicitat, dacă există în stoc sun nu, dacă nu este în stoc când va fi, notificare când comanda a fost livrată, finalizarea tranzacției când comanda a ajuns la clienți.

Calea produsului la client:

Când clientul validează conținutul coșului de cumpărături, administratorii magazinului virtual primesc comanda. După verificarea stocului trimit prin e-mail factura proformă ce conține produsele selectate și costul transportului.

Use case diagrame:

6.1.fig.: Cazul administratorului (vânzător)

6.2.fig.: Cazul utilizatorului (cumpărător)

Pagina principală

Clienților prima impresie contează ceea ce vede în prima dată. Din această primă impresie formează o opinie. De aceea este extrem de important ca pagina principală să fie impecabilă, să prezinte imediat esența întreprinderii. Pagina principală trebuie să conțină informații care să-i facă interesați pe majoritatea clienților, făcându-i curioși să meargă mai departe.

Unul dintre principalii factori care determină conținutul este gama ofertelor noastre principale. Dacă gama produselor pe care le vindem este relativ mică, atunci munca noastră este relativ simplă: este optim dacă pe pagina principală sunt prezente cele mai bune oferte din gama de produse.

Pe pagina principală sunt afișate categoriile de produse, în ordine alfabetică. Vizualizarea produselor aflate într-o anumită categorie se face prin click pe numele categoriei. Lista produselor apare în două coloane, una sub alta. Pentru fiecare produs se afișează: numele produsului, prețul produsului, prețul vechi și discount-ul aplicat pe acest produs (dacă este cazul), comanda și dacă există o imagine pentru produs, o versiune micșorată a imaginii originale, de mărime mai mică și calitate mai slabă. Aceste modificări pe imagini sunt necesare pentru a face descărcarea mai rapidă a paginii. Se poate pune direct produsul în coșul de cumpărături prin apăsarea butonului „Comandă”.

6.3 fig.: Prima pagină

Pagina detaliată a produsului se poate vizualiza accesând linkul definit pe imagine și de numele produsului. Aici sunt afișate toate informațiile aferente produsului. Tot aici apare coșul de cumpărături, împreună cu un element de formular. Specificând numărul dorit în acest text box.

6.4 fig.:Pagina detaliată a produsului

Coșul de cumpărături este situat în partea dreaptă a paginii. Tot timpul este afișat numele produsului sau produselor, numărul, valoarea finală a produselor selectate de a fi cumpărate.

Accesând coșul cumpărătorului putem modifica cantitatea comandată sau putem șterge produsele nedorite apăsând „X” roșu.

6.5 Fig.:Coșul cumpărătorului

După ce au fost selectate produsele, urmează procedeul de cumpărare propriu-zisă. Pentru a putea face acest lucru, utilizatorul paginii trebuie să fie autentificat, altfel apare mesajul de avertizare:

6.6 fig.: Mesaj de avertizare

Înregistrare:

Înregistrarea utilizatorilor noi se face accesând linkul lângă butonul "Login".

În cursul înregistrării clienții noi introduc datele personale, datele de contact, adresa de livrare, nr. telefon, etc. După completarea câmpurilor obligatorie semnate cu „*” se apasă butonul „Inregistreaza”, datele introduse sunt salvate în baza de date.

6.7 fig.: Formular de înregistrare

În mod normal livrarea se face la adresa care a fost indicată la înregistrare.

Codul sursă pentru crearea form-uli XHTM:

<form name="user" method="post" onsubmit="return checkuser();">

<input type="hidden" name="signupform">

<table align="center" class="insider">

<tr>

<td>Nume</td>

<td><input type="text" name="numele" maxlength="50" size="40"> <sup>*</sup></td>

</tr>

<tr>

<td>Adresa</td><td><input type="text" name="adresa" maxlength="50" size="40"><sup>*</sup></td>

</tr>

<tr>

<td>Localitatea</td><td><INPUT type="text" name="locality" maxlength="50" size="40"><sup>*</sup></td>

</tr>

<tr>

<td>Tara de resedinta</td>

<td><input type="text" name="country" maxlength="50" size="30"><sup>*</sup></td>

</tr>

<tr>

<td>Cod fiscal</td>

<td><input type="text" name="country" maxlength="50" size="30"><sup>*</sup></td>

</tr>

<tr>

<td>Introduce parola</td>

<td><input type="password" name="parola" maxlength="30" size="16"><sup>*</sup></td>

</tr>

<tr>

<td>Re-introduce parola</td>

<td><input type="password" name="parola1" maxlength="30" size="16"><sup>*</sup></td>

</tr>

<tr>

<td>E-mail</td>

<td><input type="text" name="email" maxlength="50" size="40"><sup>*</sup> </br>Atentie! Va fii folosit drept ca cont de utilizator</td>

</tr>

<tr>

<td>Numar telefon fix</td>

<td><input type="text" name="phone" maxlength="50" size="40"><sup>*</sup></td>

</tr>

<tr>

<td>Numar telefon mobil</td>

<td><input type="text" name="mobile" maxlength="50" size="40"></td>

</tr>

<tr>

<td>Cod postal</td>

<td><input type="text" name="zip" maxlength="10" size="10"></td>

</tr>

<tr>

<td colspan="2" align="center"><input type="submit" name="adduser" value="Inregistrare"></td>

</tr>

<input type="hidden" name="discount" value="0">

</table>

</form>

';

Câmpurile cerute la înregistrare sunt specificate în tabelul 1. împreună cu specificațiile caracterelor acceptate și a valorilor. „NU” înseamnă câmpurile care sunt obligatorii, iar „DA” înseamnă câmpurile care pot fi lăsate libere.

6.1.tab.: Câmpurile solicitate la înregistrare

Validarea formularului se face cu ajutorul unui script (Javascript ), care rulează în cadrul browserului (engl. client side scripting). Acest script va fi executat când butonul "Înregistrează" este apăsat. Dacă vreunul dintre câmpuri nu este completat cum trebuie, atunci returnează mesaj de eroare, în formă de fereastră separată( engl. javascript popup).

6.8 fig.: Mesaj de eroare

Scriptul de validare este următorul:

err = 0;

errc = ['OK'];

errc[1] = 'Va rog verificati codul postal (6 numere).';

errc[2] = 'Va rog introduceti numarul de telefon , cu prefix inclus.';

errc[3] = 'Verificati anul de expirare ,este din 4 numere: f, '

+ 'ex., 0709 este data corecta pentru Julie, 2011.';

errc[4] = 'Cardul nu functioneaza, va rog introduceti numarul inca o data?';

errc[5] = 'va rog nu lasati gol acest camp.';

errc[6] = 'Adresa de email invalid.';

errc[7] = 'Verificati data expirarii, daca apare ca fiind expirata.';

errc[8] = 'Verificati data de expirare, este incorect.';

errc[9] = 'Va rog completati acest inregistrare.';

errc[10] = 'Va rog introduceti numere.';

errc[11] = 'Introduceti adresa de web completa.';

function nwts(s) { // no white space

return s.replace(/\s+/g, '');

}

function trimwts(s) { // trim white space

return s.replace(/^\s+|\s+$/g, '');

}

function number(s) { // any number, including exponent

s = nwts(s)-0;

err = isNaN(s) ? 10 : 0;

return [err ? 0 : s];

}

function zip(s) { // zip code

var a = nwts(s).match(/\d{6}(-?\d{4}){0,1}/g);

err = a != null && a.length ? 0 : 1;

return a;

}

function tel(s) { // telephone, with area code + opt prefixes

var a = s.replace(/\D+/g, '-');

a = a.match(/(\d+-?)*(\d{3}-?){2}\d{4}/g);

err = a != null && a.length ? 0 : 2;

return a;

}

/* this code is copied from

http://www.codelib.net/home/jkm/checksum.js */

function checksum(s) { // thanks to [anonimizat] for AMEX specs

var p=0, e=8, t=0, c=[], r=0, l=0, i;

if (s.length != 16) {

t = 1;

e = s.length == 13 && 6 || s.length == 15 && 7;

}

for (i=p; i<e; i++)

r += (c[i] = s.charAt(i*2+t) * 2) > 9

? Math.floor(c[i]/10 + c[i]%10)

: c[i];

for (i=p; i<e+t; i++) l += s.charAt(i*2+1-t)-0;

l += r;

return e && l%10 == 0;

}

function cardno(s) {

s = s.replace(/\D+/g, '');

err = checksum(s) ? 0 : 4;

return [s];

}

function text(s) {

s = trimwts(s);

err = s.length ? 0 : 5;

return [s];

}

function words(s) {

s = trimwts(s);

err = /\s/.test(s) ? 0 : 9;

return [s];

}

function email(s) {

a = s.match(/\S+@([-\w]+\.)+\w+/g);

err = a != null && a.length ? 0 : 6;

return a;

}

function url(s) {

a = s.match(/\w{2,}:\/{2}([-\w]+\.)+\w+\S*/g);

err = a != null && a.length ? 0 : 11;

return a;

}

function expires(s) {

s = nwts(s);

var m = new Date()

var m_year = m.getFullYear()%100, m_month = m.getMonth();

if (s.length != 4 || isNaN(s))

err = 3;

else {

s_month = s.substring(0,2)-0;

s_year = s.substring(2, 4)-0;

if (m_year > 70 && s_year < 30) s_year += 100;

/* "Let your great grandson worry about that." */

if (s_year < m_year || s_year > m_year + 6) err = 8;

else if (s_year == m_year && !(s_month > m_month)) err = 7;

else err = 0;

}

return [s];

}

function valid(element, check) {

if (element.type == 'text' || element.type == 'textarea') {

return check(element.value);

} else return check(element);

}

present_element = null, present_error = null;

function validate(form, list) {

for (i=0; i<form.elements.length; i++) {

var element = form.elements[i];

var n = element.name, out;

if (list[n] && list[n].verify) {

out = valid(element, list[n].verify);

if (err &&

(list[n].force || present_element != element || present_error != err)) {

present_error = err;

present_element = element;

alert(list[n].message || errc[err]);

element.focus();

return false;

} else if (!err && list[n].filter)

element.value = out.join(', ');

}

}

return true;

}

6.2.tab.: Tabelul „Users” din baza de date MySql

Clienții au posibilitatea de a schimba datele personale. În partea stângă a paginii principale în locul formularului de autentificare apare adresa de email cu care s-a făcut înregistrarea astfel devenind numele de utilizator, aici apare linkul „Datele mele” accesând acest link poate schimba datele introduse la înregistrare.

6.9 fig.: Modificare date personale

Autentificare:

Avem nevoie de această facilitate pentru că sistemul detectează în mod continuu mișcările clientului. Clientul poate pune cu un singur click produsul selectat în coșul de cumpărături și nu trebuie să introducă datele personale și de contact.

6.10 fig.: Formular de autentificare

După introducerea datelor cerute (Username și Parola) cu apăsarea butonului „Login” se ajunge în secțiunea pentru utilizatori înregistrați.

Dacă parola sau numele de utilizator sunt greșite primim un mesaj de eroare. Dacă am uitat parola putem cere să ne trimită prin email numele de utilizator și o parolă nou.

Accesând linkul "Am uitat parola" apare un formular, în care introducând adresa de email, dacă există utilizatorul cu adresa de email specificată, parola va fi trimisă pe adresa introdusă.

6.11 fig.: Formular parola

Finalizarea comenzii:

În coșul de cumpărături, după ce autentificarea a fost efectuată, prin apăsarea butonului "Comanda" ajungem la pagina de finalizare a comenzii. Aici avem posibilitatea de a schimba adresa de livrare dacă adresa de livrare este diferită de cea introdusă la înregistrare. Se alege metoda de transport, sau firma transportatoare. Acestea având de obicei taxe diferite și timp de livrare diferit.

6.12.fig.: Spațiu pentru finalizarea comenzii

Cu apăsarea butonului de „Confirmă comanda” ajungem la pagina următoare unde sunt afișate modalitățile de plată:

prin card bancar: utilizatorul este redirecționat către un procesor de plăti on line (engl. payment gateway), unde introduce informațiile cerute de pagina de procesare, banii sunt transferați pe contul vânzătorului, care primește o validare de plată. Un exemplu demonstrativ despre plata cu cardul sau cartea de credit prezentat de cel mai cunoscut procesator de plăți online cu cardul Epayment.ro, care a implementat sistemul de plata online pe cele mai multe aplicații de tip magazine online:

http://www.epayment.ro/informare/info-cumparatori.php

plata la livrare: utilizatorul plătește contravaloarea la primirea produselor

ordin de plată: metoda cea mai complicată, atât pentru utilizator, cât și pentru vânzător. În cazul aceasta, vânzătorul trimite o factură proformă la cumpărător, care transferă banii prin metode vechi, iar asta durează în România câteva zile. Când banii ajung în contul vânzătorului, marfa abia atunci este livrată către cumpărător.

6.13.fig.: Finalizare comandă

La finalizarea cumpărăturilor coșul este golit, cumpărătorul primește prin e-mail, o factură proformă, pe aceasta scrie metoda de plată, metoda de livrare, adresa de livrare specificată de cumpărător și lista detaliată a comenzii: numele, cantitatea și valoarea produselor solicitate.

6.14.fig.: Comanda finalizată

Pagina de administrator:

6.3.tab.: Conținutul tabelului MySql „siteuser”

Accesul la partea de administrator a pagini este restricționat printr-un sistem de autentificare. În pagina de administratori avem două nivele: Admin și Site Admin.

Nivelul Admin are acces la toate datele legate de produse, vânzări, de asemenea poate să modifice elementele listelor predefinite:

categorii de produse

autori

edituri

limbi

vânzări

documente

modalități de livrare

tipuri de moneda

discount-uri

produse

Nivelul Site Admin are acces la toate informațiile poate să modifice orice ce poate să modifice nivelul Admin plus:

administrarea utilizatorilor și a modulului "Administrator"

La începutul fiecărui fișier este inclus un fișier cu setări inițiale ,numit "init.php", în acest fișier sunt specificate nivelele de restricții.

Conținutul acestui fișier este:

// realizarea conexiunii la baza de date MySql

include("config.inc");

//conține clase și funcțiile adiționale folosite la autentificare.

include("admins.php");

//conține alte funcții, ex. generarea listelor drop down din liste predefinite

include("functions.php");

//începerea sesiunii

session_start();

//includerea fișierului cu textele predefinite

require("../files/store1/lang/romanian.php");

$include_path="files/store1/";

$images_path=$include_path."images/";

//crearea obiectului prin care se realizează autentificarea

$admlogin=new Login();

//autentificarea propriu – zisă

$admlogin->intra();

Această metodă verifică dacă informațiile venite prin metoda POST sunt trimise din formularul de autentificare,

if (isset($_POST['uLogin']))

Dacă sunt, atunci verifică în baza de date dacă există acest nume administrator cu parola respectivă,

$query = "SELECT siteusers_id,username,level FROM siteusers WHERE username='${_POST['uNume']}' AND password = '".pg_escape_string($_POST['uParola'])."'";

//echo $query;

$eredm=pg_query($query) or die('error');

dacă există ,atunci se setează variabilele de sesiune:

//nivel administrator

$_SESSION["level"]=$xx['level'];

//identificatorul userului in baza de date

$_SESSION["loginid"]=$xx['siteusers_id'];

//numele de utilizator

$_SESSION["username"] = $xx['username'];

dacă informațiile nu provin din formular, atunci verifică dacă sunt setate deja variabilele amintite mai devreme, și din aceste variabile, setează atributele clasei:

if ($this->level < $requiredlevel){

echo LOWLEVEL;

exit();

}

$this->level=$_SESSION["level"];

$this->username=$_SESSION["username"];

$this->loginid=$_SESSION['loginid'];

$this->incercare = true;

dacă nici una nu este adevărată, atunci afișează iarăși formularul de autentificare

$this->formular();

verificarea nivelului cerut pentru modulul care trebuie afișat se face prin metoda:

if ($this->level < $requiredlevel){

echo LOWLEVEL;

exit();

if ($this->level < $requiredlevel){

echo LOWLEVEL;

exit();

}

}

adică, dacă nivelul nu este mai mic decât necesarul, atunci termină executarea scriptului, se blochează.

if ($this->level < $requiredlevel){

echo LOWLEVEL;

exit();

}

Categorii de produse:

Aici se pot predefini diferite categorii de produse.

Modificarea categoriilor de produse deja introduse se face prin accesarea link-ului predefinit de imaginea:

Ștergerea categoriilor de produse se face prin accesarea link-ului predefinit de imaginea:

6.15.fig.: Pagina de administrator „Categorii de produse”

Meniu adăugare autori, editura, Info limbă:

Autori:

6.16 fig.: Listă predefinită „Autori”

Editura:

6.17 fig.: Listă predefinită „Editura”

Info limbă:

6.18.fig.: Listă predefinită „Info limbă”

Verificarea câmpurilor ca să nu rămână libere este făcut cu JavaScript:

if (trim(x.numecamp.value)==""){

alert('Empty field');

x.numecamp.focus();

return false;

}

Meniu administrare produse:

În această pagini sunt luate toate produsele din baza de dată:

$result=mysql_query("select * from produse_detaliat order by numeprodus");

se afișează într-un tabel.

echo " <table class='sortable' id='prod'><tr>

<TH>".NUMEPRODUS."</TH>

<TH>".CATEGORIE."</TH>

<TH>".DENUMLIST1."</TH>

<TH>".DENUMLIST3."</TH>

<TH>".DESCRIERE1."</TH>

<TH>".DESCRIERE2."</TH>

<TH>".DESCRIERE3."</TH>

<TH>".DISPLAY."</TH>

<TH>".PRET1."</TH>

<TH>".MAGAZIE."</TH>

<TH>".DISCOUNT." %</TH>

<TH>".UPDATE."</TH>

</tr>";

while($row=pg_fetch_array($result)){

echo "<tr>

<td class=tablebody><b>".$row['numeprodus']."</td>

<td class=tablebody>".$row['denumcategorie']."</td>

<td class=tablebody>".$row['denumlist1']."</td>

<td class=tablebody>".$row['denumlist3']."</td>

<td class=tablebody>".$row['descriere1']."</td>

<td class=tablebody>".$row['descriere2']."</td>

<td class=tablebody>".$row['descriere3']."</td>

<td class=tablebody>".$row['display']."</td>

<td class=tablebody>".$row['pret1']." ".$row['currency']."</td>

<td class=tablebody>".$row['magazie']."</td>

<td class=tablebody>".$row['discount']."</td>

<td><a href=produs.php?idprodus=".$row['idprodus'].">

<IMG src=\"edit.gif\" alt=\"edit\" width=\"16\" height=\"16\" hspace=\"0\" vspace=\"0\" border=\"0\"> </a>&nbsp;&nbsp; <a href=produslist.php?del=".$row['idprodus']." onClick=\"return confirm('Sunteti sigur ca vreti sa stergeti?')\">

<IMG src=\"delete.gif\" alt=\"delete\" width=\"17\" height=\"16\" hspace=\"0\" vspace=\"0\" border=\"0\"></a></td></tr>";

}

echo "</table>";

6.19 fig.: Adăugare Cărți

Editarea se efectuează accesând linkul definit de imaginea , ștergerea

Dând click pe header-ul tabelului se poate organiza fiecare coloană crescător, descrescător.

La fiecare produs poate fi adăugată o imagine accesând linkul predefinit de imaginea .

Existența imaginii la un produs arată semnul ce apare după adăugarea imaginii la produsul respectiv.

Adăugarea sau modificarea propriu-zisă este executată în fișierul "produs.php".

La începutul fișierului este o structură IF, dacă există variabila idprodus, trimisă prin URL, atunci selectează înregistrarea care are idprodusul respectiv și un element hidden este definit în formularul ce apare pe pagină.

if (isset($_GET['idprodus'])){

$x=pg_query("select * from public.produse where idprodus= ${_GET['idprodus']}");

$old=pg_fetch_array($x) or die("Eroare 2");

$act=MODIFY;

echo "<input type=\"hidden\" name=\"idprodus\" value= \"".$_GET['idprodus']."\">";

}else{

$act=ADD;

}

Mărimea maximă a imaginilor care pot fi adăugate la produse este 3 MB. Imaginea originală este copiată într-un folder, iar o copie micșorată este creată și pusă într-un alt folder.

if (isset($_GET['idprodus'])){

$x=pg_query("select * from public.produse where idprodus= ${_GET['idprodus']}");

$old=pg_fetch_array($x) or die("Eroare 2");

$act=MODIFY;

echo "<input type=\"hidden\" name=\"idprodus\" value= \"".$_GET['idprodus']."\">";

}else{

$act=ADD;

}

Când alegem opțiunea adăugării imagini aceasta apare într-o fereastră pop-ap.

6.20.fig.: Fereastră pop-ap pentru adăugarea imaginii

Adăugarea unui nou produs se face accesând link-ul „Adăugare”.

Pe această pagină poate fi definit discount-ul, pentru produsul respectiv. Acest discount este aplicat pentru fiecare utilizator care cumpără acest produs între datele specificate în câmpuri "Valabil de la" și "Până la".

De asemenea, poate fi definit volumul minim la care discount-ul va fi aplicat. Dacă valoarea cumpărăturilor nu ajunge la suma respectivă, nu se aplică discount-ul.

6.21.fig.: Adăugare produs nou

Câmpurile sunt verificate cu Javascript dacă este format de data:

function isDate(dtStr){

var daysInMonth = DaysArray(12)

var pos1=dtStr.indexOf(dtCh)

var pos2=dtStr.indexOf(dtCh,pos1+1)

var strYear=dtStr.substring(0,pos1)

var strMonth=dtStr.substring(pos1+1,pos2)

var strDay=dtStr.substring(pos2+1)

strYr=strYear

if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)

if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)

for (var i = 1; i <= 3; i++) {

if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)

}

month=parseInt(strMonth)

day=parseInt(strDay)

year=parseInt(strYr)

if (pos1==-1 || pos2==-1){

alert("The date format should be : yyyy-mm-dd")

return false

}

if (strMonth.length<1 || month<1 || month>12){

alert("Please enter a valid month")

return false

}

if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){

alert("Please enter a valid day")

return false

}

if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){

alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)

return false

}

if (dtStr.indexOf(dtCh,pos2+1) != -1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){

alert("Please enter a valid date")

return false

}

return true

}

sau de număr,

function IsNumeric(strString)

// check for valid numeric strings

{

var strValidChars = "0123456789.";

var strChar;

var blnResult = true;

if (strString.length == 0) return false;

// test strString consists of valid characters listed above

for (i = 0; i < strString.length && blnResult == true; i++)

{

strChar = strString.charAt(i);

if (strValidChars.indexOf(strChar) == -1)

{

blnResult = false;

}

}

return blnResult;

}

Meniu utilizatori:

La managementul utilizatorilor (cumpărătorilor) paginii – se pot adăuga, modifica, șterge datele personale ale utilizatorului, sau chiar toată înregistrarea. Utilizarea acestui modul necesită privilegii Site Admin.

6.22.fig.: Adăugare, modificare utilizatori

Meniu vânzare:

Afișarea comenzilor actuale încă neterminate:

La fiecare comandă apare numele cumpărătorului, data efectuării comenzii, data plății,( dacă este cazul), suma totală a comenzii, și starea comenzii.

Starea comenzii poate fi:

– Neplătit, Nelivrat a fost efectuată comanda din partea cumpărătorului, dar încă nu a fost plătită și nimic nu a fost făcut cu ea din partea vânzătorului

– Plătit, Nelivrat: comanda a fost făcută și plătită, prin metoda de plată aleasă de cumpărător, dar încă nu este livrată marfa

– Neplătit, Livrat: marfa a fost livrată, comanda încă nu este plătită – cazul acesta apare la metoda de plată: plata la livrare. În acest caz banii de la cumpărător sunt preluați de către transportator și apoi ajung la vânzător.

– Plătit, Livrat: marfa este livrată și plătită – aceasta este ultima fază, tranzacția este încheiată în totalitate.

Se afișează doar comenzile din ultima lună, restul pot fi vizualizate specificând perioada pentru care vrem să afișăm comenzile.

Se alege de la ce dată până le ce dată se afișează comenzile, se apasă butonul "Filtrează" și apare lista comenzilor efectuate în această perioadă.

6.23.fig.: Starea comenzii

Meniu documente:

În această pagină sunt definite documente care apar pe pagină (cum cumpăr, plata, livrare, etc.) Adăugarea documentelor se face completând formularul și apăsând butonul "Adaugă".

6.24.fig.: Adăugare modificare documente

Meniu administratori:

Continuând descrierea realizată la începutul prezentării, la accesarea paginii, utilizatori admin se pot adăuga, șterge, modifica în modulul administratori, adăugarea se face completând formularul ( toate câmpurile trebuie completate ), apoi apăsând butonul "Adăugă". La ștergere apare o fereastră de confirmare (engl. Javascript pop up), în care se afișează întrebarea " Sunteți sigur că vreți să ștergeți? ". Apăsând butonul "OK" înregistrarea va fi ștearsă. Apăsând butonul "Cancel", ștergerea este întreruptă, se revine la starea precedentă.

6.25.fig.: Mesaj de avertizare

Date cerute la adăugarea unui administrator nou sunt:

Nume administrator

Parola

Parola încă o dată

Nume, Prenume – numele real al administratorului

E-mail

Nivelul de acces, poate fi : Admin și Site Admin

Nivelele de acces au fost prezentate mai sus. Nu pot să fie două nume de administrator identice.

6.26.fig.: Adăugare administrator și selectare nivel Admin

Meniu transport:

Aici pot fi definite firmele de curierat, prețurile de transport și o scurtă descriere despre condițiile de transport. Pe pagină apare lista transportatorilor definită până acum, dedesubt apare formularul prin care se poate introduce un transportator nou, respectiv modifica cel existent.

6.27.fig.: Firme curierat existente în momentul de față și adăugare noi firme și condiții

Meniu promoții:

În cadrul programului există trei tipuri de discount-uri:

discount aplicat pentru un anumit produs, cumpărat de orice cumpărător înregistrat, acesta poate fi setat la Modulul cărți, la produsele deja introduse pot fi adăugate accesând link-ul definit de imaginea .

discount general, pentru un interval de timp, pentru toate produsele și pentru toți utilizatorii.

De asemenea, pentru toate produsele se poate defini intervalul de valabilitate. De la ce dată, până la ce dată este valabil discount-ul. Aici apar toate produsele care sunt în promoție și pot fi modificate discount-urile definite la introducerea produselor.

6.28.fig.: Adăugare discount pentru toate produsele

Concluzii

În lucrarea mea am detaliat beneficiile participării la comerțul electronic. Instrumentele de a participare în comerțul electronic sunt webshopurile.  În contextul lucrării mele am creat un prototip de magazin virtual care se ocupă cu comercializarea cărților.

Scopul meu, cu magazinul virtual este de a prezenta construirea magazinului electronic, prezentarea amănunțită a modalității de funcționare a acestuia, precum și legislația în vigoare.

În lucrare, prin magazinul electronic realizat de mine, am prezentat: etapele de pregătire ale magazinului, cum se pregătește prin proiectare și programare, mai sunt  prezentate interfețele de utilizator și site admin.

Prin acest prototip am dorit să arăt, că nu e așa de dificil realizarea drumului produselor, de la vânzător până la cumpărător, pe calea Internetului.

Bibliografie:

http://xhtml.com/en/xhtml/reference/base/

http://www.w3schools.com/js/

http://www.php.net/

http://en.wikipedia.org/wiki/Php

http://en.wikipedia.org/wiki/Xhtml

http://en.wikipedia.org/wiki/Javascript

Bibliografie:

http://xhtml.com/en/xhtml/reference/base/

http://www.w3schools.com/js/

http://www.php.net/

http://en.wikipedia.org/wiki/Php

http://en.wikipedia.org/wiki/Xhtml

http://en.wikipedia.org/wiki/Javascript

Similar Posts