Tranzactii Electronice. Notiune Si Tipologie

CUPRINS

INTRODUCERE

CAPITOLUL I TRANZACȚII ELECTRONICE – NOȚIUNE ȘI TIPOLOGIE

1.1. Apariția Internetului și evoluția comerțului electronic

1. 2. Clasificarea tranzacțiilor electronice

1. 3. Modele ale comerțului electronic

CAPITOLUL II PROIECTAREA APLICAȚIEI

2.1 Servere web și HTTP

2.3 Structura documentului HTML

CAPITOLUL III PREZENTAREA ȘI ANALIZA APLICAȚIEI

3.1 Structura bazei de date

3.2 Structura aplicatiei

3.3 Codul sursă al proiectului

CONCLUZII

BIBLIOGRAFIE

INTRODUCERE

Descoperirea Internetului reprezintă un moment de răscruce în istorie, cu nimic mai prejos decât a fost Revoluția Industrială. Este marea transformare a vremurilor în care trăim și chiar dacă ne place sau nu, lumea se schimbă și noi facem parte din ea.

Cele mai mari descoperiri ale științelor au avut loc în ultimul mileniu, iar ultimul secol este considerat cel mai dinamic datorită revoluției informaționale care a adus oamenii în stadiul unui progres nesperat, ce dezvăluie noi miracole utile în orice domeniu.

După cum fiecare mare revoluție și-a pus amprenta asupra societății, și cea informațională a avut un mare impact și încă va avea, având în față tendințele ce se prefigurează pentru următorii ani, sau chiar luni în domeniul tehnologiilor informaționale. Între e-Revolution și e-Life au intervenit reacții obișnuite precum frustrarea, furia, confuzia, intimidarea sau teama, alienarea față de muncă, de cei din jur, în concluzie față de timpurile prezente. Putem afirma că nedumerirea în ceea ce privește Internetul și Revoluția Informației nu ar trebui caracterizată ca fenomen individual, pentru ca el are atât efecte cât și reacții la nivel global.

Evoluția continuă a civilizației a produs treceri de la cai și trăsură, la călătoria în spațiu; de la patefonul Victrola la compact discul Sony; de la penițele cu cerneală la Microroft Word. De aceea tehnologia informației este considerată astăzi un element esențial pentru obținerea unui avantaj competitiv. Concurența tot mai acerbă determinată de fenomenul globalizării piețelor, determină firmele ce nu reușesc să utilizeze resursele strategice oferite de noile tehnologii să înregistreze adevărate insuccese.

Revoluția e-business a cuprins întreg globul, afacerile se desfășoară acum și aici, oriunde, oricând și în orice colț al Terrei. Lumea întreagă este conectată, multe firme mici pot deveni acum leaderii pieței globale de la o zi la alta, fapt ce va duce la un beneficiu universal sintetizat prin orice cuvânt căruia i se adaugă un „e”. Internetul este cea mai mare rețea de calculatoare, de fapt o rețea de rețele, ce a apărut la începutul anilor ’80 prin revoluția calculatoarelor personale, urmată de cea a rețelelor, adik legarea calculatoarelor între ele folosind liniile telefonice comutate și inchiriate sau rețelele de televiziune prin cablu și routere. World Wide Web, cea mai nouă aplicație a Interetului, a devenit cel mai amplu sistem de informații din lume, transformând calculatorul personal într-un serviciu mondial de informare, o bază mondială de date, mass-media, o enciclopedie sau o bibliotecă, iar mai de curând în televizor sau cinematograf. Orice calculator conectat la internet oferă posesorului său informații de orice tip, oriunde și oricând, îl poate ajuta să își achite facturi, să realizeze cumpărături, sa participe la licitații sau sa își rezerve bilete de avion sau camere de hotel.

Scopul lucrării este atât acela de a descoperi și înțelege, cât și mai mult de a conștientiza importanța comerțului electronic pe fondul noii economii, al noii societăți, societatea informațională. Un alt determinant important l-a reprezentat contribuția pe care o poate aduce noua formă de comerț, atât la nivel internațional cât și național.

Lucrarea se întinde pe trei capitole, după cum urmează:

Primul capitol, intitulat „Tranzacții electronice – noțiune și tipologie”, structurat la rândul său pe trei subcapitole, prezintă pornind de la apariția și evoluția comerțului electronic, conceptele și clasificările tranzacțiilor electronice, formele, elementele componente și modelele comerțului electronic, precizând câteva noțiuni legate de vânzările on-line. Capitolul al doilea prezintă structura documentelor HTML, PHP, crearea bazelor de date cu MYSQL. În ultimul capitol este prezentată partea practică care constă în realizarea unui magazin virtual pentru vănzarea produselor electronice Capitolul conține 3 subcapitole cu structura bazei de date, structura aplicatiei și listingul programului

CAPITOLUL I TRANZACȚII ELECTRONICE – NOȚIUNE ȘI TIPOLOGIE

„Internetul a devenit forța primară de modelare a societății și afacerilor secolului XXI.”

– Coy Barefoot –

1.1. Apariția Internetului și evoluția comerțului electronic

Omenirea a progresat în ultimii ani mai mult decât în oricare altă perioadă a evoluției sale. Revoluția informației din cea de la începutul secolului al XXI-lea a constituit motorul care a dus societatea actuală la un progres nesperat. Înalta tehnologie a permis strângerea unor cantități imense de informații pe suporturi magnetice, aproape imposibil de perceput pentru simțul uman. Acum, informații în cantități imense din orice domeniu sunt disponibile în rețeaua Internet, apogeul tehnologiei informației.

Internetul este o lume fascinantă, aflată în continuă schimbare, aflată în fruntea fenomenelor ce influențează viitorul economic mondial. Se apreciază că Internetul, cea mai flexibilă structură pe care a cunoscut-o omenirea, este cel mai important proiect de conectivitate umană creat pe pământ.

Ani de zile Internetul a fost “jucăria” oamenilor de știință și a instituții lor de învățământ superior, fiind utilizat în scopuri științifice sau pentru comunicarea în domeniul academic. La momentul actual Internetul a trecut pe principii comerciale(odată cu retragerea subvenționării structurii sale de baza de către guvernul american). Efectul imediat a fost apariția unor servicii noi, cum ar fi reclamele, comerțul electronic sau alte servicii orientate pe obținerea de profit. Internetul a pătruns zonele ce nu au fost avute in vedere inițial, inaugurându-se astfel cea mai mare piață de desfacere din lume, o piață de dimensiuni globale, ce s-a extins pe întreaga planetă.

Dezvoltarea rapidă din ultimii ani a tehnologiei informației și comunicațiilor (TIC) a avut un impact puternic asupra societății și economiei globale, aducând în prim-plan schimbări fundamentale ale modelelor de producție și distribuție, condițiilor comerciale, ocupării forței de muncă și vieții cotidiene. La început de mileniu, economia mondială se află într-un proces de trecere de la societatea predominant industrială la societatea informațională, definită de un nou set de reguli care duc la apariția a ceea ce se numește noua economie.

Internetul poate fi considerat o structură, dar în același timp și o societate, care cu excepția unor parametrii tehnici se dezvoltă în mod liber, neîngrădit de prevederi legale ale statelor pe teritoriul cărora se desfășoară serviciile rețelei.

Deschiderea către comerțul electronic, și în general către Internet va duce la găsirea unor specialiști măcar avizați, dacă nu foarte competenți și aceasta datorită faptului că avem în față modelul cunoscutul din alte țări dezvoltate și anume modelul de tip exploziv, și anume în sensul că acele companii care nu vor putea să facă trecerea rapidă la noile tehnologii vor pierde în fața celorlalte. Piața Internetului are dimensiuni gigantice, în comparație cu dimensiunile pieței de referință prin mijloace clasice.

Fenomen dinamizator în cadrul societății industrializate, Internetul a devenit un factor major al dezvoltării la scară globală a regulilor și mecanismelor economiei de piață. Noile legi care guvernează această restructurare globală se definesc pe câteva axe. În primul rând, prosperitatea în acest nou regim, al noii economii, curge direct din inovație și nu optimizare. Succesul și bogăția nu se câștigă prin perfecționarea a ceea ce se cunoaște deja, ci prin (imperfecta) stăpânire a necunoscutului. În al doilea rând, mediul ideal pentru cultivarea necunoscutului este de a fructifica agilitatea supremă și sprinteneala rețelelor.

Una dintre principalele utilizări ale Internetului în viata de zi cu zi este comerțul electronic. Termenul de comerț electronic înglobează diferite activități, printre care se pot număra: activități de vânzare și cumpărare efectivă, dar și activitățile adiacente, cum ar fi reclama și transmiterea ordinelor de plată.

Comerțul electronic este un concept integrat, creat pentru a unifica o mare varietate de servicii în domeniul afacerilor, plecând de la poșta electronică transmisă între diferite organizații, registrele de adrese, sisteme electronice pentru efectuarea plații de la distanță, informații de ordin managerial sau rapoarte statistice. Termenul este însă folosit cu în sens mult restrâns, reducându-se la tranzacții comerciale electronice și magazine electronice, iar în sens general termenul definește afacerile electronice. De asemenea, exista tendința de a reduce scopul comerțului electronic la achiziția de bunuri și servicii dar este necesară o generalizare a acestui scop pentru a include orice fel de tranzacție care presupune o afacere sau o relație inter-organizațională, ce se realizează cu ajutorul mijloacelor electronice.

Comerțul electronic este unul din cele mai importante elemente ale afacerilor electronice. Prin comerț electronic (e-comerț) se subânțelege orice formă de înțelegeri cu privire la afaceri, la care conlucrarea între părți are loc în mod electronic în loc de schimb sau contact fizic între părți și în urma carieră dreptul de utilizare sau proprietate a mărfii sau serviciului este transmis de la o persoana la alta.

Comerțul electronic înseamnă, în accepțiunea tradițională, utilizarea unor aplicații de tipul transferului electronic de documente, a comunicațiilor fax, a codurilor de bare, a transferului de fișiere și a poștei electronice. Dezvoltarea Internetului, în toate segmentele societății, a condus la o tendință tot mai evidentă a companiilor de a folosi acest mediu în comerț, care să apeleze pe lângă vechile și altele noi, specifice tehnologiilor world wide web.

Industria comerțului electronic face, în general, distincția între tranzacțiile Business-to-Business (B-2-B sau BTB) și tranzacțiile Business-to-Consumer (B-2-C sau BTC):

B-2-B cuprinde toate tranzacțiile ce se efectuează între doi sau mai mulți parteneri de afaceri. Aceste tranzacții se bazează, de obicei, pe sisteme extranet, ceea ce înseamnă că partenerii de afaceri acționează pe Internet prin utilizarea de nume și parole pentru paginile de web proprii.

B-2-C se referă la relațiile dintre comerciant și consumatorul final, fiind considerat comerț electronic cu amănuntul.

Evenimentele care au avut loc în ultimii ani în lumea tehnologiei informației au avut un impact major asupra tuturor actorilor de pe această piață și au influențat economia mondială. Această evoluție are un impact major asupra economiilor, în ceea ce privește crearea de noi întreprinderi, diversificarea celor existente și, în special, asupra potențialului pieței forței de muncă și a gradului de ocupare a acesteia în viitor.

1. 2. Clasificarea tranzacțiilor electronice

Comerțul electronic poate fi împărțit în două categorii mari: comerțul dintre persoane și companii (B2C, business-to-consumers, companii-consumatori), numit și comerț electronic cu amănuntul, și comerțul dintre companii (B2B, business-to-business).

Primul tip de comerț, cel ce are loc între consumatorii – persoane fizice care dispun de un calculator personal conectat la Internet și comercianții care își expun produsele pe site, acolo unde persoanele văd și aleg produsele expuse, după care inițiază plata produselor cumpărate cu un card bancar de plată. Acest tip de e-comerț derulează cel mai mare număr de tranzacții, dar valoarea totală anuală a acestuia este totuși nesemnificativă în raport cu valoarea tranzacțiilor din comerțul electronic dintre companii.

Al doilea tip de comerț electronic, este cel dintre companii care constă în comerțul dintre companiile care se aprovizionează și cele care sunt furnizori de produse. Furnizorii își expun marfa pe Internet, iar companiile care achiziționează aleg și emit o comandă electronică de achiziționare, plata fiind, de regulă, realizată ulterior, electronic sau prin mijloacele bancare existente.

Formele comerțului electronic:

Comerțul electronic poate lua mai multe forme, în funcție de gradul de digitizare al elementelor sale de lucru, și anume:

produsul (serviciul) vândut;

procesul;

agentul de predare (sau intermediarul).

Se identifică trei forme de comerț electronic, și anume:

Comerț tradițional – conține elementele doar în format fizic;

Comerț electronic mixt – reprezentat de elemente digitale și cel puțin un element fizic, ca de exemplu: cumpărarea de cărți de la Amazon, implică un agent fizic pentru expedierea cărților (compania FedEx).

Comerțul electronic pur – este cel care conține toate cele tei elemente în format digital; sper exemplu.: cumpărarea de software de pe Internet, implică produs digital, furnizarea digitală a produsului, plată digitală.

Cadrul de lucru

Comerțul electronic înseamnă mai mult decât existența unui site de Web, și anume home banking, cumpărături on-line din magazine și mall-uri virtuale, cumpărări de acțiuni, căutări de job-uri, conducere de licitații, colaborări electronice în cercetare, dezvoltare de proiecte.

O schemă sintetică a cadrului de lucru este prezentată în figura de mai jos (Figura 1).

Fig.1.1 Cadrul de lucru al comerțului electronic

Toate acestea reprezintă aplicații de comerț electronic care necesită susținere informațională, sisteme și infrastructuri organizaționale.

Aplicațiile de comerț electronic sunt dependente de patru mari domenii (piloni ai piramidei): utilizatori, politici publice, protocoale și standarde tehnice, alte organizații. Managementul comerțului electronic stă la baza piramidei și coordonează aplicațiile, infrastructurile și bazele aplicațiilor.

Schema de principiu a comerțului electronic

În schema următoare este prezentat principiul de funcționare a comerțului electronic desfășurat pe Internet între consumatori – persoane fizice și comercianți, în care plata cumpărăturilor se face prin card bancar de plată, acesta fiind național sau internațional.

Fig.1.2. Schema de principiu a comerțului electronic prin Internet,

cu plata prin carduri.

Elementele prezente în schemă sunt: un site de comerciant, aflat pe un server de găzduire, cumpărătorul cu calculatorul său personal, cuplat software printr-un navigator la Internet, băncile emitente și acceptare a cardului cu care se face plata și sistemul de carduri (național sau internațional) din care fac parte. Dreptunghiul figurat punctat și cuprinzând calculatorul personal, legătura prin Internet și situl comerciantului, cu un terminal de plată cu card, adică reprezintă un POS virtual.

Elementele componente ale comerțului electronic

Principalele componente ale unei activități de comerț electronic desfășurate prin Internet sunt următoarele:

a). comerciantul, acceptatorul său și situl comerciantului pe Internet,

b). cumpărătorul plătitor cu card, calculatorul său personal, portofelul său electronic și emitentul cardului;

c). telecomunicațiile sigure dintre cumpărător și sit, și dintre un sit și acceptatorul comerciantului;

d). aplicația de eComerț a acceptatorului, distribuită, cu un modul client în situl comerciantului și un modul server în SMC-ul acceptatorului, și poarta de acces la Internet;

e). serverul din Internet care asigură găzduirea siturilor de comerciant și legăturile cu SMC-urile acceptatorilor (sau ale procesatorilor independenți adoptați de aceștia);

f). riscurile, fraudele și disputele;

g). protocoalele de autentificare care asigura securitatea sporită a tranzacției;

h). costul tranzacțiilor, microplățile;

i). piețele electronice, licitațiile.

a). Comerciantul, acceptatorul său și situl comerciantului pe Internet

Un comerciant ce dorește să vândă prin Internet și să accepte plăți prin carduri, trebuie să-și găsească o bancă acceptatoare, care să-i ofere un contract special de cont de comerciant pe Internet. Acest acceptator va trebui să dispună de un sistem de management de carduri, SMC, capabil să proceseze tranzacții de eComerț sau să externalizeze această procesare către un procesator independent specializat.

Contractul de comerciant pe Internet, care se incheie între comerciant și banca acceptatoare care oferă serviciile de eComerț, este un contract cu clauze speciale, destinate a acoperi riscurile mai mari ale acestui tip de comerț, pe care și le asumă acceptatorul. De regulă, acceptatorul va verifica temeinic comerciantul și credibilatea lui înainte de a-l admite. Comerciantul poate apela la un furnozor de servicii Internet, căruia îi va cere să-i găzduiască un sit propriu pentru comerț, și să-i furnizeze o adresă de Internet de forma www.numecomerciant.com.

Cumpărătorul vizitează paginile de prezentare a produselor, va lua la cunoștiință condițiile de plată și de livrare a produselor cumpărate. De obicei, situl conține și o pagină care reprezintă o pagină care reprezintă coșul virtual al cumpărătorului. După alegerile făcute, cumpărătorul examinează conținutul coșului și dacă este mulțumit, va apăsa un buton prin care își declară dispoziția de a plăti. După aceasta, se vor trimite datele comenzii către SMC-ul acceptatorului, iar după ce acceptatorul primește răspuns de la emitent, la cererea de autorizare a plății, programul său de eComerț va expedia răspunsul către sit, iar modulul client din sit va afișa cumpărătorului un raport final, care îi indică efectuarea sau neefectuarea cumpărăturii și acceptarea sau neacceptarea plății.

b). Cumpărătorul plătitor cu card, calculatorul său personal, portofelul său electronic (ePortofel) și emitentul cardului

Cei ce vor să cumpere de pe Internet pot folosi pentru plată orice card emis cu permisiunea sau cu scopul de a fi folosit în acest fel de plată (cu bandă magnetică sau cu cip).Pentru securitate sporită, s-au creat o serie de carduri cu risc redus pe Internet: carduri înregistrate de emitent pentru a fi folosite cu un protocol de autentificare (cum este 3-D Secure), carduri cu parametri care reduc riscul și carduri sau conturi virtuale.

Aceste carduri cu risc redus în plățile Internet au parametri stabiliți la emitere astfel încât, în caz de fraudă, pierderea să fie cât mai mică. De exemplu, se fixează o limită maximă, de valoare mică, pe suma care poate exista în cont la orice moment, iar data de expirare a validității cardului se stabilește ca fiind apropiată de data emiterii lui.

Pentru o asigurare sporită, se asigură cardurile virtuale, emise de fapt ca un cont virtual, a cărui descriere (nume, număr de cont, dată de expirare, monedă etc.) este furnizată deținătorului ca informație tipizată pe un formular sau sub forma unui card obisnuit de plastic, dar care nu are bandă magnetică.

Se mai pot reduce șansele de a capta datele unui card, în vederea folosirii lui frauduloase, prin generarea de pseudonime de card. Astfel, cardul poate avea aparența unuia de credit, dar în sistemul emitentului va putea fi pus în corespondență cu un cont de debit (care dă o mai mare siguranță emitentului).

Calculatorul personal al consumatorului trebuie să fie conectat la Internet, sau cuplat și cu un cititor de carduri cu bandă magnetică, care ar prelua datele de pe cardul de plată, sau un cititor de carduri cu cip, care ar prelua datele secrete ale consumatorului necesare eventual în cazul autentificării sale în cadrul protocoalelor de securitate, sau alte dispozitve speciale de autentificare.

c). Telecomunicațiile sigure dintre cumpărător și sit, și dintre un sit și acceptatorul comerciantului

Toate datele care circulă între calculatorul cumpărătorului și SMC-ul acceptatorului, trecând prin serverul de găzduire a sitului comerciantului, trebuie să rămână permanent secrete, nealterate și să provină de la o sursă autentică (cumpărător, comerciant-server, acceptator).

Pentru aceasta se respectă anumite protocoale sigure de transmisiuni, cum sunt SSl (Secure Sockets Layer), TLS (Transport Layer Security) sau PCT (Private Communication Technology). Ceea ce e specific acestor protocoale e faptul că, la fiecare operațiune de cuplare, se generează o nouă cheie de criptare și se face o autentificare nouă.

În cazul în care legătura între acceptator și serverul de găzduire se asigură printr-o linie închiriată, care oferă mai multă siguranță decât cea publică, prin Internet, poate fi suficient un protocol mai simplu d telecomunicații, care să asigure doar o criptare a mesajelor, fără autentificarea capetelor transmisiei.

d). Aplicația de eComerț a acceptatorului, distribuită, cu un modul client în situl comerciantului și un modul server în SMC-ul acceptatorului, și poarta de acces la Internet

Banca acceptatoare care oferă clienților săi comercianți serviciul de comerț electronic prin Internet cu plată prin card trebuie să dispună de un SMC capabil de procesarea tranzacțiilor generate în cadrul acestei forme de comerț. Această funcționalitate a SMC-ului acceptatorului se asigură printr-o aplicație compusă din două module: unul aflat în SMC și modulul server de e-Comerț, iar celălalt aflat în situl fiecărui comerciant din serverul de găzduire și numit modulul de e-Comerț.

Sistemul acceptatorului dispune de o interfață cu Internetul, prin intermediul căreia se face întreg schimbul de informații cu serverele de comercianți, iar rolul modulului client este de a asigura interfața cu navigatorul cumpărătorilor, adică de a transmite datele primite de la cumpărători la modulul server din SMC-ul acceptatorului, de a primi răspunsul de la acesta și de a-l trimite înapoi la navigatorul cumpărătorilor. Rolul modulului server este de a primi tranzacțiile de e-Comerț cu cererile de autorizare de la toate modulele client, de a le transforma în tranzacții ale sistemului, adăugând și identitatea acceptatorului, și, după autorizare, de a le trimite modulului clientului de la care a venit cererea de autorizare.

Fig.1,3. Schema de principiu a comerțului electronic prin Internet,în care acceptatorii folosesc un procesator independent.

Atunci când se folosesc protocoale de autentificare speciale, cum sunt 3-D Secure și SET, ambele module, client și server, vor dispune de funcționalitățile suplimentare cerute de aceste protocoale, principiile rămânând aceleași.

e). Serverul din Internet care asigură găzduirea siturilor de comerciant și legăturile cu SMC-urile acceptatorilor (sau ale procesatorilor independenți adoptați de aceștia)

Acceptatorii pot dispune de propriul server de găzduire pentru comercianții lor sau indică acestora serverele cu care lucrează. Serverul de găzduire a siturilor de comercianți aparține unui furnizor de servicii de Internet, cu serviciile obișnuite de găzduire a paginilor HTML, de poștă electronică și de legături de telecomunicații cu potențialii acceptatori.

Cele mai importante calități ale serverului de găzduire trebuie să fie siguranța de funcționare, viteza de procesare și de telecomunicații și capacitatea mare de stocare a siturilor.

În plus, serverul trebuie să aparțină unei companii în care toate părțile implicate au o mare încredere, adică să fie autentificat de o Autoritate de Certificare admisă de toți.

f). Riscurile, fraudele și disputele

Ceea ce constituie riscuri de fraudă în comerțul Internet sunt generate, pe de o parte, de rețeaua de telecomunicații publice, inerent nesigură, a Internetului și, pe de altă parte, de faptul că tranzacția se face în momentul cumpărării.

Pierderile ce pot apare sunt de obicei financiare sau de confidențialitate. Nesigure sunt și telecomunicațiile, ce sunt accesibile tuturor, pentru că oferă șansa unei interceptări frauduloase a mesajelor, din care se pot extrage date secrete, ce pot fi folosite ulterior în mod fraudulos, în dauna deținătorului de card pentru cumpărător sau comerciant.

Cele mai frecvente cazuri de fraudă, în care comerciantul acceptă plata, dar nu livrează marfa, sau în care cumpărătorul primește marfa comandată și plătită, după care declară că nu el a făcut tranzacția și reclamă banii înapoi, conduc la dispute, ale căror proceduri de rezolvare generează costuri pentru toate părțile implicate.

Cifrele vehiculate pentru pierderile în eComerț au fost în 2003 de circa 1,8 miliarde de dolari; 1 din 6 cumpărători cu card a fost, într-o oarecare măsură victima unei fraude financiare și 1 din 12 cumpărători și-au văzut identitatea furată. S-a mai apreciat că frauda pe Internet e de circa 17 ori mai mare decât cea care are loc în magazinele reale.

g). Protocoalele de autentificare care asigura securitatea sporită a tranzacției

La sfârșitul deceniului 9, după ce eComerțul a cunoscut o dezvoltare rapidă, frauda crescuse și ea la un nivel considerat inacceptabil, iar răspândirea comerțului electronic a regresat.

Atunci a fost momentul în care s-au dezvoltat așa-numitele protocoale de securitate sporită, specifice eComerțului, dintre care amintim mai întâi complexul protocol SET, susținut de Visa și MasterCard, apoi de protocoalele Verified by Visa, bazat pe 3-D Secure al Visa, și Secure-Code, al lui MasterCard, ultimele două fiind similare în concepție, dar mai simple și mai ușor de implementat decât SET. La momentul actual, se pare că în topul lor se află 3-D Secure, susținut de Visa, MasterCard și de JCB.

Din 2004, și în România mai multe bănci mari acceptă comercianți pe Internet și emit carduri sub sigla Visa și MasterCard, ce pot fi folosite pentru comerțul electronic cu protocolul 3-D Secure, procesatorul acestor bănci fiind compania Romcard.

h). Costul tranzacțiilor, micro-plățile

La orice tranzacție de eComerț se percep costuri pentru toate părțile implicate. Costul unei tranzacții de eComerț are, în general, o parte fixă, de 0,1-0,5 dolari SUA, și o parte variabilă, ce poate fi mai mare de 5% din sumă. De cele mai multe ori, comercianții rezolvă problema ridicând prețul produselor vândute în mod acoperitor. Astfel, în cazul cumpărării unor produse de mică valoare, costul tranzacției de cumpărare poate fi prea mare, chiar inacceptabil.

Internetul este un loc predilect pentru punerea în vânzare a produselor și serviciilor de mică valoare, cum ar fi software cvasi-gratuit, melodii, imagini și informații diverse, pentru care costul poate fi de câțiva dolari sau chiar câțiva cenți. În acest caz, avem de-a face cu micro-plăți și nano-plăți. Pentru acestea există metode adecvate de plată, care fac costul tranzacției foarte mic, cum ar fi folosirea ePortmoneelor ca mijloc de plată.

i). Piețele electronice, licitațiile

Un alt mod de eComerț este cel care urmează cel al piețelor reale: mai mulți comercianți își prezintă produsele și serviciile în cadrul aceluiași sit, cumpărătorii pot cerceta mai multe magazine virtuale, pot cumpăra prețurile și participa la vânzările de produse prin licitație organizate de diverși vânzători sau pot cumpăra la prețurile fixe afișate.

În acest caz, cumpărătorii pot fi persoane fizice sau companii, în orice combinație, persoane cu persoane (P2P), persoane cu companii (B2C) sau companii cu companii (B2B). În postură de companie, administrația centrală (guvernul) și cea locală (guvernul local) participă frecvent la achiziția de produse și servicii de la furnizori, prin licitație (B2G).

O astfel de licitație on-line se desfășoară astfel: vânzătorul afișează produsul, un preț minim de pornire și o durată a licitației, iar cumpărătorii declară prețul maxim pe care îl pot oferi, de altfel și modifica în timpul licitației. La sfârșitul perioadei de licitație, vânzătorul alege prețul cel mai mare oferit curent și intră în contact direct cu cumpărătorul care l-a oferit, pentru a perfecta vânzarea, stabilind și modul de plată și condițiile de livrare.

Piața electronică, procedura de licitație și mijloacele de plată sunt implementate prin aplicațiile specifice ale companiei care deține situl sau portalul, ce reprezintă piața electronică.

1. 3. Modele ale comerțului electronic

Modelele comerțului electronic sunt celei mai discutate, fiind, de multe ori, cel mai puțin înțelese în lumea Web datorită modificărilor care apar în modelele economice tradiționale și a necunoașterii semnificației celor noi. În cel mai simplu sens, un model reprezintă o metodă prin care o firmă poate sa susțină, adică să producă profit, prin specificarea locului în care se află în lanțul valoric.

Comerțul electronic trăiește prin diferitele aplicații dezvoltate pe Internet. Pot fi identificate 9 tipuri semnificative de comerț electronic:

magazin electronic (e-shop);

achizițiile electronice (e-procurement);

magazin universal electronic (e-mall);

participarea la licitații electronice (e-auction);

furnizor de servicii cu valoare pentru canalele de comerț electronic (value chain service provider);

comunități virtuale (virtual communities);

platforme de colaborare(supply chain);

piața unui terț (third party marketplace );

brokeraj de informații și alte servicii.

Magazinul electronic este o forma de organizare care are drept scop conducerea și gestionarea marketingului și vânzărilor produselor sau serviciilor specifice unei firme.

În configurație minimală, un astfel de magazin conține catalogul de produse sau servicii care include pentru fiecare poziție, descrieri tehnice și comerciale. Catalogul poate fi prezentat într-un limbaj (html, html dinamic, java, etc.) interpretabil de browserele de web. Informațiile de prezentare ale produselor sunt gestionate de un sistem general de baza de date (SGBD).

În configurație medie, el include facilitați pentru preluarea comenzilor (prin e-mail sau forme interactive).

Varianta extinsă oferă pe lângă funcțiunile de mai sus și posibilitatea efectuării on-line a plății (prin cărți de credit sau alte metode electronice).

Așa cum am menționat, magazinele electronice “compactează distanta” atrăgând un număr tot mai mare de cumpărători. Ele sunt, totodată, și calea cea mai scurta prin care se poate realiza o prezentare globala a unei firme. Veniturile sunt realizate prin reducerea costurilor de promovare și vânzare, concomitent cu mărirea volumului vânzărilor.

Achizițiile electronice sau licitațiile publice reprezintă al doilea tip de comerț electronic. Se întâlnește frecvent în licitațiile organizate de marile companii și organizațiile publice pentru procurarea bunurilor și serviciilor de care au nevoie. Fazele procesului sunt:

· publicarea pe web a specificațiilor cererii de ofertă;

· firma va aștepta să fie contactată de posibilii furnizori care transmit în același timp și ofertele lor

· adjudecarea licitației.

Prin utilizarea acestei forme de comerț se realizează: scăderea timpului, a costului de transmisie și a prețului de achiziție ca urmare a creșterii numărului de competitori, se asigură totodată un grad de confidențialitate, dar cel mai important avantaj rămâne totuși libera concurență (respectiv asigurarea condițiilor pentru ca orice furnizor de produse, executant de lucrări sau prestator de servicii, indiferent de naționalitate, să aibă dreptul de a deveni contractant.

Magazinul universal electronic este o colecție de magazine electronice, reunite sub un nume comun, de exemplu o marca bine cunoscuta. De aceea e-mall-ul poate fi văzut ca un site care are legături cu mai multe site-uri comerciale sau magazine electronice sau pur si simplu ca un intermediar care pune la dispoziție infrastructura pentru producători sau vânzători în schimbul unei taxe(un procent din valoarea veniturilor).

E-mall-urile au o țintă geografică (The Aloha Mall, The Alaskan Mall), se orientează spre un tip de producător sau vânzător (The Asian American Mall), poate fi alcătuit dintr-o varietate de magazine care vând produse diferite (The Pinnacle Mall sau Cybersuperstore), în plus oferă doar infrastructura virtuală a unor magazine, dar nu au propriile stocuri sau nu vând direct produsul, așa cum fac de exemplu resellerii. In general, în sistem se acceptă o metoda de plata comună, garantată. Un exemplu este Electronic Mall Bodense (www.emb.ch), care oferă intrare în fiecare magazin individual.

Licitațiile electronice pot fi folosite pentru a încheia contracte de aprovizionare sau pentru a achiziționa imediat și a dispune de bunuri pe bază de preț de piață.

Din punct de vedere al cumpărării, licitațiile electronice sunt caracterizate de utilitatea pentru cumpărarea de bunuri (pentru care firma nu are nevoie de aprovizionări constante) la un preț garantat, presupun ca firma sa aibă o anumită flexibilitate în ceea ce privește perioada de achiziție (pentru a obține un avantaj din mișcările sezoniere sau alte mișcări de piață) și mai impun faptul că firma trebuie să dispună de suficient spațiu pentru depozitarea și înmagazinarea bunurilor.

Din punct de vedere al vânzării, licitațiile electronice se caracterizează prin beneficiile pe care le aduc pentru bunurile vândute pentru o piață mai largă și conduc în același timp la eliminarea surplusului de produse pe care firma nu dorește să le distribuie pe canale obișnuite de vânzare.

Licitațiile electronice nu presupun tranzacționarea bunurilor numai între firme, ci și între firme și clienți individuali sau între persoane fizice(ca exemplu, site-ul ebay).

Furnizori de servicii cu valoare adăugată pentru canalele de comerț electronic sunt firme specializate pe funcții specifice acestui tip de comerț. Printre funcțiile specifice se pot enumera asigurarea logisticii, plata electronica sau expertiza în controlul producției și stocurilor. Plata acestor servicii se face pe baza unor tarife sau a unei cote procentuale. Printre cei mai renumiți furnizori de astfel de servicii se numără cei de la FedEx (www.fedex.com) sau UPS (www.ups.com), care asigură transportul produselor la client, oferind informații și despre starea livrării, locul în care se află coletul sau perioada de timp pană când ajunge la destinatar.

Comunitățile virtuale sunt organizații compuse din grupuri de clienți sau parteneri care au interese comune. Principiul care stă la baza acestor comunități este acela că fiecare din membrii săi poate adăuga informațiile proprii peste un mediu de baza furnizat de comunitate. Fiecare membru poate oferi spre vânzare sau poate adresa cereri de cumpărare unor produse sau servicii. Calitatea de membru al unei comunități virtuale se

obține prin plata unei taxe.

Platformele de colaborare sau lanțurile de aprovizionare cuprind un set de instrumente și un mediu informațional care sprijină colaborarea dintre firme, în sensul că pot folosi informațiile pentru a controla procesele implicate de producția și distribuția produselor fizice. In cel mai simplu sens, un astfel de lanț este un „proces umbrelă” sub care produsul este realizat și livrat clienților. Din punct de vedere structural, un lanț de aprovizionare face referire la o rețea complexă a relațiilor pe care firmele le întrețin cu partenerii comerciali pentru a obține materiile prime, materialele, pentru a fabrica și livra produsele. Ideal, un lanț de aprovizionare constă din mai multe firme care funcționează eficient și efectiv ca și cum ar fi o singură firmă, cu o deplină vizibilitate a informațiilor și responsabilitate asupra utilizării lor.

Piața unui terț este extensia pe Internet a unui sistem de distribuție clasic. Rolul distribuitorului cu piața proprie este preluat de o interfață utilizator pentru catalogul de produse al firmei. Aceasta interfața aparține unui terț (în general, un furnizor de servicii Internet sau o banca). Această interfață, unică pentru mai mulți ofertanți de bunuri devine cunoscută cumpărătorilor, prin atașarea la unele din canalele de informații accesate frecvent.

Brokerajul de informații și alte servicii este un domeniu rezultat din apariția unei multitudini de servicii cu valoare adăugată ce mijlocesc și ușurează activitățile de informare sau de afaceri. Printre acestea se pot enumera: furnizarea de cataloage sau de clienți organizați pe diferite criterii de căutare (profile, sectoare de activitate, piețe specifice), vânzarea de oportunități de afaceri, sfaturi privind investițiile, consultanță în domenii specializate.

CAPITOLUL II PROIECTAREA APLICAȚIEI

World Wide Web este structurat conform unei arhitecturi client-server. Aceasta înseamnă că un program client (navigator web), rulând pe un calculator local, conectat la Internet, solicită informații de la un program server, aflat pe un alt calculator, conectat la rândul său la Internet. Programul server răspunde solicitării, trimițând datele prin intermediul Internetului, date care sunt preluate de navigator, interpretate și afișate.

Browser-ul web rulează pe calculatorul local.

Calculatorul local este conectat la Internet (prin intermediul unui modem).

Se solicită o anumită pagină web. Browser-ul trimite un mesaj conținând următoarele:

Protocolul de transfer (http://)

Adresa, sau Uniform Resource Locator (URL), de exemplu, www.domeniu.com.

Serverul recepționează cererea, returnând pagina web solicitată calculatorului client.

Browser-ul recepționează codul HTML, îl interpretează și afișează pagina solicitată.

Pentru a accesa web-ul este nevoie de un calculator client. Acesta trebuie să îndeplinească două cerințe de bază: să aibă o conexiune la Internet și să fie capabil să ruleze un program navigator web (browser).

Calculatorul server trebuie să răspundă unor cerințe oarecum similare cu calculatorul client, acestea fiind conexiunea la Internet și capabilitatea de a rula un program server web.

Un program server web poate fi referit sub denumirea de HTTPD, de la HyperText Transfer Protocol Daemon. Daemon desemnează un program care rulează în background, fără a produce un rezultat vizibil.

Totuși, un server web necesită o conexiune la Internet mult mai robustă decât un client web. Un server trebuie să fie conectat la Internet prin intermediul unei conexiuni dedicate, permanentă și foarte rapidă.

Programele server web sunt disponibile pentru o gamă variată de calculatoare. În mod surprinzător, calculatoarele server nu trebuie să fie foarte puternice, deoarece programele server sunt simple și nu necesită foarte multe resurse. De o mai mare importanță este sistemul de operare, care trebuie să fie unul multifir, multitasking, astfel încât serverul să poată răspunde mai multor cereri concomitent. De asemenea, o mare importanță o au dispozitivele de stocare, site-urile web fiind cunoscute pentru dezvoltarea lor rapidă.

2.1 Servere web și HTTP

Programul navigatorul client apelează serverul printr-o cerere alcătuită din mai multe părți: protocolul, adresa, calea și numele fișierului. Din porțiunea destinată protocolului, navigatorul determină modalitatea în care va interacționa cu serverul ce îl adresează și cum va afișa datele ce vor fi primite de la server. Apoi, va „apela” adresa conținută în URL și va aștepta răspunsul de la server.

După ce serverul primește cererea, va verifica URL-ul pentru a determina protocolul conexiunii. Determină, de asemenea, calea și numele fișierului cerut, le găsește pe harddisk și trimite datele la programul client folosind protocolul curent.

Apoi este rândul navigatorului să acționeze, el colectând informațiile de la server, interpretându-le și afișându-le într-o manieră adecvată.

La prima vedere s-ar părea că serverul are mai puține operații de realizat decât programul navigator și, în cazul unei simple tranzacții cum ar fi vizualizarea unei pagini web, acest fapt este probabil perfect adevărat. Cu toate aceasta, sarcina serverului este mai complicată decât pare la prima vedere.

De exemplu, dacă apare o eroare, cum ar fi o cerere pentru o pagină care nu există, serverul trebuie să trimită la client mesajul de eroare adecvat. Dacă o cerere necesită rularea unui program CGI, serverul trebuie să îl încarce și să ruleze acel program. Acest proces, în mod uzual, presupune crearea unei pagini HTML „on the fly” care conține rezultatele programului, și apoi trimiterea acestora la navigator.

De asemenea, fiecare fișier transmis de server trebuie să fie identificat după tip și trebuie să-i fie atașat un antet MIME (Multipurpose Internet Mail Extension) corespunzător, astfel încât navigatorul să știe ce operații trebuie să realizeze cu datele primite. În mod uzual, o pagină web conține un amestec de text formatat, imagini cât și sunete sau chiar clipuri video; fiecare din acestea trebuie să fie identificate corespunzător, în caz contrar navigatorul neștiind cum să interpreteze datele primite.

Serverele web includ, de asemenea, facilități, cum ar fi cele pentru criptarea datelor și autentificarea clienților, operații care necesită o parte importantă din timpul de lucru al serverului.

HTTP

HyperText Transfer Protocol a fost proiectat să fie rapid, simplu și cu un oarecare caracter de securitate. Conexiunea dintre un program client și unul server este temporară și trebuie să fie restabilită pentru fiecare transfer de date.

Specificațiile HTTP încorporează un întreg set de metode care sunt folosite pentru a executa sarcini asociate servirii unui site web, incluzând recuperarea informațiilor, căutare, actualizare. Caracterul deschis al specificațiilor HTTP face posibilă adăugarea de noi funcții fără a afecta funcționalitatea web-ului.

După cum am menționat anterior, mesajele sunt transmise într-un format similar Internet Mail și Multipurpose Internet Mail Extensions (MIME); gateway-urile permit navigatoarelor să solicite executarea de aplicații CGI pe calculatorul server, iar comunicația este posibilă cu alte protocoale Internet, cum ar fi SMTP, NNTP, FTP.

HTML

Limbajul a fost dezvoltat inițial de oamenii de știință ca o unealtă utilizată la partajarea documentelor (rapoarte de cercetare, documentații, etc) în întreaga comunitate științifică internațională care utiliza (și utilizează) Internetul. Pentru a publica informații care să fie distribuite global în Internet este necesar un limbaj universal de descriere a acestora (o „mamă a tuturor limbajelor de publicare“), limbaj care să fie potențial înțeles de toate computerele din Internet. Limbajul folosit de World Wide Web este HTML.

Limbajul HTML dă autorilor posibilitatea:

să publice documente cu headere, texte, tabele, liste, fotografii, etc;

să regăsească on-line informații prin intermediul hiperlink-urilor accesate printr-un simplu click de mouse;

să proiecteze formulare pentru realizarea tranzacțiilor cu servere aflate la distanță, pentru căutări de informație sau pentru activități specifice comerțului;

să includă foi de calcul tabelar, clipuri video, sunete și alte aplicații direct în documente.

HTML se aseamănă cu modalitățile de formatare a textelor de la un procesor de texte uzual în sensul că adaugă textului ce se dorește a fi publicat (afișat) informații de formatare și permite înglo-barea și altor tipuri de informații (imagini, sunete, etc). Toate acestea indică modul de afișare (prezentare) pentru programele capabile să înțeleagă aceste informații. Ceea ce îl deosebește de toate celelalte formate ale procesoarelor de texte este faptul că un document HTML este un document ce conține informație în format „text-pur“ (numai caractere ASCII), în timp ce procesoarele de texte folosesc formate particulare (proprietare). Astfel, un document HTML poate fi afișat (prezentat) de un număr mare de programe (browsere Web) care rulează pe un mare număr de platforme. Deoarece marcajele conțin caractere standard, crearea unui document într-un limbaj de marcare este o sarcină relativ ușoară, fără a necesita vreun software special. De fapt, pentru crearea unui document HTML este suficient un editor standard de text.

HTML este cel mai frecvent folosit limbaj de marcare. Popularitatea sa denotă din ușurința în folosire și din caracterul său prietenos față de utilizator. Cu ajutorul HTML pot fi create documente web ușor și rapid, totodată putând fi făcute disponibile unei largi audiențe.

Când Tim Berners-Lee a pus bazele web-ului, a făcut-o creând o interfață comună și ușor de folosit care permitea oricui publicarea unui document. Pentru realizarea acestui lucru, el și ceilalți cercetători de la European Laboratory for Particle Physics (CERN) au pus bazele HTML folosind un subset al Standard Generalized Markup Language (SGML). Folosirea SGML ca bază pentru HTML asigura faptul că limbajul de marcare folosit pentru web își are rădăcinile într-un standard care se dovedise deja a fi o soluție independentă de platformă.

Pentru specificațiile originale HTML au fost adoptate doar elementele esențiale ale SGML. Aceasta a redus drastic complexitatea specificațiilor originale HTML, cât și supraîncărcarea rețelei la transferul documentelor hypertext. Un alt avantaj al folosirii SGML ca bază pentru HTML a fost acela că definițiile de tip de document SGML (DTD ) furnizează o modalitate ușoară de extindere a HTML-ului standard. Este evidentă intenția proiectanților HTML de a crea un limbaj pentru dezvoltarea documentelor web care, inițial, să fie simplu de folosit, dar care să poată să crească în complexitate în timp.

Specificațiile HTML au parcurs un drum lung. Au fost definite specificațiile HTML 2.0 în toamna anului 1995; a urmat HTML 3.0, apoi HTML 3.2, care a devenit un produs W3C (World Wide Web Consortium), HTML 4.0 în 1997. Fiecare nouă specificație era pe deplin compatibilă cu versiunile anterioare, incluzând îmbunătățiri față de varianta standard a HTML.

Ca o completare a acestor specificații, au fost create extensii ale HTML. Cu toate că aceste extensii nu sunt standardizate, multe dintre ele au fost îmbrățișate de creatorii de documente web. Unele extensii, cum ar fi de exemplu cele ale Netscape Navigator sau Microsoft Internet Explorer, au devenit atât de populare încât par a face parte din HTML-ul standard.

2.3 Structura documentului HTML

Fiecare document HTML trebuie să înceapă cu tag-ul de marcare <HTML> și să se termine cu tag-ul </HTML>. Tag-ul de început <HTML> indică browser-ului că documentul este un document HTML, marcând totodată începutul documentului. Tag-ul de sfârșit </HTML> marchează sfârșitul documentului și este întotdeauna ultimul element dintr-un document HTML.

Fiecare document HTML trebuie, de asemenea, să aibă un antet și un corp. Antetul urmează imediat tag-ului <HTML>, fiind folosit pentru a specifica aspecte cheie ale documentului, cum ar fi, de exemplu, titlul. Începutul antetului este specificat de tag-ul de început <HEAD>, sfârșitul său fiind marcat prin </HEAD>.

Antetului îi urmează principala secțiune a documentului, numită corpul documentului. Corpul documentului conține textul și obiectele ce vor fi afișate de către browser. Asemenea antetului, corpul este delimitat de tag-urile de început și sfârșit, respectiv <BODY> și </BODY>

Deși majoritatea browser-elor pot lucra cu documente HTML cărora le lipsesc secțiunile HEAD și BODY, este de preferat includerea acestora în fiecare document HTML.

Folosind cele trei tag-uri de marcare amintite, structura unui document HTML se prezintă astfel:

<HTML>

<HEAD>

. . .

</HEAD>

<BODY>

. . .

</BODY>

</HTML>

Structura tag-urilor HTML

Formatarea unui document HTML depinde de coduri de marcare, denumite tag-uri. Tag-urile definesc structura documentului și sunt alcătuite din numele unui element cuprins între caracterele „<” și „>”. <H1>, de exemplu, indică începutul unui antet de nivelul 1. Deoarece HTML nu este „case sensitive”, <h1> și <H1> indică același lucru.

Majoritatea tag-urilor sunt folosite pereche. Un tag, numit de început, indică browser-ului începutul unui document. Un alt tag, de sfârșit, indică browser-ului finalul elementului. Singura diferență între tag-ul de început și cel de sfârșit este acela că cel de sfârșit conține caracterul „/” înainte de numele elementului. De exemplu, marcajul antetului de nivel 1 este indicat de <H1>, iar sfârșitul său este indicat de </H1>.

PHP și MySQL

PHP – MySQL constituie una dintre cele mai bune soluții pentru site-urile web ce folosesc baze de date. Un raport neoficial arată că, în perioada iunie 1998 – martie 1999, numărul calculatoarelor gazdă ce foloseau PHP a crescut de la 7500 la 410000.

MySQL este un server de baze de date, mic, compact, ideal pentru aplicațiile mici și nu numai. Ca o completare a suportului standard SQL, MySQL este compatibil cu un număr mare de platforme, deținând abilități multifir pentru server UNIX, rezultând astfel performanțe ridicate. MySQL poate rula și pe sisteme non-Unix, pe sistemele de tip Windows NT rulând ca un serviciu, în timp ce pe cele Windows 9x rulează ca un proces normal.

PHP este un limbaj de script pe partea de server. Asemeni script-urilor ASP, script-urile PHP sunt procesate de către un server web. După ce serverul interpretează codul PHP, returnează rezultatul către browser sub formă de cod HTML.

Ca o completare a caracterului liber (deși MySQL are totuși unele restricții privind licența), combinația PHP – MySQL este de asemenea independentă de sistem, ceea ce înseamnă că aplicații dezvoltate pentru sisteme Windows vor rula la fel de bine pe sisteme Unix. De asemenea, PHP poate fi rulat ca un proces CGI extern, ca un interpretor independent de script-uri sau ca un modul al serverului web Apache.

PHP suportă, de asemenea, un număr mare de tipuri de baze de date, inclusiv Informix, Oracle, Sybase, Solid, și PostgreSQL – cât și ODBC.

PHP suportă o mulțime de facilități, în concordanță cu dezvoltarea tehnologică a Internet-ului. Acestea includ mecanisme de autentificare, XML, crearea dinamică de imagini, suportul pentru partajarea memoriei, crearea dinamică de documente PDF fiind doar câteva dintre acestea. Trebuie menționat de asemenea că la PHP pot fi ușor adăugate module suplimentare, oricine putând realiza și adăuga propriile sale soluții.

PHP

PHP (PHP: Hypertext Prepocessor), cunoscut în versiunile mai vechi și sub numele de PHP/FI (Personal Homepage/Form Interpreter), a fost gândit inițial a fi o simplă aplicație CGI pentru interpretarea formularelor definite prin HTML și procesate de un program scris într-un limbaj Perl, script shell, executat pe server. În cazul interfeței CGI era necesară permisiunea de a rula programe pe server, ceea ce ducea la lacune în securitate și în plus la disocierea de documentul HTML a programului care procesa datele.

PHP reprezintă un pachet puternic care oferă un limbaj de programare accesibil din cadrul fișierelor HTML, limbaj asemănător cu Perl sau C, plus suport pentru manipularea bazelor de date într-un dialect SQL (dBase, Informix, MySQL, mSQL, Oracle, PostgreSQL, Solid, Sybase, ODBC etc.) și acces la sisteme hipermedia precum Hyperwave. De asemeni, PHP suportă încărcarea fișierelor de pe calculatorul client: upload și oferă suport pentru cookies (mecanism de stocare a datelor în navigatorul client pentru identificarea utilizatorilor, propus de Netscape).

Istoria PHP-ului începe la sfârșitul anului 1994, când Rasmus Lerdorf dezvoltă prima versiune, ca proiect personal. PHP-ul este făcut public la începutul anului 1995 sub denumirea de Personal Home Page Tools, fiind considerat un analizor simplist care interpreta câteva macro-uri ce puteau fi incluse în cadrul documentelor HTML, permițând contorizarea accesului la paginile Web sau accesarea unei cărți de oaspeți (guestbook). Analizorul a fost rescris la mijlocul aceluiași an și denumit PHP/FI 2.0, unde FI era o alta aplicație scrisă de Rasmus Lerdorf, un interpretor de formulare HTML. A fost adăugat și suportul pentru bazele de date mSQL și astfel PHP/FI a început să aibă succes, fiind disponibil gratuit pe Web.

Programatorii Zeev Suraski și Andi Gutmans rescriu analizorul PHP și noua aplicație formează nucleul versiunii PHP 3.0 care include o parte din vechile surse PHP/FI 2.0. Relativ recent, la începutul anului 2000, a fost făcută publică versiunea PHP 4.0, utilizând puternicul motor de scriptare Zend și oferind suport, nu numai pentru serverul Apache, ci și pentru alte servere Web. De asemeni, PHP 4.0 oferă posibilitatea accesării documentelor XML via DOM.

Se estimează că numărul site-urilor care folosesc în prezent PHP este de peste un milion. Deja, pe Web, exista o multitudine de aplicații și utilitare concepute în PHP, care se regăsesc grupate și în așa-numitul PEAR (PHP Extension and Add-on Repository).

PHP este o unealtă care permite crearea de pagini web în mod dinamic. Paginile web care conțin cod PHP sunt tratate exact ca o pagină HTML obișnuită, putând fi create și editate asemeni acesteia.

PHP este un limbaj de script care funcționează alături de un server Web.

<html>

<head>

<title>Prima pagina</title>

</head>

<body>

<?php

echo("Primul exemplu PHP");

?>

</body>

</html>

Se observa diferența față de alte limbaje script CGI scrise în limbaje precum Perl sau C : în loc de a scrie un program cu o multitudine de linii de comandă afișate în final într-o pagină HTML, se scrie o pagină HTML cu codul inclus pentru a realiza o acțiune precisă (în cazul nostru se va afișa un text).

Codul PHP este inclus între tag-urile speciale de început și de sfârșit care permit utilizatorului să treacă din "modul HTML" în "modul PHP".

Față de alte limbaje script, precum Javascript, la PHP codul se execută pe server. Dacă pe serverul Web se află un script similar celui anterior, clientul nu va primi decât rezultatul execuției script-ului, fără a avea nici o posibilitate de acces la codul care a produs rezultatul. Poate fi configurat serverul de Web să prelucreze (analizeze) toate fișierele HTML ca fișiere PHP. Astfel, nu există nici un mijloc de a distinge paginile care sunt produse dinamic de paginile statice.

Limbajul PHP are de asemenea suport pentru diverse servicii server utilizând protocoale precum IMAP, SNMP, NNTP, POP3 și HTTP.

MySQL

MySQL este cel mai popular suport de baze de date SQL, Open Source, fiind conceput și dezvoltat de MySQL AB, o companie ce furnizează servicii pentru bazele de date MySQL.

MySQL este un sistem de gestionare a bazelor de date.

O bază de date este o colecție structurată de date. Pentru a accesa, adăuga sau prelucra datele stocate într-o bază de date este necesar un sistem de gestiune a bazelor de date, cum este MySQL Server. Deoarece calculatoarele au probleme în privința volumului mare de date, sistemul de gestiune joacă un rol central în prelucrarea lor, atât ca parte a altor aplicații, cât și ca aplicație de sine stătătoare.

MySQL este un sistem relațional de gestionare a bazelor de date.

O bază de date relațională nu stochează informațiile într-o singură tabelă, ci în mai multe tabele separate. Aceasta duce la o flexibilitate și o viteză sporită. Tabelele sunt legate între ele prin relații definite, făcând posibilă astfel combinarea datelor din mai multe tabele, la cerere.

MySQL este Open Source. Open Source înseamnă că oricine are posibilitatea de a folosi MySQL sau de a-l modifica. Codul sursă poate fi deci studiat și modificat în funcție de necesitățile proprii.

Serverul MySQL a fost inițial creat pentru lucrul cu baze de date mari, fiind mult mai rapid decât soluțiile existente. Și-a demonstrat calitățile în practică, fiind folosit cu succes ani la rând în medii cu cerințe deosebite. Dezvoltarea constantă a MySQL a făcut ca azi acesta să poată oferi un set de funcții bogat și util. Conectivitatea, viteza și securitatea fac din MySQL Server cea mai potrivită soluție pentru accesarea bazelor de date pe Internet.

Începând cu MySQL versiunea 3.23.6 se poate alege între trei formate de tabele de bază (ISAM, HEAP și MyISAM). Versiunile mai noi suportă și alte tipuri de tabele, ca InnoDB sau BDB.

La crearea unei tabele, trebuie specificat tipul acesteia. MySQL va crea întotdeauna un fișier cu extensia „frm” pentru a păstra structura tabelei. Indecșii și datele vor fi stocate în alte fișiere, în funcție de tipul tabelei.

Dacă nu se specifică tipul tabelei, va fi creată o tabelă de tipul MyISAM. De asemenea, același tip de tabelă va fi creat în cazul în care tipul specificat nu a aparținut sistemului MySQL. Aceasta reprezintă un avantaj în cazul în care se copiază tabele de la o versiune de MySQL la alta, diferită.

O tabelă poate fi convertită de la un tip la altul cu ajutorul instrucțiunii ALTER TABLE. MySQL suportă două categorii de tabele: tabele securizate (InnoDB și BDB) și nesecurizate (HEAP, ISAM, MERGE și MyISAM).

Java Script

Limbajul Java Script este o unealtă foarte folositoare, atunci când posibilitățile pe care ni le pune la dispoziție HTML devin limitate. Practic, orice element dintr-o pagină web poate fi îmbunătățit cu ajutorul unor scripturi speciale, îndeosebi formularele.

Java Script este cel mai cunoscut și, urmare firească, cel mai folosit limbaj pentru crearea de script-uri pe web. Este vorba despre un limbaj obiectual și, foarte important, multi-platformă (ideea de bază este că același cod este sau ar trebui să fie interpretat la fel indiferent de platforma pe care rulează browser-ul).

Una dintre cele mai întâlnite întrebări referitoare la Java Script este legată de "gradul de rudenie" cu limbajul Java. Afinitățile dintre cele două limbaje se regăsesc la nivelul sintaxei, al structurilor de control și, într-o anumită măsură, la securitate (nu este permisă, spre exemplu, citirea fișierelor de pe calculatorul-client). In rest, Java este un limbaj mult mai complex. Diferențe există inclusiv în legătura cu rularea codului. Netscape, care a introdus pentru prima dată în versiunea 2 a browser-ului sau – Navigator, acest limbaj de scripting l-a denumit inițial LiveScript. Doar suportul ulterior din partea Sun (știută fiind încăpăținarea -în sensul bun al cuvântului – acestei companii în a impune Java) a determinat rebotezarea.

Meritul principal al Java Script este că pune la dispoziția creatorilor de pagini web o metodă excelentă de "a dinamiza" paginile create. Și aceasta fără a apela la programarea pe partea de server (server-side programming). Fără a înlocui acest gen de programare menționat, script-urile pot rezolva o serie de probleme (e drept, nu foarte complexe; cu toate aceste complexitatea e relativă, depinzând de abilitățile programatorului) cum ar fi validarea unui câmp dintr-o formă sau afișarea unui mesaj după un click pe un buton (în general, programarea evenimentelor). Iar avantajul integrării complete în paginile HTML a căpătat o nouă dimensiune acum cu explozia interfețelor HTML (mai ales în producția CD-ROM-urilor). Așadar, Java Script pare să aibă cu adevărat sens, dacă raportăm mini-programale create la paginile web.

Intr-adevăr, Java Script este "case sensitive", adică se face discriminarea între literele mari si cele mici întâlnite în numele identificatorilor (nume de variabile, funcții, obiecte etc.). De aceea, este foarte important sa fiți atenți la acest aspect. Depanarea script-urilor poate fi o adevărată corvoadă dintr-o simplă înlocuire a literei 'A' cu 'a' în cazul unei funcții cum ar fi 'Adaugă' (care nu e nicidecum 'adaugă').

Java Script e un limbaj slab-tipizat în comparație cu Pascal, C++ sau Java. Astfel tipul unei variabile nu este determinat in momentul creării variabilei, iar pe parcursul execuției programului se poate schimba în funcție de context. Acest fapt poate fi un avantaj, în sensul unei libertăți în conceperea programului, dar și un dezavantaj legat de ambiguitatea ce poate sa apară, codul fiind mai greu de înțeles. Totuși, dacă la un moment dat, doriți să aflați tipul unei variabile aveți la dispoziție operatorul typeOf. Prin aplicarea lui se obține un string ce conține tipul variabilei (inclusiv undefined sau object, pe lângă tipurile standard).

Raportat la variabile, exista așa-numita facilitate de "type-casting" (riscând o traducere, echivalentul ar fi "convertire automata a tipului"). În acest caz, în funcție de context, tipul variabilelor se modifică automat. În Java Script casting-ul este parțial. Astfel o variabilă numerică se convertește automat la string (cum e cazul in titlul paragrafului), însă reciproca nu este valabilă. De aceea, în multe script-uri veți întâlni funcția parseInt care convertește, în măsura posibilului, unui string în număr. Explicație (de ce în măsura posibilului): parseInt(x) va returna NaN (not a number), dacă x='a20'; 20, dacă x='20'; 2, dacă x='2a0'.

Există o valoare specială în Java Script și anume null. Adică, după cum îi spune și numele, nimic. Există diverse situații când se întâlnește cum ar fi folosirea de variabile nedefinite, dar și unele rezultate de funcții. Null nu este același lucru cu șirul vid (''), de pildă. De aceea, uneori trebuie să testate cu grijă anumite rezultate etc.

Trebuie spus că string-urile sunt în Java Script obiecte. Aceasta are relevanță, mai ales, în cazul manipulării (când trebuie folosită notația cu punct pentru aplicarea funcțiilor). Dacă doriți să convertiți un string (strA) în litere mici veți scrie: strA.toLowerCase().

Java Script permite folosirea expresiilor condiționale (existente, de altfel, si in alte limbaje de programare), ce se pot dovedi foarte utile. Exemplu: isNS = (document.layers) ? 1 : 0. Dacă browserul recunoaște această colecție de obiecte (specifică Netscape Navigator) atunci expresia se evaluează true si variabila noastră va lua valoarea 1, altfel 0. Aceasta este o metodă extrem de simplă de a identifica un browser. Pentru Internet Explorer: isIE = (document.all) ? 1 : 0. Cuvântul cheie this se poate dovedi extrem de util, căci întotdeauna se referă la obiectul curent.

Dată fiind caracteristica multi-platformă a Java Script este important să dispunem de funcții care să asigure compatibilitatea în diverse situații. Două asemenea funcții complementare sunt escape și uescape. Șirul de caractere primit ca argument este convertit la codificarea standard ISO Latin-1 și invers. Este necesară mai ales în cazul cookie-urilor pentru a converti caractere depinzând de setul de caractere (dependent, la rândul sau, de platformă).

Macrosubstitutia este o facilitate puternică a unor limbaje de programare (din fericire, întâlnită și la Java Script). Poate că în acest caz este vorba de o mini-implementare a unei asemenea facilități (prin funcția eval), însă este foarte utilă. Astfel eval execută string-ul primit ca argument ca și cum ar fi o linie de cod Java Script: eval('alert(strA)') va genera o fereastră (prompt window) care va afișa valoarea string-ului strA. Utilitatea este dată și de incompatibilitățile dintre browsere la nivelul referirii obiectelor suportate. In acest caz eval() ne ajută în scrierea unui cod elegant.

Toate variabilele si obiectele sunt distruse la reîncărcarea paginii web sau la încărcarea unei pagini noi. Singura soluție în acest caz (pentru crearea unei aplicații mai complexe) rămâne folosirea frame-urilor și, în speță, a unui frame ce nu își reîncarcă conținutul.

Java Script nu este același lucru cu Java. Java este un limbaj de programare dezvoltat de Sun Microsystems, iar applet-urile Java reprezintă mici aplicații (animații, jocuri) care rulează într-o pagină web. În schimb, Java Script este un limbaj de scriptare cu ajutorul căruia se pot încorpora scripturi direct în paginile web. Java Script are unele elemente de sintaxă similare celor din Java, însă nu poate fi considerat ca fiind derivat din acest limbaj. Java Script a fost dezvoltat de Netscape în colaborare cu Sun Microsystems, de aici și denumirile asemănătoare. Așadar, "Java" nu este o prescurtare pentru "Java Script", deși mulți fac această confuzie.

Principalele browsere (Internet Explorer, Netscape Communicator, Opera) suportă fără probleme acest limbaj de scripting, însă există unele diferențe în modul în care sunt interpretate anumite funcții, chiar și de la o versiune la alta. Așadar, nu orice script care funcționează bine pe Internet Explorer va funcționa pe Netscape și invers. Aceste diferente dau încă multă bătaie de cap programatorilor web și chiar si utilizatorilor, deoarece, spre deosebire de limbajul HTML unde erorile sunt ignorate, în cazul Java Script vom fi întotdeauna avertizați de browser dacă pe pagină ceva nu este în regulă. Anumite funcții pot conduce chiar și la blocarea browserului.

Java Script ne dă posibilitatea controlării riguroase direct din pagina web a cantității și tipului de informații introduse de utilizator. Bineînțeles că nu vom fi însă în măsură să verificăm veridicitatea acestora cu ajutorul Java Script. Cu alte cuvinte, putem să-l obligăm pe cel care completează un formular să introducă – de exemplu – numai un anumit număr de caractere acolo unde îi este cerută o dată, sa introducă o adresă de e-mail validă din punct de vedere al formei (nume@adresa. extensie) sau să completeze neapărat anumite câmpuri din formular.

CAPITOLUL III PREZENTAREA ȘI ANALIZA APLICAȚIEI

3.1 Structura bazei de date

Proiectul folosește o bază de date MySQL pentru stocarea informațiilor.

Baza de date conține 13 tabele :

1. Tabelul tadmins:

Este folosit pentru stocarea administratorilor site-ului.

Câmpuri:

fIdAdmin: Id-ul înregistrării;

fUsername: numele utilizator al administratorului

fPassword: parola administratorului

2. Tabelul tcategorii:

Este folosit pentru stocarea categoriilor din care fac parte produsele.

Exemple de categorii:

Televizoare si Home cinema

Telefoane și tablete

Laptopuri

Pc & print

Foto video &optica

Câmpuri:

fIdCategorie: Id-ul înregistrării

fNumeCategorie: Numele categoriei

3. Tabelul tcomentarii:

Este folosit pentru stocarea comentariilor adăugate de vizitatorii site-ului pentru diverse produse.

Câmpuri:

fIdComentariu: Id-ul înregistrării;

fIdProdus: Id-ul produsului de care aparține comentariul

fIdUtilizator: Id-ul utilizatorului care a adăugat comentariul

fComentariu: Textul comentariului

fData: Dată la care a fost adăugat comentariul

fAprobat: Specifică dacă comentariul a fost aprobat sau nu. Valori posibile: 0 și 1. Inițial comentariul nu este aprobat, iar câmpul fAprobat este setat pe 0. Comentariile se pot aproba de către administrator din panoul de administrare.

4. Tabelul tcomenzi:

Este folosit pentru stocarea informațiilor legate de comenzile efectuare de utilizatori.

Câmpuri:

fIdComanda: Id-ul înregistrării;

fIdUtilizator: Id-ul utilizatorului ce a efectuat comandă;

fIdCupon: Id-ul cuponului de reduceri. Dacă Id-ul este egal cu 0 cuponul nu este luat în considerare;

fNumeCumparator: Numele cumpărătorului. Poate fi diferit de numele utilizatorului care a efectuat comandă;

fEmailCumparator: Adresa email a cumpărătorului. Poate fi diferită de adresa email a utilizatorului care a efectuat comandă;

fAdresaCumparator: Adresa cumpărătorului. Poate fi diferită de adresa utilizatorului care a efectuat comandă;

fDataComanda: Dată la care a fost efectuată comanda.

5. Tabelul tcos:

Este folosit pentru stocarea produselor aflate în coșul de cumpărături.

În momentul autentificării sau părăsirii contului conținutul coșului de cumpărături este golit. De asemenea după efectuarea unei comenzi conținutul coșului este golit.

Câmpuri:

fIdItem: Id-ul înregistrării;

fIdUtilizator: Id-ul utilizatorului care efectuează cumpărăturile;

fIdProdus: Id-ul produsului adăugat în coș;

fCantitate: Cantitatea comandată;

fIdSesiune: Id-ul sesiunii utilizatorului. Acesta este asignat de server și este unic pentru fiecare vizită.

6. Tabelul tcupoane:

Este folosit pentru stocarea informațiilor referitoare la cupoanele de reduceri. Utilizatorul poate insera un cod al unui cupon la finalizarea comenzii și primește o reducere corespunzătoare codului introdus.

Câmpuri:

fIdCupon: Id-ul înregistrării;

fCodCupon: Codul cuponului;

fValoareCupon: Valoarea reducerii corespunzătoare.

6. Tabelul tproducatori:

Este folosit pentru stocarea informațiilor despre producători.

Câmpuri:

fIdProducator: Id-ul înregistrării;

fNumeProducator: Numele producătorului;

fUrl: Adresa web a paginii producătorului;

fDescriere: Descrierea producătorului.

8. Tabelul tproduse:

Este folosit pentru stocarea informațiilor referitoare la produse.

Câmpuri:

fIdProdus: Id-ul înregistrării;

fIdSubcategorie: Id-ul subcategoriei din care face parte produsul

fIdProducator: Id-ul producătorului de care aparține acest produs

fNumeProdus: Numele produsului;

fCodProdus: Codul produsului;

fImagine: Calea către imaginea produsului. Imaginile sunt stocate în directorul “images/produse”;

fDescriere: Descrierea detaliată a produsului;

fSpecificatii: Specificațiile tehnice ale produsului;

fPret: Prețul produsului, exprimat în RON, fără TVA;

fLuniGarantie: Numărul lunilor de garanție oferite de producător/vânzător.

9. Tabelul tprodusecomenzi:

Conține articolele unei comenzi deja efectuate de către un utilizator.

Este asemănător tabelului tcos.

Câmpuri:

fIdArticol: Id-ul înregistrării;

fIdComanda: Id-ul comenzii din care face parte articolul;

fIdProdus: Id-ul produsului comandat;

fCantitate: Cantitatea în care a fost comandat produsul.

10. Tabelul tpromotii:

Conține înregistrări referitoare la promoțiile produselor.

Un produs poate avea o singură promoție asociată.

Câmpuri:

fIdPromotie: Id-ul înregistrării;

fIdProdus: Id-ul produsului;

fDataInceput: Dată de început a promoției;

fDataSfarsit: Dată la care promoția ia sfârșit;

fPretRedus: Noul preț (redus) valabil în timpul desfășurării promoției.

11. Tabelul tsubcategorii:

Este folosit pentru stocarea informațiilor referitoare la subcategoriile de mărfuri

Câmpuri:

fIdSubcategorie: Id-ul înregistrării;

fIdCategorie: Id-ul categoriei de care aparține subcategoria;

fNumeSubcategorie: Numele subcategoriei.

12. Tabelul tutilizatori:

Este folosit pentru stocarea informațiilor referitoare la utilizatorii înregistrați pe site. Înregistrarea este necesară pentru a putea comanda / vota / comentă produse.

Câmpuri:

fIdUtilizator: Id-ul înregistrării;

fNumeUtilizator: Numele utilizatorului;

fParola: Parola utilizatorului;

fEmail: Adresa email a utilizatorului;

fAdresa: Adresa utilizatorului;

fDataInregistrare: Dată la care utilizatorul s-a înregistrat pe website.

13. Tabelul tvoturi:

Este folosit pentru evidența voturilor aplicate produselor de către utilizatorii înregistrați pe site. Un produs poate fi votat de către un utilizator o singură dată.

Câmpuri:

fIdVot: Id-ul înregistrării;

fIdProdusL Id-ul produsului căruia i se aplică votul;

fIdUtilizator: Id-ul utilizatorului care a votat produsul;

fValoareVot: Valoarea votului (un număr între 1 și 10).

Structura proiectului

Structura fișierelor și directoarelor proiectului este ilustrată în figură următoare:

În directorul rădăcina al aplicației se găsesc fișierele principale ale site-ului.

În directorul cronjobs se găsesc fișierele ce stabilesc Id-urile produsului zilei. În prima zi a lunii acest script este rulat, selectează câte un ID unic al unui produs pentru fiecare zi. Aceste id-uri sunt salvate într-un fișier text.

În directorul admin sunt păstrate fișierele panoului de administrare. Acest panou este accesibil numai unui administrator, după autentificare.

În directorul images sunt stocate imaginile layout-ului aplicației și imaginile produselor (acestea sunt stocate într-un director separat numit produse).

În directorul css sunt stocate fișierele ce definesc stilurile CSS (Cascading Style Sheets) folosite pentru formatarea layout-ului:

În directorul js sunt păstrate fișierele javascript folosite de aplicație pentru intractiunea client (în special validări ale formularelor), dar și sursele unui calendar tip pop-up utilizat la definirea datelor de început și sfârșit ale promoțiilor:

În directorul include sunt păstrate fișierele ce conțin funcții folosite de majoritatea celorlalte fișiere. Acestea sunt importate la începutul fișierelor în care urmează a fi folosite.

Fișierul adminfunctions.inc.php conține funcții folosite de modulul de administrare, că de exemplu:

verificarea autentificării administratorului;

afișarea meniului de opțiuni al administratorului.

Fișierul mysql.inc.php conține date referitoare la conectarea la baza de date: adresa serverului, numele și parola utilizatorului ce se conectează, numele bazei de date.

De asemenea același fișier conține funcția de conectare la baza de date, funcție ce este apelata în fiecare fișier ce extrage informații în baza de date.

Fișierul fileupload-class.php conține funcții necesare încărcării imaginilor produselor. Aceste funcții sunt folosite în modulul de administrare, în secțiunea de management al produselor.

Fișierul functions.inc.php conține funcții referitoare la înserarea diferitelor secțiuni ale layout-ului site-ului, comune mai multor pagini, că de exemplu afișarea unor meniuri, ale header-ului aplicației, ale formularului de căutare, ale produsului zilei, promoțiilor, secțiunii de autentificare a utilizatorilor.

De asemenea anumite funcții sunt folosite pentru a însera în restul documentelor a altor fișiere ce conțin funcții javascript sau stiluri CSS. Avantajul constă în posibilitatea de a adăuga rapid un alt document CSS la lista celor deja folosite, în cazul în care este necesar, modificarea fiind necesară într-un singur loc dar propagandu-se în toate fișierele.

De asemenea modificarea unei părți a interfeței site-ului sau doar a aspectului acesteia se poate realiza modificând doar câteva linii de cod

Layout-ul site-ului este practic definit de fișierele CSS, în acestea fiind stocate informațiile referitoare la formatarea textului și a layout-ului, poziționarea acestora pe ecran, etc.

Doar prin editarea fișierelor CSS se poate obține un aspect complet diferit al interfeței.

De asemenea, stilurile CSS permit o mult mai detaliată definire a formatului textelor și poziționării acestora decât conferă limbajele HTML/XHTML.

În plus, stocarea separată a fișierelor javascript și CSS permite o mult mai rapidă încărcare a site-ului deoarece aceste funcții sunt încărcate o singură dată, practic odată cu încărcarea primei pagini a site-ului. Apoi aceste pagini sunt folosite din cache-ul browserului.

Directorul admin, ce conține modulul de administrare este protejat împotriva roboților de indexare cu ajutorul codului aflat în fișierul robots.txt:

User-agent: *

Disallow: /admin/

Acest cod specifică agenților de căutare (ca de exemplu GoogleBot, MSN Bot, folosite de motoarele de căutare Google și MSN) că nu au dreptul de a accesa acest director.

3.2 Structura aplicatiei

Layout-ul aplicației este foarte ușor de folosit, toate intrumentele aflându-se la îndemână și fiind accesibile din orice pagină.

Structura principală a interfeței este următoarea:

În partea de sus este afișat headerul aplicației împreună cu logo-ul magazinului. De asemenea în partea dreaptă superioară se afla poziționată legătura către coșul de cumpărături, fiind ușor accesibilă.

Tot în partea superioară este afișată secțiunea de autentificare.

Aceasta poate avea 2 stări:

1. când utilizatorul nu este încă autentificat:

Dacă utilizatorul nu este autentificat, acesta are la dispoziție formularul pentru autentificare. Pentru aceasta trebuiesc completate câmpurile

Utilizator

Parola

Apoi se poate realiza autentificarea cu ajutorul butonului Autentificare.

În cazul în care utilizatorul este la prima vizită pe site sau încă nu și-a creat cont poate folosi butonul Cont Nou, ce va afișa formularul de înscriere a unui nou utilizator.

După autentificare secțiunea va arăta un mesaj de bun venit, împreună cu 2 opțiuni:

Contul meu;

Ieșire

Accesarea opțiunii contul meu oferă posibilitatea de a actualiza datele personale ale utilzatorului, cu excepția numelui de utilizator ce este ales la înscriere și nu mai poate fi schimbat ulterior. Accesarea opțiunii Ieșire are ca efect dez-autentificarea utilizatorului și ștergerea informațiilor legate de acesta (ex. id-ul utilizatorului păstrat în variabilele sesiune).Revenind la opțiunea de creare a unui nou cont, aceasta se prezintă în felul următor:

Câmpurile necesare creării unui cont nou sunt:

Numele utilizator ce nu mai poate fi schimbat ulterior.

Parola necesară autentificării. Parola trebuie confirmată deoarece caracterele acesteia nu sunt vizibile fiind mascate de caracterul *

Adresa de email ce poate fi folosită de către administrator pentru comunicarea cu utilizatorul. Aceasta nu este vizibilă celorlalți utilizatori ai site-ului. De asemenea adresa de email trebuie confirmată pentru a evita scrierea unei adrese greșite ce poate face imposibilă comunicarea administratorilor siteului cu utilizatorul.

Adresa utilizatorului.

Câmpurile referitoare la informațiile personale pot fi modificare după înregistrare și autentificare, cu excepția numelui utilizatorului.

Acestea sunt folosite și în procesul comenzii produselor, fiind însă doar sugerate utilizatorului: ele sunt înscrise în formular însă acesta le poate actualiza înainte de confirmarea comenzii, de exemplu pentru a expedia produsele la o altă adresă decât cea personală.

În cele mai multe cazuri însă utilizatorii folosesc aceleași informații înscrise la crearea contului și la comandă.

Butonul Anulează Modificări resetează starea formularului la cea inițială, golind toate câmpurile formularului. Butonul Înregistrare trimite datele către scriptul ce le va însera în baza de date. În cazul în care utilizatorul nu a completat toate câmpurile, acesta este atenționat prin mesaje, cu ajutorul funcțiilor de validate JavaScript.

După autentificarea utilizatorului acesta își poate modifica informațiile personale, accesând opțiunea Contul meu:

Aici are la dispoziție informațiile introduse la înregistrare.

De asemenea are afișată și data înscrierii pe site. Ca și în ecranul de înregistrare, parola și adresa de email trebuiesc confirmate, pentru a evita folositea unor date greșite ce duc la imposibiliatea autentificării ulterioare sau la imposibilitatea comunicării administratorilor siteului cu utilizatorii. Butonul Anulează modificări aduce formularul în starea inițială, adică va afișa informațiile aflate în baza de date, fără însă a reîncărca pagină.

Butonul Actualizare salvează modificările în baza de date. Opțiunea Ieșire are ca efect dez-autentificarea utilizatorului și redirectarea acestuia la pagina principală a siteului.

Secțiunea de căutare este prezentată în figură următoare:

Formularul conține 2 câmpuri (liste):

Categorii

Subcategorii

În cazul în care utilizatorul nu alege o categorie sau o subcategorie vor fi afișate toate produsele. Lista subcategoriilor conține inițial doar opțiunea Toate.

În cazul alegerii unei categorii, în cea de-a doua listă vor fi încărcate subcategoriile corespunzătoare categoriei alese. Apoi utilizatorul poate alege o subcategorie sau poate păstra opțiunea Toate, în acest caz căutarea realizându-se în funcție de Categoria aleasă, pentru toate subcategoriile acesteia. Secțiunea de căutare este disponibilă în toate paginile siteului.

În cazul folosirii butonului Adăugă în coș, produsul va fi adăugat în coșul de cumpărături cu cantitatea 1, cu excepția cazului în care deja există în coș, caz în care cantitatea deja existența va fi incrementata cu 1. Această cantitate poate fi modificată ulterior prin accesarea paginii Coșul meu.

Se afișează categoriile de produse definite în baza de date de către administrator cu ajutorul modulului de administrare. Prin accesarea unei opțiuni a acesui meniu se afișează produsele din categoria selectată, într-un mod similar cu rezultatele căutării, prezentate anterior.

A doua grupă de informații cuprinde opțiuni către paginile de informații generale ce conțin detalii legate de modul de efectuare a comenzilor, modul și posibilitățile de plată a produselor, informații referitoare la garanția produselor și la transportul acestora.

Ultima grupa de opțiuni cuprinde legături către următoarele pagini:

Produsul zilei

Promoții

Cupoane de reduceri.

Produsul zilei afișează informații despre un produs selectat anterior, urmând a fi promovat pe durata unei zile. Din această pagină se poate naviga ușor către produse aflate în aceeași categorie sau subcategories au către produse ale aceluiași producător.

De asemenea produsul se poate adăuga în coșul de cumpărături prin accesarea opțiunii Adăugă în coș. Pagina oferă o descriere a produsului, specificațiile tehnice, numele și imaginea acestuia, prețul fără TVA și cu TVA și termenul de garanție exprimat în număr de luni.

Pagina promoțiilor afișează produsele împreună cu următoarele informații:

Imaginea produsului;

Descrierea produsului;

Prețul vechi fără TVA;

Prețul vechi cu TVA;

Prețul nou fără TVA;

Prețul nou cu TVA;

Butonul Adăugă în coș.

Pagina promoțiilor poate fi accesată din mai multe locuri:

meniul superior;

meniul inferior;

meniul din partea stângă a interfeței;

caseta de promoții.

Pagina Cupoane de reduceri prezintă codurile cupoanelor ce oferă posibilitatea obținerii unor reduceri la prețul total al cumpărăturilor:

Codul trebuie introdus în pagina de confirmare a comenzii.

În cazul în care este introdus un cod, prețul total al facturii va fi redus.

Pagina Harta Site afișează legături spre categoriile de produse existente, subcategoriile acestora și produsele aflate în aceste subcategorii:

Aceasta pagină ajuta atât la navigarea rapidă în conținutul siteului și identificarea rapidă a unor categorii, subcategorii și produse, cât și la indexarea păgânilor de către agenții de căutare, care au la dispoziție legături către toate aceste elemente.

Agenții de căutare nu pot urmări legături non-standard ce folosesc cod javascript ci doar legături standard de tip href = locație.

Pagina de contact afișează informații referitoare la contactarea magazinului, că:

adresa;

numere telefon;

numere fax;

adrese email

Pagina de categorii afișează categoriile și subcategoriile acestora, într-un mod similar paginii Harta site fără a afișa însă legături spre produse.

În cazul în care pentru o categorie nu sunt încă definite subcategorii de către administrator se va afișa mesajul “Nu există subcategorii”, în caz contrar vor fi afișate legături către subcategoriile existente. De asemenea, ca și în cazul paginii Rezultatele căutării, rândurile vor avea fundal intermitent pentru ușurința navigării.

Coșul de cumpărături.

Acesta este accesibil doar utilizatorilor autentificați.

Accesarea coșului fără autentificare afișează următorul mesaj:

După autentificare conținutul coșului poate fi prezentat în 2 moduri.

Primul mod este afișat în cazul în care coșul nu conține nici un produs:

În cazul în care există produse în coșul de cumpărături acestea vor fi afișate împreună cu următoarele informații:

Nume produs;

Cantitate;

Preț unitar (per bucată);

Preț total (per produs). Acesta este prețul unitary înmulțit cu numărul de bucăți;

Prețul final al tuturor produselor și cantităților.

Alte opțiuni disponibile în pagina Coș de cumpărături:

Șterge produs;

Actualizează cantități;

Golește coș;

Comanda produse.

Opțiunea Golește coșul șterge toate produsele din coș în cazul în care utilizatorul confirma acest lucru, pentru a preveni ștergerea accidentală:

Utilizatorul poate modifica pentru fiecare produs în parte cantitățile. Salvarea noilor cantități se face cu ajutorul butonului Actualizare. În cazul în care se introduce cantitatea 0 produsul este șters din coș automat. În cazul în care utilizatorul introduce caractere non-numerice în caseta de cantități este afișat un mesaj de eroare și este păstrată vechea valoare:

Informațiile despre comparator sunt completate din profilul utilizatorului însă acesta le poate modifica. De exemplu utilizatorul poate alege o altă adresă pentru expedierea produselor decât cea personală. De asemenea în această pagină utilizatorul poate folosi un cod al unui cupon de reduceri.

Aceasta pagină conține un sumar al comenzii și anume:

produsele aflate în coșul de cumpărături;

informațiile despre utilizator

După confirmarea comenzii utilizatorul primește următorul mesaj:

3.3 Codul sursă al proiectului

În continuare vor fi prezentate câteva secțiuni de cod mai importante, din codul sursă al aplicației. Aceste secțiuni cuprind atât cod PHP cât și Javascript și CSS. Funcția de conectare la baza de date este prezentată în figură următoare:

Se observă că acest fișier include un alt fișier numit config.inc.php ce conține setările globale ale aplicației.

Parametrii conexiunii sunt:

numele serverului MySQL;

numele bazei de date folosită de aplicație;

numele utilizatorului ce are acces la baza de date;

parola acestui utilizator.

Cu acești parametrii se va apela funcția PHP mysql_connect ce realizează conectarea la baza de date. În cazul în care conectarea la baza de date nu reușește se va afișa următorul mesaj:

Error while connecting to db împreună cu motivul erorii (de ex. Access denied) Ultimă funcție din fișier realizează închiderea conexiunii cu baza de date pentru a elibera resursele:

fDBClose.

Fișierul functions.inc.php conține funcții uzuale folosite în majoritatea paginilor siteului ca de exemplu: – inserarea de atribute și / sau taguri HTML, ca de exemplu META TAGS:

De asemenea aici se afla funcții folosite pentru includerea de fișiere în care sunt definite funcții JavaScript sau stiluri CSS necesare validării formularelor sau formatării și poziționării layoutului siteului:

Prin simpla modificare a acestor funcții, ca de exemplu adăugarea unui nou fișier ce trebuie inclus, aceasta se va realiza fără a afecta toate fișierele ce folosesc funcțiile de validare.

Un alt exemplu de funcții folosite în fișierele siteului sunt cele ce includ secțiuni din layout, ca de exemplu secțiunea de autentificare sau cea de căutare:

Această funcție testează dacă utilizatorul este autentificat.

În cazul în care este autentificat afișează un mesaj de bun venit împreună cu opțiunile Contul meu și Ieșire cont. În caz contrar afișează formularul de autentificare precum și opțiunea de creare a unui cont nou. Toate componentele și secțiunile layoutului sunt afișate prin apelarea unor funcții din acest fișier ceea ce permite schimbarea rapidă a acestuia, ca de exemplu adăugarea / ștergerea / modificarea unei opțiuni din meniul din partea inferioară a siteului, schimbare ce se va propaga în tot siteul:

Directorul JS conține funcții JavaScript necesare în majoritatea cazurilor pentru validări ale formularelor:

Un alt exemplu de funcții JavaScript este cel din figura următoare, care testează dacă utilizatorul a introdus în câmpul corespunzător cantităților produselor din coșul de cumpărături caractere valide (numere, caractere între 0 și 9):

În continuare se va prezenta o secvență de cod CSS necesar pentru formatarea și poziționarea elementelor de layout, în acest caz a meniului superior și elementelor acestuia :

Majoritatea acțiunilor efectuate de către utilizatori sunt implementate în fișierul execute.php din directorul rădăcina al proiectului. Un fișier similar se afla în directorul admin, unde sunt implementate acțiunile realizate de administrator pentru panoul de administrare prezentat anterior.

Structura acestui fișier este următoarea:

– la începutul acestuia se importa fișiere în care sunt definite o serie de funcții și setări necesare în implementările acțiunilor, ca de exemplu fișierul ce conține funcțiile de conectare respective deconectare la / de la baza de date sau cele ce afișează meniurile disponibile:

– apoi se verifică dacă utilizatorul este autentificat și este de tip administrator pentru a valida accesul la aceste acțiuni și se realizează conectarea la baza de date:

– în continuare se verifică dacă acțiunea cerută se afla în lista acțiunilor valide:

– apoi urmează implementarea unei acțiuni urmată de redirectarea la p pagina ce de obicei listează obiectele afectate de acțiunea respective (producători, categorii, promoții, etc) :

În exemplul de mai sus sunt ilustrate cele 3 acțiuni ce se pot efectua asupra unui producător :

adăugare;

modificare;

ștergere

CONCLUZII

În cadrul acestui capitol a fost descrisă o aplicație Web pentru organizarea sitului unui magazin de electronice, având caracteristicile unui sit de comerț electronic, oferind clienților posibilitatea de a comanda on-line produsele expuse. Aplicația fost realizată în special în PHP și MYSQL, oferind o interfață clasică. Paticularitatea aplicației constă în gestionarea preferințelor clienților în vederea furnizării de sugestii și în oferirea unor facilități de mesagerie internă, pentru comunicarea cu clienții având aceleași în rîndul produselor electronice.

Aplicația pune la dispoziție un set de instrumente de administrare on-line a site-ului și posibilitatea de a vizualiza numărul și informații despre comenzile efectuate, și lista toturor clienților care au cumpărat cărți.

Pe viitor ar putea fi oferite utilizatorilor unele facilități, precum un sistem de plată
on-line a produselor cumpărate (cu facilități de acordare de bonusuri sau de cumpărarea unor certificate de cadou) și diferite statistici generate dinamic, sub forma unor grafice. O altă faciliate ar putea fi posibilitatea ca un utilizator să poată da o notă de la 1 la 10 .

BIBLIOGRAFIE

Dașu, Narcisa Gabriela,.(2011), Crearea, proiectarea, optimizarea, publicarea și promovarea site-urilor Web , Buzău : Teocora;

Liciniu A. Kovács ; colab.: Cormos Monica Lavinia, Pop Gabriel Marius , Ghid avansat de comerț electronic (2011), ed.: Colin Holcombe. – Cluj Napoca : Editura Fundației pentru Studii Europene,

Lambrescu, Ionuț. Analiza și prelucrarea imaginilor, (2011), Ploiești : Editura Universității Petrol-Gaze din Ploiești, 2011

Scripcariu, Luminița.,(2011), Proiectarea bazelor de date , Iași : Politehnium

Preda, Gabriel., (2014), Aplicații cu baze de date , București : Matrix Rom

Udriștoiu, Anca., (2014), Baze de date , Craiova : Sitech

Mureșan, Mihaela, (2013), . Sisteme informatice de gestiune : arhitecturi și standarde, București : Pro Universitaria

Isăilă, Narcisa. (2012), Sisteme informatice în mediul de afaceri, București : Pro Universitaria

Iliescu, Claudiu Victor., (2013), Crearea paginilor web , Câmpulung-Muscel : Editura Larisa

Cănănău, Sorin, (2013), Design pentru ingineri, București : Printech

Bogdan Onete, (2005), Conținutul Site-urilor Comerciale – Elemente Obligatorii, Editura ASE, București;

V. Patruț, M. Deju, D. Pacurari, (2005), Gestiunea și contabilitatea unor activități economice cu caracter deosebit, Editura Junimea, Iași;

Doru Pleșca, (2006), Analiza Eficienței Comerciale a unui Magazin On-line, Editura ASE, București

Andreea Saseanu, (2005), Incertitudinea Strategică și Viitorul Dialogului On-line cu Consumatorul, Editura ASE, București

Sabin Buraga, (2003), Aplicații Web la Cheie, Editura Polirom, București

Sabin Buraga, (2004), Proiectarea Siturilor Web. Design și Funcționalitate, Editura Polirom

Jay Greenspan si Brad Bulger- MySQL / PHP Database Applications

Ashraful Anarn -Create dynamic sites with PHP & MySQL

Kevin Yank , Building a Database – Driven Web Site using PHP and MySQL

Graeme Merrall , PHP / MySQL Tutorial

V. V. Patriciu, M. Ene-Petrosanu, I. Bica, C. Vaduva, N. Voicu,(2001), Securitatea Comertului Electronic, Ed. ALL, București

B. Ghilic-Micu, M. Stoica, (2002), E-activitățile în societatea informațională, Colecția Societatea Informațională, Ed.Economică, București,

M. Belu, D. Parasciv, A.M. Comănescu, (2004), Tranzacții pe Internet , Ed. Economică, București,

D. Chaffey, E-Business and E-Commerce Management, Prentice Hall, Financial times, Harlow, England, 2002, p. 49, apud Gabriela Meșniță, (2002), Introducere în afacerile electronice, Ed. Junimea, Iași, p. 82

Similar Posts