Magazin On Line In Php
Capitolul 1
Introducere
1.1. Comerțul electronic
În ultimele două decenii dezvoltarea fără precedent a tehnologiilor informaționale determinate de necesitatea stocării și a transmiterii rapide a informațiilor cu costuri cât mai mici, a revoluționat comerțul global, redefinind principiile clasice ale marketingului. În prezent noțiunea de “comerț electronic” a devenit sinonim cu creșterea profitului.
Potrivit Organizației Economice de Cooperare și Dezvoltare (OEDC), comerțul electronic reprezintă “desfășurarea unei afaceri prin intermediul rețelei Internet, vânzarea de bunuri și servicii având loc on-line sau off-line”.
“Comerțul electronic constă în derularea unei afaceri, ca activitate generatoare de valoare, având ca suport rețeaua Internet și utilizarea unor pachete de programe software specifice.”
Într-o accepțiune “tradițională”, comerțul electronic presupune “utilizarea în rețele cu valoare adăugată a unor aplicații de tipul transferului electronic de documente (EDI), a comunicațiilor fax, a codurilor de bare, a transferului de fișiere și a poștei electronice”. Dezvoltarea tot mai accentuată a interconectivității calculatoarelor în rețeaua Internet a avut ca efect utilizarea, tot mai evidentă, de către companii a acestei rețele în cadrul unui nou tip de comerț și anume comerțul electronic care apelează pe lângă vechile servicii amintite și altele noi. Un exemplu de astfel de servicii îl reprezintă posibilitatea de a se efectua cumpărături prin rețea, consultând cataloagele electronice “on” pe Web sau cataloagele “off” pe CD-ROM și plătind prin intermediul cărților de credit sau a unor portmonee electronice.
Comerțul electronic cunoaște pe lângă definițiile prezentate mai sus și altele. Astfel, comerțul electronic reprezintă “relațiile de afaceri care se derulează prin rețea între furnizori și clienți, ca o alternativă la variantele de comunicații “tradiționale” prin fax, linii de comunicații dedicate sau EDI pe rețele cu valoare adăugată. O altă formă a comerțului Internet implică transferul de documente, de la contracte sau comenzi pro forma, până la imagini sau înregistrări vocale.”
O altă definiție dată comerțului electronic este următoarea: “comerțul electronic (e-commerce, pe scurt E-C) este acea manieră de a conduce activitățile de comerț care folosește echipamente electronice pentru a mări aria de acoperire (locul în care se află potențialii clienți) și viteza cu care este livrată informația.”
“Comerțul electronic poate fi considerat un schimb electronic de informații între o afacere și clienții săi. Aceasta se poate face prin fax, telefon, voice-mail, email, extranet sau Internet, pentru a enumera doar câteva dintre mijloace.”
Parte a Electronic Business (E-Business), comerțul electronic a fost proiectat în mod special pentru a realiza schimbul de informații între clienți și furnizori.
În era informațională, cheia competitivității întreprinderilor o constituie comerțul electronic, acesta asigurând:
-acces la noi segmente de piață sau la noi clienți;
-crește viteza de derulare a afacerilor;
-oferă o flexibilitate ridicată a politicilor comerciale;
-reduce costurile cu aprovizionarea , cu desfacerea, cu publicitatea;
-asigură simplificarea procedurilor.
Comerțul electronic poate lua o multitudine de forme, influențând profund activitatea de afaceri. Aplicațiile potențiale care sunt vizate de comerțul electronic sunt următoarele:
-oferirea de produse și servicii precum și efectuarea de servicii cum ar fi comanda de cărți sau abonamente la publicațiile on-line;
-regăsirea și schimbul de informație cum ar fi: detalii legate de produse și servicii, cataloage, instrucțiuni de folosire și briefinguri financiare;
-creșterea eficienței activității de afaceri prin: promovarea utilizării poștei electronice și furnizarea de acces la bazele de date ;
-realizarea de tranzacții financiare cum ar fi: telebanking și digicash.
Prin eliminarea barierelor geografice dintre furnizori și clienți, comerțul electronic oferă posibilitatea comercializării de produse în întreaga lume sporind astfel numărul potențialilor clienți.
În ultimii ani dezvoltarea Internet-ului a oferit posibilitatea ca oamenii de afaceri să-și extindă domeniul de activitate pătrunzând pe noi piețe și să-și prezinte paginile Web indiferent de dimensiunea sau amplasarea geografică a firmei. Acest lucru a permis întreprinderilor mici și mijlocii să concureze acum giganții industriei. Multe dintre firme consideră Internet-ul locul potrivit pentru a oferi clienților lor anumite servicii însă tot mai multe dintre paginile de Internet urmăresc să evolueze de la obiectivele de marketing la vânzarea directă.
În forma lui simplă, comerțul electronic necesită prezența într-o rețea de bază, promovarea firmei, furnizarea de servicii premergătoare vânzării și servicii post-vânzare, condiții minime care pot fi asigurate fără dificultate și cu costuri reduse.
Contrar acestuia, comerțul electronic în forma sa complexă ridică probleme de ordin legal, cultural și tehnologic, firma fiind obligată să își creeze un sistem propriu de comandă. Datorită costurilor mari pe care le impune, acest tip de comerț este permis numai firmelor mari care dispun de resursele financiare necesare.
Utilizarea Internet-ului are ca efect reducerea duratei de vânzare a unui produs, scăderea costurilor de comunicare, permite livrarea datelor în formă digitală, scade costurile de transport și distribuție și permite formarea unor parteneriate integrate și puternice.
Evoluția comerțului electronic are un impact major asupra economiei existând premisele creării 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.
Industria comerțului electronic face distincție între tranzacțiile Business-to-Business (B-2-B sau BTB) și tranzacțiile Business-to-Consumer (B-2-C sau BTC):
-Business-to-Consumer se referă la relațiile dintre comerciant și consumatorul final, fiind considerat comerț electronic cu amănuntul;
-Business-to-Business cuprinde toate tranzacțiile ce se efectuează între doi sau mai mulți parteneri de afaceri. Acest tip de tranzacții se bazează, de regulă, pe sisteme extranet adică partenerii de afacerii acționează pe Internet prin utilizarea de nume și parole pentru paginile Web proprii.
O noua opțiune în cadrul comerțului electronic este tranzacția Business-to-Employee (B-2-E) care se referă la tranzacțiile din interiorul unei firme, destinate personalului angajat al firmei și efectuate prin sistemul intranet propriu.
Atât Business-to-Consumer cât și Business-to-Business va ajunge în anul 2005 la cca. 9.800 $. La scară mondială comerțul electronic are o dinamică ascendentă pe măsură ce tot mai mulți oameni de afaceri și consumatori se conectează pe Web.
Statele Unite se delimitează de restul regiunilor lumii prin valoarea tranzacțiilor electronice: 510 miliarde de dolari în 2000 și 3.456 miliarde de dolari în 2005, dinamica fiind mai mică față de alte regiuni. În Statele Unite comerțul electronic s-a dezvoltat datorită micro-întreprinderilor inovative. În prezent SUA deține rolul de leader situându-se mult în fața Europei, atât în domeniul instrumentelor și tehnologiilor informatice, cât și în utilizarea comerțului electronic.
În Europa de Vest comerțul electronic va atinge până în 2005 2.500 miliarde de dolari ca urmare a eforturilor depuse de giganții din industrie și a afacerilor on-line. Comerțul european de tip Business-to-Business crește rapid însă doar o mică parte din europeni cumpără on-line.
Odată cu apariția primilor operatori privați în telecomunicații și a unor investitori străini ca operatori și furnizori de servicii în România și-a făcut apariția Internetul. La noi în țară Internetul este utilizat în principal ca un mijloc de comunicare prin e-mail, ca mijloc de informare prin Web site-uri și ca mijloc de promovare a întreprinderilor prin intermediul paginilor Web.
Lipsa cadrului legal privind securitatea tranzacțiilor, numărul redus de persoane care sunt conectate la Internet, accesul limitat la condițiile hardware și software de bază precum și valoarea ridicată a investițiilor pentru deschiderea unui magazin virtual sunt numai câteva din cauzele pentru care în România comerțul electronic de tip Business-to-Business se află încă la început de drum.
Totuși se observă că în ultimii ani comerțul electronic a cunoscut o dinamică ascendentă datorită creării unui mediu favorabil promovării și utilizării comerțului electronic prin sensibilizarea și conștientizarea întreprinzătorilor.
1.2. Beneficiile E-commerce (comerțul electronic)
este convenabil, siturile fiind operaționale 24 ore pe zi, 7 zile pe săptămână;
costuri interne mici, comerțul electronic eliminând interacțiunea dintre cumpărător și intermediarii tranzacției;
costuri scăzute de procesare a tranzacțiilor, metoda de plată electronică fiind mai puțin costisitoare decât modul de plată prin monetar;
o creștere substanțială a vitezei procesului de vânzare. Companiile de e-commerce recepționează veniturile mai rapid decât în sistemul tradițional;
reducerea erorilor, procesarea automată producând mai puține erori decât procesul de vânzare tradițional;
spațiul nelimitat – siturile de e-commerce putând afișa/indexa un număr nelimitat de bunuri și servicii;
prezența globală crescută, compania putând fi accesată (teoretic) de posibilii clienți din orice colț al lumii;
disponibilitatea informațiilor despre clienți, existând astfel posibilitatea de a studia preferințele unui client individual sau ale unui grup specific de clienți, de a modela afacerea după dorințele clientului sau de a schimba rapoarte analitice privind clientela
cea mai bună interacțiune cu clientul.
Deci, comerțul electronic este o categorie de e-business. Există posibilitatea comercializării de servicii, de exemplu e-turism (www.bizravel.com, www.opentravel.org, www.rotravel.com), e-leasing, e-consulting.
Avantaje
Promovarea produsului – se poate realiza printr-un contact direct și interactiv cu clienții, primul avantaj fiind posibilitatea de a oferi informații recente și ample despre produs. Totuși, nu despre toate (parfumuri, etc.)
Noi canale de vânzare – produsele existente pot fi livrate pe o arie largă fără a mai fi nevoie de întreținut un magazin cu existentă fizică. Mai mult, limitele geografice dispar în toate zonele unde există Internet, o afacere poate fi desfășurată în toată lumea la un singur centru de comandă dotat cu mijloace computerizate.
Economii la vânzarea/cumpărarea produsului – generate de suprimarea costului deplasării până la vânzător, eliminarea cheltuielilor necesare pentru a întreține un magazin clasic, reducerea timpului afectat tranzacției, etc.
Timpul redus de acces la produs – este un avantaj pentru servicii cu un ciclu de viață scurt (știrile).
Service mai bun pentru clienți- consultanța poate fi disponibilă non-stop, relațiile interumane fiind mai strânse;
Marca și imaginea corporației pot fi mai ușor modelate – acestea sunt importante mai ales când clienții folosesc tehnologii avansate (b2b);
Adaptarea la shimbări poate fi mai rapid și mai facil efectuată atunci când firma este deja la curent și utilizează cele mai noi tehnologii ale comerțului electronic;
Îmbunătățirea relațiilor cu clienții – fiecare client trebuie sa se simtă apreciat, remarcat dezvoltându-se relații 1-la-1;
Dezvoltarea de noi produse se poate realiza în concordanță cu cerințele consumatorului – clienții pot afecta direct designul unui nou produs, vizualizându-l cu ajutorul computerului. Monitorizând atitudinile clienților, firma poate obține informații prețioase despre proiectarea noilor produse sau îmbunătățirea celor vechi;
Noi modele de afaceri – pot fi considerate vânzarea de informații pentru experții în finanțe ori alte domenii.
Probleme
asistență – gradul de informații referitoare la un produs poate fi insuficient;
fiun pentru clienți- consultanța poate fi disponibilă non-stop, relațiile interumane fiind mai strânse;
Marca și imaginea corporației pot fi mai ușor modelate – acestea sunt importante mai ales când clienții folosesc tehnologii avansate (b2b);
Adaptarea la shimbări poate fi mai rapid și mai facil efectuată atunci când firma este deja la curent și utilizează cele mai noi tehnologii ale comerțului electronic;
Îmbunătățirea relațiilor cu clienții – fiecare client trebuie sa se simtă apreciat, remarcat dezvoltându-se relații 1-la-1;
Dezvoltarea de noi produse se poate realiza în concordanță cu cerințele consumatorului – clienții pot afecta direct designul unui nou produs, vizualizându-l cu ajutorul computerului. Monitorizând atitudinile clienților, firma poate obține informații prețioase despre proiectarea noilor produse sau îmbunătățirea celor vechi;
Noi modele de afaceri – pot fi considerate vânzarea de informații pentru experții în finanțe ori alte domenii.
Probleme
asistență – gradul de informații referitoare la un produs poate fi insuficient;
fiabilitate și credibilitate – punctul cheie este ca multitudinea de date pe web, pe care le poate oricine accesa, să se transforme în informații ce vor deveni ulterior cunoaștere. Din cauza timpului scurt de existență sau a dinamicității ridicate, datele se învechesc foarte rapid, lipsind mecanismele necesare unei analize de termen lung.
1.3. Modele de afaceri
Magazin electronic (e-shop)
Minimal, un e-shop conține un catalog de produse sau servicii cu descrieri tehnice și comerciale pentru fiecare poziție din catalog, gestionate de un sistem de gestiune a bazelor de date care se va ocupa cu stocarea și manipularea datelor și oferirea posibilităților de acces la informațiile dorite de client. Varianta medie a unui e-shop oferă posibilități pentru preluarea comenzilor (prin poșta electronică sau prin formulare interactive completate direct de pe situl web al vânzătorului), iar varianta extinsă adaugă posibilitatea efectuării on-line a plății prin diverse mijloace de plată plus diferite alte activități. În ansamblu, funcțiile unui sit web de comerț electronic includ prezența unui catalog on-line, o metodă pentru procesarea plăților electronice, realizarea facturării, transportului, promovarea și realizarea altor servicii pentru client.
Magazin electronic universal (e-mall) reprezintă o colecție de magazine electronice reunite într-un site. Acceptă de obicei aceleași metode de plată și oferă anumite facilități. (www.elibris.ro, www.anticariatonline.com )
Aprovizionarea electronică (e-procurement) – pentru procurarea bunurilor și serviciilor, marile companii și autorități publice organizează licitații. Prin publicarea pe web a specificațiilor ofertei, scad atât timpul, cât și costul de transmisie, mărindu-se numărul de firme ce pot lua parte la licitație. Astfel, crește concurenta și scade prețul
Piața unui terț (third part marketplace) – se apelează la un site web pentru a avea acces la catalogul de produse al unei companii. Acest site aparține unui terț (un furnizor de servicii Internet, un furnizor de aplicații sau o bancă). Avantajul este că intersecția cu posibilii clienți este unică pentru mai mulți producători.
Comunități virtuale – (virtual comunities). Fiecare membru poate oferi spre vânzare produse sau servicii sau poate adresa cereri de cumpărare a unor produse/servicii. Calitatea de membru a unei comunități virtuale presupune plata unei taxe sau să fie compusă din clienți fideli ai unui produs sau grup de produse.
Furnizori de servicii cu valoare adăugată pentru canalele de comerț electronic (value chain service provider) furnizorii de astfel de servicii sunt specializați pe funcții specifice, precum asigurarea logisticii, rezolvarea tranzacțiilor financiare sau expertiză în managementul producției și al stocurilor. Plata acestor servicii se realizează pe baza unor tarife sau cote procentuale.
Platforme de colaborare (collaborative environments) cuprind un set de instrumente software și un mediu informațional pentru colaborarea între companii (via extranet), ce pot îndeplini funcția de proiectare sau concepție în colaborare. Câștigurile provin din taxa de membru sau taxa de utilizare și din vânzări de instrumente specializate (destinate proiectării, organizării fluxului de documente (workflow și gestiunii concurente a datelor.
Brokerajul de informații – exemplele cuprind cataloage de clienți clasificați pe profil, vânzarea de oportunități de afaceri, consultanță în domenii specializate.
Capitolul 2
Rolul și importanța internetului și
a paginilor web
Fenomen de amploare mondiala, Internetul cunoaste o evolutie incomparabila cu cea a altor instrumente media, la dezvoltarea sa continua participind intreg mapamondul. El se extinde cu o viteza fantastica, tot mai multi utilizatori se conecteaza zilnic la Internet avizi de informatie. Daca la inceputurile acestui fenomen ajuns acum la scara planetara, lumea nu.si punea probleme in legatura cu modul de utilizare, intre timp lucrurile s.au schimbat. Dupa citiva ani de educatie Internet, si o zestre de pagini Web ajunsa la un numar impresionant de citeva zeci de milioane utilizatorii nu mai cauta "pur si simplu" ci doresc ca aceste cautari sa aiba o logica, sa fie rapide si sa se finalizeze cu gasirea documentelor cautate. Fiind o retea a retelelor Net.ul este, de fapt o resursa comuna fiecarui utilizator, la formarea si exploatarea careia participa intreaga lume, singurul numitor comun fiind setea de informatie.
In prezent toate domeniile de activitate ale omenirii sunt din ce in ce mai legate de reteaua mondiala. Oricine trebuie sa stie sa manipuleze resursele retelei si, chiar mai mult sa fie o parte activa a acesteia. World Wide Web.ul a aparut ca o necesitate de a aduce Internetul in casa si la intelegerea oricui, fiind datorita interfetei grafice prietenoase adeseori identificat cu Internetul.
Siteurile sau paginile Web sunt in continua dezvoltare, fapt care atrage dupa sine o evolutie a limbajelor si a editoarelor,insotita de cea a navigatoarelor.
2.1. SCURT ISTORIC
A localiza in timp momentul crearii retelei Internet este practic imposibil deoarece sunt prea multe sisteme de retele direct accesibile, fiecare dintre acestea avindu-si propria origine si fiecare in parte ajuta la definirea scopului si dimensiunii Internetului. Internetul a fost inainte de toate un sistem gindit si realizat de si pentru comunitatea academica. Internet a luat nastere ca ARPAnet (reteaua Agentiei de cercetari avansate) retea militara proiectata acum 20 de ani in scopul de a supravietui functional in cazul unei conflagratii. La mijlocul anilor 60, cercetatorii incepeau sa experimenteze ideea de retele de calculatoare care erau atit rapide cit si demne de incredere desi bazate pe medii de conexiune obisnuite cum ar fi liniile telefonice. In linii mari era un sistem asemanator celui utilizat in conexiunile telefonice la distante mari prin centrale si intermediari pe care beneficiarii nici nu le observa. Din framintarea cercetatorilor s.a nascut ideea retelelor cu comutare de pachete. Informatiile care circula prin acest tip de retea sunt fragmentate intr.un anumit numar de bucati numite pachete Aceste pachete sunt trimise prin retea la destinatiile dorite unde sunt reasamblate. Multi ani doar functionarii guvernamentali si cercetatorii au avut acces la aceasta retea care ulterior a devenit Internet. Treptat, dezvoltarea tehnologica si extinderea retelelor locale(LAN) au condus la ideea interconectarii retelelor. Daca la inceput au fost interconectate, prin intermediul unui blackbone (supercalculatoare aflate la distanta), retele locale mici si calculatoare individuale, mai tirziu s.a decis realizarea unor retele medii intermediare. Acest lucru a permis dezvoltarea unor companii si organizatii care creaza si mentin aceste retele. Firme precum IBM, MCI si altele au dezvoltat propriile nuclee backbone rapide asigurind accesul a milioane de utilizatori din toata lumea. In prezent reteaua Internet creste cu o viteza pe care creatorii ei nici nu au visat.o. Noi companii se conecteaza cu o frecventa de necrezut, si multe persoane particulare acceseaza Internet.ul prin intermediul distribuitorilor sau prin servicii familiare. Rata de crestere este imposibil de determinat din cauza modului descentralizat in care este gestionata reteaua, dar citeva estimari informale apreciaza cresterea la peste un milion de noi utilizatori in fiecare luna.
2.2. PREZENTARE }I IMPORTAN|{
Internetul a fost descris ca "o colectie larga de retele" sau ca o "retea de retele". Desi ambele defintii sunt corecte, nici una nu surprinde Internetul in totalitatea sa. Pe linga instrumentul care este aceasta imensa conexiune, Internetul inseamna si multimea comunitatilor celor ce il folosesc, fiecare in scopuri diferite :
Comunitatea academica utilizeaza Internetul ca pe cel mai mare, complet si totodata complex instrument de invatare (educational), deoarece pe Internet se pot gasi cunostiinte ce permit studierea practic a oricarei discipline imaginabile si in plus se poate comunica rapid si eficient cu alte persoane interesate de aceiasi disciplina;
Comunitateaa stiintifica utilizeaza Internetul ca pe un instrument de cercetare si colaborare pentru ca Internetul ofera acces la cele mai avansate facilitati de cercetare din lume;
Comunitatea economica utilizeaza Internetul ca pe un mediu de derulare al afacerilor.
Internetul nu este o organizatie monolitica, avand o conducere si un grup de control unice: Internetul este o societate de retele de calculatoare interconectate, independente dar care se supun unor protocoale globale.
In concluzie Internetul este o "retea de retele", ceea ce inseamna ca multe retele diferite conduse de mai multe organizatii sunt conectate impreuna pentru a forma Internet. Internetul permite oamenilor sa comunice, sa imparta informatii intre ei, dar cel mai mare avantaj este ca reprezinta un instrument ce ofera acces la cantitati vaste de informatii din intreaga lume.
World Wide Web (WWW sau W3) este o retea de resurse informationale de o extraordinar de mare diversitate in ceea ce priveste continutul. Este un sistem interactiv hipermedia (adica un sistem ce contine si suporta patru categorii importante de tipuri de informatie: text, imagini, sunete si imagini animate) construit pe Internet. Pentru a face aceste resurse disponibile unei audiente cit mai largi, Web.ul se sprijina pe trei mecanisme fundamentale:
O schema uniforma de denumire pentru a localiza resursele in Web;
Protocoale pentru accesarea resurselor astfel denumite in Web;
Hypertextul pentru navigarea comoda de la o resursa la alta. Web;
Web-ul reprezinta totalitatea paginilor care pot fi cautate si accesate printr-un protocol special intitulat HTTP (HiperText Transfer Protocol).
Web-ul este un spatiu virtual de informatie. In Internet gasiti calculatoare – in Web gasiti documente, sunete, imagini, animatii… intr-un cuvint informatie. In Internet, conexiunile sunt cabluri ce leaga calculatoarele – in Web conexiunile sunt legaturile hipertext dintre documente (link-urile).
Web-ul exista datorita programelor care asigura comunicarea intre computerele conectate la Internet. Web-ul nu poate exista independent de Net. Web-ul a facut Internetul accesibil deoarece oamenii sunt interesati de informatie si nu prea vor sa stie de calculatoarele si cablurile din spatele acesteia.
WWW-ul este cel mai vizibil instrument Internet, transformindu-l, prin capacitatea sa de a prezenta informatia, in cel mai important instrument al zilelor noastre si intr-o sursa de informatii fara egal.
Pe Web se pot face in esenta patru lucruri si anume:
Primul ar fi simpla publicare, cam ceea ce fac 99% din oameni, la aceasta ora. Publicatiile electronice apar la confluenta dintre publicatiile pe hirtie si produsele software cu caracteristicile lor de interactivitate.
Al doilea lucru ar fi publicatii complexe, interactive. Se estimeaza ca acest tip de publicatii se va dezvolta spectaculos in urmatorii doi ani. Prin aceste publicatii se pot explora interactiv bazele de date ale unei companii, se pot cauta specificatiile unor anumite produse sau se poate solicita ceva completind niste formulare.
Al treilea lucru este comertul. A face comert este mai greu decit a face publicare complexa deoarece presupune conectarea Web-ului la sistemul de management si la cel de contabilitate.
Cel de-al patrulea lucru este IntraNet-ulsau Web-ul intern. In loc sa scrie citeva versiuni diferite ale aceleiasi aplicatii, una pentru PC, alta pentru Mac si una pentru Unix, proiectantii vor scrie una singura, independenta de platforma. Companiile mari vor utiliza zeci sau sute de servere Web interne ca mijloc de comunicatie interna.
2.3. HTML. PREZENTARE
Limbajul pentru hipertexte, in engleza Hipertext Markup Language (HTML), a fost initial dezvoltat de catre oamenii de stiinta ca o unealta utilizata la partajarea documentelor in intreaga comunitate stiintifica internationala care utiliza si utilizeaza Internetul. Pentru a publica informatii care sa fie distribuite global in Internet este necesar un limbaj universal de scriere a acestora, limbaj care sa fie potential inteles de toate computerele din Internet. Limbajul folosit in acest sens de catre World Wide Web este HTML (Hipertext Markup Language).
HTML se aseamana cu modalitatile de formatare a textelor de la un procesor de texte uzual in sensul ca adauga textului ce se doreste a fi publicat, informatii de formatare si permite inglobarea si altortipuri de informatii (imagini, sunete etc). Toate acestea indica modul de afisare (prezentare) pentru programele capabile sa inteleaga aceste informatii. Ceea ce il deosebeste de toate celelalte formate ale procesoarelor de texte este faptul ca un document HTML este un document ce contine informatie in format text-pur (numai caractere ASCII) in timp ce procesoarele de texte folosesc formate particulare. Astfel, un document HTML pote fi afisat (prezentat) de un numar mare de programe de navigare (browsere Web) care ruleaza pe un mare numar de platforme.
Documentele HTML pot fi create cu un editor de texte sau cu editoare HTML care permit crearea vizuala (WYSIWYG) rezultind insa tot documente in format text-pur .
Limbajul HTML da autorilor posibilitatea :
Sa publice documente cu headere, texte, tabele, liste, fotografii etc;
Sa regaseasca on-line informatii prin intermediul hiperlink-urilor accesate printr-un simplu click de mouse;
Sa proiecteze formulare pentru realizarea tranzactiilor cu servere aflate la distanta pentru cautari de informatie sau pentru activitati specifice comertului;
Sa includa foi de calcul tabelar, clipuri video, sunete si alte aplicatii direct in documente.
Limbajul HTML are patru caracteristici principale:
Foloseste un marcaj descriptiv pentru a indica diversele actiuni ce trebuie executate. Aceasta inseamna ca parti ale documentului descris de HTML sunt marcate cu nume descriptive, ca de exemplu <CHAPTER> sau <TITLE> care sunt aplicabile oricarei portiuni de date corespunzatoare din document.
Defineste structuri de documente ierarhice si legaturi intra- si inter-documente. O legatura este o relatie unara intre doua elemente ale unui document. Structura unui document este insotita de astfel deee legaturi intre elementele sale.
Limbajul HTML este guvernat de o descriere formala. HTML are o descriere a tipului documentului (Document Type Definition DTD) care stabileste specificatiile formale ale limbajului. DTD stabileste sintaxa limbajului, descrie fiecare element individual al unui document scris in limbajul HTML, defineste atributele permise pentru fiecare element si descrie modelul datelor continute in fiecare element. In corelatie cu informatiile despre elemente, DTD ofera definitii pentru entitatile externe ce pot fi referite in HTML.
Atit specificatiile limbajului cit si limbajul insusi pot fi citite si de om dar si de computer. Datorita faptului ca elementele de marcare sunt separate de text prin siruri de delimitare alcatuite din caractere tiparibile, textul si marcajele pot coexista.
HTML este un limbaj bazat pe SGML (Standard Generalized Markup Language). SGML este un standard international (ISO-8879) aprobat in 1986.
SGML ofera o modalitate de a reprezenta structura documentelor si hyper-documentelor. Este totodata si o cale de a codifica hyper-documentele astfel ca acesta sa poata fi interschimbate asemanator procesului de interschimbare a unor documente in cazul mai multor autori care colaboreaza utilizind platforme diferite aflate la distanta.
SGML este un sistem complex de descriere a documentelor. Este utilizat pentru descrierea structurii generale a diferitelor tipuri de documente fara sa fie un limbaj de descriere a paginii. Principala preocupare a SGML se rasfringe asupra continutului documentului, nu asupra aspectului sau.
Deci, in virtutea trasaturilor mostenite de la SGML, HTML este un limbaj pentru descrierea documentelor structurate. Teoria din spatele acestui limbaj se bazeaza pe faptul ca majoritatea documentelor au elemente comune si ca daca definesti un set de elemente, poti marca elementele documentului cu etichetele corespunzatoare.
Majoritatea etichetelor HTML arata sub forma:
<NUME ETICHET{> Textul afectat de eticheta </NUME ETICHET{> si indica navigatorului elemente de structura documentului, formatare, hypertext sau alte elemente. Documentele HTML contin doar textul propriu-zis si etichetele HTML iar sursa lor poate fi usor vazuta din orice navigator.
Diferenta majora dintre procesoarele de texte si procesoarele HTML este ca acesta din urma nu se preocupa de cum anume vor aparea pe ecran elementele documentului. Cu foarte putine exceptii, HTML nu descrie modul de prezentare al documentului ca un intreg. El ofera (deocamdata) un suport redus in stabilirea plasamentului sau felului in care vor fi afisate elementele documentului. Proiectantii HTML au ales intentionat aceasta varianta, motivul fiind acela ca nu se cunosc posibilitatile platformei pe care va fi vazut documentul (dimensiunea ecranului, fonturile instalate, etc). Prin separarea structurii documentului de felul in care este afisat se ofera o mai mare libertate programului care intelege HTML si afiseaza documentul. Acesta poate sa ia hotariri privind formatarea documentului pe baza posibilitatilor platformei respective. Este ceea ce fac navigatoarele Web, in afara functiilor de comuniicare si aducere a documentelor de pe Net. Cind programul de navigare incarca un document HTML el citeste documentul in cautarea etichetelor HTML, formateaza textul si imaginea si le afiseaza pe ecran. Este motivul pentru care acelasi document HTML apare usor diferit cind este privit cu navigatoare diferite. Desi in aceasta faza de dezvoltare posibilitatile de formatare oferite sunt !nca destul de limitate, oferind un control destul de redus asupra formei documentului, avantajul faptului ca documentele pot fi transferate si vazute oriunde pe Net, independent de platforma si de programul de navigare folosit, a condus la raspindirea sa foarte rapida.
Orice versiune a HTML include elemente cum ar fi : text centrat sau aliniat drreapta, tabele, formule matematice, aliniere imagine si text. Extensiile, care au aparut in numar mare in ultima vreme, sunt seturi de etichete HTML introduse de diverse companii (in general cele producatoare de navigatoare) care permit autorilor de documente HTML sa evite o parte din constingerile standardului. Cele mai raspindite sunt extensiile Netscape si Internet Explorer.
Se pune insa intrebarea: De ce a fost preferat HTML pentru publicatii pe Web, cind pentru realizarea publicatiilor electronice exista mai multe tehnologii? Primul motiv este simplitatea. Al doilea ar fi acela ca permite formatarea textului ASCII cu etichete in format ASCII. Rezulta de aici o compresie buna, suport pentru legaturi hypertext si usurinta in a scrie programe de navigare pentru vizualizarea documentelor.
2.4. LIMBAJE DE SCRIPTARE
Baza comunicarii intre serverele si clientii Web, la nivel de aplicatie este asigurata de protocolul HTTP(HyperText Transfer Protocol). Protocolul HTTP este folosit in special pentru hipertext, dar este un protocol generic, putind sustine un sistem distribuit pentru managementul obiectelor de date. O caracteristica importanta a protocolului este independenta de platforma, diferitele calculatoare care comunica prin HTTP putind folosi diverse sisteme de operare si aplicatii hipertext.
Principalele concepte cu care lucreaza protocolul sunt cererea si raspunsul: un client Web trimite un mesaj(cererea) la un server. Mesajul contine identificatorul resursei dorite, dat sub forma unui URI(Uniform Resource Identifier), metoda de acces folosita, precum si o serie de meta-informatii care pot fi utile serverului. Raspunsul serverului cuprinde un cod indicind starea serverului dupa interpretarea cererii, un mesaj explicativ pentru codul de stare transmis, meta-informatiile care vor fi procesate de catre client si, eventual, un continut(resursa solicitata).
Standard de facto pentru interactiunea clientilor Web cu serverele Web, Common Gateway Interface se afla in prezent la versiunea 1.1. Un program CGI, denumit in mod uzual script, se executa pe serverul WWW fie in mod explicit, apelat din cadrul paginii printr-o directiva speciala, fie la preluarea informatiilor aflate in cadrul cimpurilor unui formular interactiv sau coordonatelor unei zone senzitive. CGI confera interactivitate paginilor Web, documentele HTML putind sa-si modifice in mod dinamic continutul si sa permita prelucrari sofisticate de date. Programele CGI pot oferi suport si la autentificarea utilizatorilor pe partea de server.
Programele CGI pot fi scrise in orice limbaj, fiind interpretate in cazul limbajelor PHP, Perl, Python, TCL sau compilate cum se intimpla pentru limbajul C si Delphi.
In conceperea unui script CGI trebuie respectate anumite reguli de baza:
programul scrie datele spre a fi transmise navigatorului Web la iesirea standard
programul genereaza anteturi care permit serverului Web sa interpreteze corect iesirea scriptului
Cele mai multe scripturi CGI sunt concepute pentru a procesa datele introduse in formulare. Un formular se defineste in XHTML folosindu-se marcatori specifici pentru afisarea continutului si introducerea datelor catre clienti, iar scriptul invocat si executat de serverul de Web, va prelua continutul acelui formular si-l va prelucra, returnind eventual rezultatele catre navigator.
2.4.1 PHP . PREZENTARE
PHP (PHP: Hypertext Prepocessor), cunoscut în versiunile mai vechi și sub numele de PHP/FI (Personal Homepage/Form Interpreter), inițial a fost giândit a fi o simplă aplicație CGI pentru interpretarea formularelor definte 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 (în versiunea curentă PHP 4.0) 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ă incărcarea fișierelor de pe calculatorul client: upload (standard propus de E. Nebel și L. Masinter de la Xerox, descris în RFC 1867) și oferă suport pentru cookies (mecanism de stocare a datelor în navigatorul client pentru identificarea utilizatorilor, propus de Netscape).
Această aplicație este disponibilă gratuit pe Internet, pentru medii Unix și mai nou pentru medii Windows (inclusiv sursele), integriându-se în popularul server Apache.
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 în debutul anului 1995 sub denumirea de Personal Home Page Tools, fiind considerat un analizor simplist care interpreta câteva macrouri ce puteau fi incluse în cadrul documentelor HTML, permițând contorizarea accesului la paginile Web sau accesarea unei carț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 Lenford, un interpreter 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. Se estimează că la sfârșitul lui 1996 cel puțin 15 mii de site.uri Web utilizau PHP/FI, iar în anul 1997 numărul acestora era de 50 de mii.
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 facută publică versiunea PHP 4.0, utilizând puternicul motor de scriptare Zend și oferind suport nu numai pentru servrul 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 un limbaj de script care funcționează alături de un server Web.
Este de notat diferența cu alte limbaje script CGI scrise în limbaje precum Perl sau C: în loc de a scrie un program cu o multitudine de linii de comanda afișate în final într-o pagină HTML, veți scrie o pagină HTML cu codul inclus pentru a realiza o acțiune precisă.
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 serverul Web, nu in navigator(client Web). In consecinta, PHP poate obtine accesul la fisiere , baze de date si alte resurse inaccesibile programului JavaScript. Acestea contin bogate surse de continut dinamic care atrag vizitatorii.
Dacă pe serverul Web se află un script similar, clientul nu va primi deciât rezultatul execuției scriptului, fără a avea nici o posibilitate de acces la codul care a produs rezultatul. Vă puteți configura 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 posedă aceleași funcții ca alte limbaje permițâind să se scrie scripturi CGI, să colecteze date și să genereze dinamic pagini web sau să trimită și să primească cookies.
Marea calitate și cel mai mare avantaj al limbajului PHP este suportul cu un număr mare de baze de date. A realiza o pagină web dinamic cu o baza de date este extrem de simplu. Următoarele baze de date sunt suportate de către PHP:
Limbajul PHP are deasemenea suport pentru diverse servicii server utiliziând protocoale precum IMAP, SNMP, NNTP, POP3 și HTTP.
Fiecare program PHP include doua linii speciale, care indica serverului PHP ca textul cuprins intre cele doua linii este alcatuit din instructiuni PHP.
<?php
?>
Practic aceste linii pot fi asimilate copertelor unei carti, care pastreaza unitatea programului PHP.
Programele PHP executa trei categorii de operatii elementare:
obtin date de la un utilizator
executa prelucrari ale datelor, respectiv obtin accesul la datele stocate in fisiere si baze de date si le manipuleaza
afiseaza date astfel incit un utilizator sa le poata vizualiza.
Pentru executarea unui script trebuie mai intii incarcat scriptul intr-un server unde este instalat PHP. Accesul la distanta la un server Linux sau Unix se poate face prin intermediul protocoalelor Telnet sau SSH, daca in prealabil se primeste autorizare de folosire a acestor protocoale de la administatorul de sistem pentru un anumit utilizator. Daca se foloseste un server Microsoft Windows situat in aceeasi retea locala ca si statia de lucru atunci este posibila alocarea de catre adimistratorul de retea a unei partitii de fisiere in acest scop.
In vederea incarcarii scriptului prin intermediul protocolului FTP adimistratorul de sistem trebuie sa furnizeze utilizatorilor autorizati urmatoarele informatii:
numele serverului gazda
numele de utilizator si parola pentru deschiderea sesiunii de lucru prin intermediul protocolului FTP
catalogul in care trebuie sa se gaseasca scripturile PHP
localizatorul uniform de resurse(URL), pe care trebuie sa-l folositi pentru a obtine acces la scripturile PHP
Dupa ce incarcarea scriptului PHP a fost realizata cu succes acesta se lanseaza in executie prin dechiderea unui navigator Web(client) cu adresa URL asociata scriptului PHP.
2.4.2. SERVERUL WEB APACHE
Serverul de Web Apache sta la baza a peste 60% din domenii, potrivit unui studiu Netcraft Web Server. Providerii de Internet si companiile de gazduire de aplicatii pe Web apeleaza deseori la Apache din cauza suportului sau pentru numeroase platforme, capabilitatilor de gazduire virtuala usor de implementat si modulelor sale care ii extind capabilitatile.
Caracteristica Apache Portable Routine(APR) optimizeaza capabilitatile precum administrarea proceselor pentru fiecare sistem de operare, dar permite serverului propriu-zis sa ignore distinctiile specifice fiecarei platforme. Acest lucru a imbunatatit performanta si stabilitatea implementarilor Windows, prin eliminarea emulatorului. Mai mult APR este accesibil si dezvoltatorilor Web care scriu programe multi-platforme in C, care este mai rapid decit limbajele interpretative, precum PHP si Perl, folosite de obicei pentru dezvoltare Web.
La acest lucru se adauga faptul ca serverul propriu-zis este independent de protocoale. Cu toate ca este in principal un server HTTP(Web), este proiectat sa suporte alternative cum ar fi FTP. O astfel de structura simplifica administrarea si reduce riscurile de securitate. O parte insemnata din atractivitatea Apache o constituie versabilitatea sa. API-ul sau deschis a permis dezvoltatorilor sa scrie diferite module care i-au schimbat comportamentul. Daca serverului ii lipseste o functie de care are nevoie un sit, sunt mari sanse ca undeva sa fie disponibil un modul plug-in.
Serverele de Web au ca functionalitate de baza receptionarea de cereri anonime de la clienti si furnizarea de informatii intr-o maniera dorita a fi eficienta si rapida. De fapt un server Web este un daemon care accepta conexiuni conforme protocolului HTTP, raspunzind cererilor receptionate de la clienti. Pentru a asigura servicii HTTP, serverul Apache trebuie sa fie instalat in sistem(in mod uzual, fiind vorba de un pachet RPM in Linux sau de un program executabil .exe in Windows), iar daemon-ul httpd pornit. Apache este un sistem modular, alcatuit dintr-un server de baza si mai multe module care sunt incarcate dinamic intr-un mod similar cu functionarea modulelor din nucleul Linux.
Apache poate fi configurat cu ajutorul interfetei grafice apacheconf(Apache Configuration Tool). Fisierul de configurare principal este http-conf si este de obicei localizat in directorul /etc/httpd (in versiunile de Linux sau Unix).
In anumite cazuri, este necesar sa se restrictioneze accesul la anumite documente, prin intermediul autentificarii prin nume de utilizator si parola sau in functie de adresa calculatorului clientului Web.
Pentru autentificarea utilizatorilor, vom parcurge doi pasi:
se creeaza un fisier continind numele si parolele utilizatorilor care vor avea acces la anumite date de pe serverul Web(in particular Apache)
se configureaza serverul pentru a seta care resurse vor fi protejate si care sunt utilizatorii avind permisiunea accesarii lor, dupa introducerea unei parole valide
Configurarea serverului se poate realiza fie prin fisierul httpd-conf, fie prin .htacces, indicind o zona protejata, de obicei in functie de directoarele dorite a fi accesate pe baza de autentificare. Fisierul .htaccess va fi stocat in directorul asupra caruia dorim sa modificam comportamentul implicit al serverului Web. Inainte de a modifica maniera de autentificare din fisierul .htaccess, administratorul serverului Apache va specifica in httpd.conf ca autentificarile sa se realizeze via .htaccess.
De asemenea, Apache ofera posibilitatea de a servi mai multe situri Web simultan, altfel spus, gazduire virtuala(virtual hosting). Exista doua metode de implementare a gazduirii virtuale: prima bazata pe nume si a doua bazata pe adrese IP. Masinile virtuale bazate pe adresa utilizeaza adresa IP a conexiunii pentru a determina masina virtuala corecta. Astfel pentru fiecare gazduire virtuala bazata pe nume, determinarea masinii virtuale se face pe baza numelui acestuia.
Gazduirea virtuala bazata pe nume este mai simplu de implementat, si este recomandata utilizarea acesteia. Pentru a utiliza serviciul de gazduire virtuala, trebuie mai intii stabilite adresa IP si portul pentru serverul care va accepta cereri pentru respectiva masina virtuala.
2.4.3 ADMINISTRAREA BAZELOR DE DATE CU MySQL
Dezvoltat de firma suedeza MySQL AB, MySQL este un server de baze de date disponibil gratuit, cu sursa deschisa(open-source) care ofera fiabilitate si avantaje reale.
Frumusetea serverului MySQL este simplitatea sa fundamentala. Administrarea bazei de date se face folosind peste o duzina de utilitare in linia de comanda, cel mai important fiind mysql, un shell interactiv pentru controlul si interogarea bazei de date. Utilitarele ruleaza cel mai bine pe sistemul Linux, platforma pe care MySQL a fost dezvoltat initial. Alte doua utilitare cu sursa deschisa, oferite pe platforma Windows, care ofera un set de comenzi de administrare sunt MySqlManager, un utilitar de interogare in mod grafic similar cu mysql si WinMySQL admin, o consola pentru administrarea detaliilor configurarii lui MySQL.
MySQL realizeaza cu usurinta importarea diverselor baze de date si exportarea sub forma fisierelor sql. Tranzactiile nu sunt parte a tabelelor implicite(ISAM) ale lui MySQL, dar sunt incluse doua tipuri noi de tabele . Berkley DB(BDB) si InnoDB . care au fost dezvoltate de alte firme.
Administratorii de firme si dezvoltatorii de baze de date au ajuns la concluzia ca MySQL are o dezvoltare energica si loiala, ca sa nu mai mentionam reputatia cistigata cu truda, de baza de date sigura.
MySQL opereaza in baza unui model client/server. Orice masina care doreste sa proceseze interogari asupra unei baze de date MySQL trebuie sa ruleze MySQL server(mysqld), care este responsabil de tot traficul de tip intrari/iesiri(incoming/outgoing) cu baza de date. Ca orice server, mysqld "asculta" pe un port particular (3306) eventualele cereri de conexiune ale unui "client" – orice aplicatie care trimite cereri catre o baza de date via mysqld. Acest client poate fi un simplu script PHP care poate trimite o cerere catre baza de date prin intermediul serverului MySQL sau chiar clientului mysql. Clientul mysql este o interfata interactiva pentru transmiterea de comenzi catre server.
Modelul de securitate folosit de MySQL se bazeaza pe nume de utilizator, parola, nume server(hostname) sau adresa de IP si privilegii, fiind similar celui generic folosit de sistemele Unix. Prin privilegii se inteleg in cazul MySQL operatiunile ce vor fi permise asupra bazei/bazelor de date, tabelelor sau indecsilor, cum sunt de exemplu SELECT, INSERT, UPDATE, DELETE, CREATE, DROP.
Datele sunt obiectul celor mai multe operatii de prelucrare, iar sistemele de gestiune a bazelor de date furnizeaza cele mai complexe si puternice facilitati pentru lucrul cu datele. PHP include o biblioteca de functii care furnizeaza o interfata cu sistemul MySQL de gestiune a bazelor de date. Folosind aceste functii, un program PHP poate obtine accesul la datele rezidente intr-o baza de date MySQL si le poate modifica.
Majoritatea interactiunilor cu o baza de date MySQL se poate desfasura dupa un model secvential simplu:
se deschide o conexiune cu serverul MySQL
se specifica baza de date la care se obtine accesul
se emit interogari SQL, se obtine accesul la rezultatele interogarii si se executa operatii non-SQL
se inchide conexiunea cu serverul MySQL
Din punct de vedere al limbajului PHP, exista doua categorii de interogari SQL:
interogarile SELECT, care returneaza rinduri ale unui tabel
interogarile UPDATE, INSERT si DELETE, care nu returneaza rinduri ale unui tabel
Ambele categorii de interogari sunt emise folosind functia mysql_query(), dar verificarea si prelucrarea celor doua categorii de rezultate ale interogarilor sunt procesate destul de diferit.
Capitolul 3
Proiectarea generală a unui magazin virtual
3.1 Obiectivele noului sistem
Proiectarea generală are ca obiectiv elaborarea concepției logice a sistemului informatic, definirea acestuia din punct de vedere structural și funcțional.
Proiectarea generală presupune stabilirea componentelor sistemului informatic. Totodată proiectarea generala presupune analiza datelor de ieșire, a bazei informaționale de intrare, a documentelor pe care sunt consemnate datele de intrare, a legăturilor dintre ele și a funcționalității sistemului astfel încât toate elementele sale să formeze un întreg.
Structura generală a sistemului informatic cuprinde un ansamblu de intrări, prelucrări și ieșiri definite în funcție de obiectivele noului sistem.
Există mai multe variante de abordare a proiectării unui sistem informatic : fie se poate pleca de la intrări, fie de la ieșiri, fie se poate realiza o variantă mixtă.
Analizând modul de obținere a fiecărei informații se determină baza informațională de intrare, apoi se realizează celelalte faze ale proiectării.
Fazele proiectării se parcurg in ordinea :
stabilirea obiectivelor;
proiectarea ieșirilor;
proiectarea bazei informaționale de intrare;
codificarea;
proiectarea documentelor de intrare;
proiectarea structurală și funcțională;
elaborarea documentului.
Această variantă prezintă avantajul furnizării unui conținut complet al bazei
informaționale de intrare pentru obținerea ieșirilor solicitate.
3.2 Proiectarea unui magazin virtual
3.2.1 Pagina Web
Lansarea unui magazin virtual nu este o chestiune simplă, ci necesită multă muncă și studiu aprofundat al situațiilor existente si al posibilităților viitoare. Ca și comerțul clasic, vânzările on-line constituie un proces care trebuie îmbunătățit în mod continuu, iar la baza sa trebuie să se afle un plan de afaceri bine pus la punct.
Foarte important este dacă magazinul virtual reprezintă o extindere pe internet a unui magazin deja existent sau dacă va efectua exclusiv comerț electronic. In primul caz, există deja experiența vânzării. Mai mult, există un sprijin solid pentru dezvoltarea rețelei de distribuție a vânzărilor efectuate on-line. In fapt, majoritatea magazinelor virtuale din spațiul Internet românesc sunt extensii ale unor magazine sau rețele de magazine clasice.
Așa cum un magazin clasic este situat într-o construcție, la fel și pagina web, respectiva magazinul virtual, va trebui găzduit pe un server Web. Acesta va constitui spațiul comercial virtual, punctul de legătură dintre vânzător și clienții potențiali. Se poate apela la serviciile unei firme specializate în acest sens. In cazul în care vânzătorul nu posedă cunoștințe, varianta a doua este cu siguranță mai adecvată și va da rezultate cu mult mai bune. Ar fi bine ca firma respectivă să asigure și găzduirea web (și eventual înregistrarea domeniului). Vor trebui stabilite tehnologiile. Orice magazin virtual trebuie să dispună de un sistem complex de administrare a conținutului care să permită adăugarea, modificarea și ștergerea produselor din baza de date (text și imagini). De asemenea, înregistrarea comenzilor și a datelor despre clienți într-o bază de date este absolut necesară. Adițional poate fi creat și un sistem care să semnaleze prin e-mail lansarea unei comenzi.
Tot acum este momentul oportun pentru a decide cine va îndeplini aceste sarcini și cine și cum se vor prelua și onora comenzile de pe site Angajarea unui webmaster va constitui desigur un avantaj. Produsele trebuie organizate pe categorii (și eventual subcategorii) astfel încât clienții să poată găsi cu cea mai mare ușurință ceea ce caută. O atenție sporită trebuie acordată prezentării produselor; mai ales imaginile trebuie să fie de calitate excepțională, altfel șansele ca vizitatorii să cumpere scad considerabil.
Nu în ultimul rând va trebui să fie realizat un sistem de ajutor („help", întrebări frecvente") în cadrul site-ului. Nu trebuie pornit de la premisa că vizitatorii magazinului sunt navigatori experimentați și au mai efectuat cumpărături online. De asemenea, trebuie puse la dispoziție informații detaliate despre livrarea produselor, garanție și post-garanție (dacă este cazul) etc și trebuie sa aibă posibilitatea de a contacta firma în cazul în care mai au alte întrebări despre produse (alături de o adresă de e-mail, un formular de contact este o opțiune foarte bună).
3.2.2 Plăți
Un factor deosebit de important în cadrul comerțului electronic îl constituie plata. Pe web. Se poate vinde 24 de ore pe zi. 7 zile pe săptămână, peste tot în lume. In plus. Cumpărătorii și potențialii clienți vor avea acces la informații de ultimă oră referitoare la produse, servicii, prețuri sau disponibilitatea acestora. Pentru ca acest scenariu să devină cu adevărat realitate, va trebui ca sistemul informatic implementat să fie disponibil non-stop și în tot acest timp el va opera gestiunea comenzilor, facturarea, procesarea plăților și remiterea banilor.
Cu excepția cazului în care activitatea se bazează pe principiul „plata în avans" sau alte metode de plată off-line, obținerea banilor rezultați în urma unei vânzări online presupune o serie de procese de interacțiune cu bănci sau alte instituții financiare. Plățile cu ajutorul cărților de credit (credit card), banilor electronici (e-cash, cecurilor electronice sau al cardurilor inteligente (smart card) sunt principalele modalități de plată folosite în comerțul electronic Acestea pot fi integrate în sistemul dumneavoastră informatic, sau oferite în regim outsource de un furnizor de servicii de comerț (CSP – Commerce Service Provider) care va intermedia plățile de la terți.
Cea mai răspândită metodă de plată în comerțul electronic este cea cu carte de credit Aceste tranzacții sunt protejate criptografic, iar modalitatea concretă de criptare face ca numai banca sau furnizorul de servicii pentru carduri de credit să poată vedea numărul cărții de credit nu și comerciantul. Acest proces implică încheierea unor contracte cu instituții financiare, iar din punct de vedere tehnic presupune utilizarea unor tehnologii avansate de criptare și autentificare pentru securizarea mesajelor trimise prin internet Unul din primii pași care trebuie făcuți, este deschiderea unui cont la o instituție bancară care oferă servicii de tranzacționare online bazate pe carduri care vor trebui „închiriate” pe o sumă fixă, reprezentată de costul achiziționării sau închirierii echipamentelor și softului aferent necesare realizării comunicării securizate cu banca, precum și costuri variabile rezultate în urma comisioanelor percepute de bancă la fiecare tranzacție. De regulă instituția financiară va impune un volum minim de tranzacții lunare, percepând o sumă minimă plătită indiferent de volumul vânzărilor.
Ca alternativă la implementarea unui sistem propriu, se poate apela la furnizori de servicii de plată (PSP) sau la furnizori de servicii de comerț. PSP-ul acționează ca intermediar între comerciant și posesorii de carduri oferind servicii de autorizare și plată online. El beneficiază de conexiuni integrate online cu băncile care autorizează plățile și realizează automat transferul banilor. Poate conferi clienților statutul de comercianți web și, de regulă, furnizează tot ceea ce este necesar pentru integrarea ușoară a funcțiilor de procesare a cardurilor de credit în propriul site web. Pe lângă o calitate mai bună a serviciilor oferite clienților, cum ar fi suport tehnic permanent sau eliminarea unei părți semnificative a birocrației specifice sectorului bancar, PSP-ii mai au și alte avantaje, cum ar fi: credibilitate financiară dovedită în fața băncilor ca urmare a unei relații de mai lungă durată cu acestea (aspect extrem de important care lipsește de regulă societăților comerciale mai tinere), au contracte cu mai mulți furnizori de carduri, operează cu mai multe bănci, pot realiza conversia automată între monedele diverselor țări și, nu în ultimul rând, practică un comision mult mai mic decât instituțiile bancare.
Cumpărătorul este pus în legătură online cu PSP-ul care-i va cere informațiile necesare pentru procesarea plății: tipul cardului, numărul acestuia, numele proprietarului și data expirării cardului. Aceste informații sunt transmise mai departe agenției de carduri, împreună cu suma totala de plată, comisionul, numărul de cont al magazinului și tipul tranzacției dorite. Din acest moment tranzacția urmează calea obișnuită a oricărei tranzacții cu card de credit. Informația este criptată și trimisă de către procesorul de plăți (PP) prin intermediul unei linii securizate de comunicație către un sistem de facilități integrate numit INP (interchange network processor), fiecare marcă de card de credit urmând a fi procesată de un INP distinct. Apoi se comunică pe o linie securizată cu banca, aceasta la rândul ei contactând banca cumpărătorului (cea care a emis card-ul folosit de client) pentru a verifica dacă fondurile sunt disponibile, în caz afirmativ, tranzacția se finalizează și banca trimite un „cod rezultat", sub forma unui număr de verificare către PSP. PSP trimite mai departe acest cod către softul care mijlocește cumpărăturile și care procesează datele, anunțând apoi clientul că tranzacția s-a efectuat cu succes sau a fost refuzată. Totul se întâmplă în interval de câteva secunde.
Din păcate, în România astfel de sisteme sunt implementate de foarte puține magazine virtuale. Soluțiile alese de majoritatea comercianților pe internetul românesc sunt plata ramburs, la livrare, prin mandat poștal sau ordin de plată. Motivele sunt lesne de înțeles, în consecință, aceste magazine virtuale nu pot fi considerate comerț electronic în toată puterea cuvântului, ci mai degrabă cataloage de produse cu opțiune de comandă online.
3.2.3 Promovare
Spre deosebire de un magazin clasic, în care potențialii clienți mai intră și din întâmplare sau din curiozitate, pe web șansa ca cineva să acceseze direct pagina este extrem de mică (pornind de la premisa că nu a auzit niciodată de ea). Pentru a avea vizitatori, site-ul trebuie înscris la motoare de căutare și directoare web. Se poate apela și la publicitatea pe internet – bannere publicitare afișate pe diverse portaluri sau la marketingul prin e-mail. Bineînțeles că mai sunt si modalitățile clasice de promovare: spoturi TV sau radio, inserări în diverse publicații, etc.
3.2.4 Actualizare
Informațiile nu trebuie lăsate să se „învechească”. Vizitatorii trebuie să vadă că au în față un site dinamic, cu conținut mereu proaspăt, secțiuni cu noutăți, oferte speciale, concursuri sau alte facilități asemănătoare îi va determina pe mulți să se întoarcă cu plăcere la magazinul virtual astfel proiectat.
3.2.5 Mecanisme de plată electronică
Comerțul electronic va putea evalua dincolo de un anumit nivel doar atunci când consumatorii obișnuiți vor percepe un mecanism de plată electronic la fel de sigur ca cel obișnuit.
plata prin Internet – de îndată ce a fost pus în funcțiune un sistem de vânzări on-line, comerciantul va putea vinde 24 ore pe zi, 7 zile pe săptămână, peste tot în lume pe unde a ajuns Internetul. Mai mult, cumpărătorii și clienții potențiali vor avea acces la informații de ultimă oră referitoare la produse, servicii, prețuri și disponibilitatea acestora. Dar comerciantul va trebui să se asigure ca sistemul informatic să fie disponibil non-stop și în tot acest timp el va opera gestiunea comenzilor, facturarea, procesarea plaților și remiterea banilor;
soluțiile de plată în timp real – cu excepția cazurilor off-line, obținerea banilor rezultați în urma unei vânzări de tip on-line presupune o serie de procese de interacțiune cu bănci sau alte instituții financiare. În prezent achitarea unei facturi se realizează cu ajutorul cărților de credit (credit card), banilor electronici (e-cash), cecurilor electronice sau al cardurilor inteligente (smart card) care sunt principalele metode de plată folosite în comerțul electronic. Metodele de plată pot fi integrate fie la nivelul comerciantului, în sistemul informatic al acestuia, fie oferite outsource de un furnizor de servicii de comerț (CSP – Commerce Service Provider) care va gestiona/intermedia plățile de la terți;
cartea de credit – reprezintă cea mai utilizată formă de plată prin Internet. Utilizarea acesteia este simplă: clienții care navighează în cadrul unui sit web și decid să achiziționeze un produs sau serviciu trebuie să introducă informațiile despre cartea de credit prin intermediul unui formular HTML. Conținutul completat (tipul cardului, numărul acestuia, numele proprietarului și data expirării cardului) este trimis sitului web, unde informația este colectată și trimisă la bancă. Daca situl comerciantului are stabilită o legătură directă cu banca, atunci este posibilă plata pe loc în cazul în care există credit suficient pentru a plăti bunurile comandate. Tranzacțiile on-line care folosesc plata cu carduri sunt protejate criptografic, iar modalitatea concretă de criptare asigură faptul că numai banca sau furnizorul de servicii pentru cărți de credit vor putea avea acces la numărul cărții de credit, nu și comerciantul. O primă fază implica încheierea unor alianțe /contracte cu instituții financiare, utilizând tehnologii avansate de criptare și autentificare pentru securizarea mesajelor trimise prin Internet. Comerciantul trebuie sa-și deschidă un cont la o bancă oferind servicii de tranzacționare on-line bazata pe carduri. Tehnologia de criptare folosită în mod curent este SSL (Secure Socket Layer) elimină cu succes posibilitatea ca un intrus să obțină numărul cardului, presupunând că el interceptează datele astfel criptate. Dezavantajul consta în faptul ca SSL nu permite comerciantului să se asigure că persoana care folosește cardul într-o tranzacție este chiar deținătorul acestuia. De asemenea, SSL nu oferă nici o cale prin care clientul să afle dacă situl comerciantului este cu adevărat autorizat să accepte plata cu cărți de credit și că nu este doar un sit pirat, proiectat cu scopul de a colecționa datele despre astfel de carduri (crackers). Problema a fost rezolvata prin apariția unor noi tehnologii denumite SET (Security Electronic Transaction), dezvoltata de MasterCard și Visa. Set rezolvă problema autentificării prin asignarea unor certificate digitale atât clientului, căt și comerciantului. Set oferă o securitate sporită față de cea tradițională. Pentru a nu mai da acces comerciantului la numărul de card al clientului, SET îl criptează de o manieră care asigură faptul că doar consumatorul și instituțiile financiare abilitate au acces la el. Fiecare dintre actorii implicați într-o tranzacție (comerciant, client sau instituție financiară) folosește certificatul SET privat, care joacă și rol de autentificare, în conjuncție cu cheile publice asociate certificatelor care identifică pe ceilalți actori. În practică, o companie terță (Verisign) oferă serviciul de a furniza certificate digitale clienților săi, deținătorii de cărți de credit. Cât privește comerciantul, procesul este similar: în momentul efectuării unei cumpărături on-line, înainte de a se realiza vreun schimb de date în vederea demarării tranzacției, software-ul care integrează tehnologia SET validează identitatea comerciantului și a deținătorului cărții de credit, procesul de validare constă în verificarea certificatelor emise de furnizori autorizați de astfel de servicii;
facturile de plată (e-invoice) – cărțile de credit reprezintă cea mai comună soluție în modelul B2C și B2B. Volumul tranzacțiilor în sectorul B2B este mult mai mare față de volumul tranzacțiilor efectuate prin intermediul cărții de credit. Un alt motiv este că majoritatea companiilor au utilizat deja acest instrument în forma sa clasică și schimbarea modalității de plată ar impune o reorganizare a proceselor economice, care ar necesita costuri prea mari. Procedura de plată prin e-invoice este următoarea – valoarea tranzacției necesare este transmisă automat la furnizori printr-un sistem informatic, acestea răspund printr-o factură care urmează a fi plătită prin diferite mijloace. Sunt necesare metode securizate pentru filtrarea accesului la bazele de date interne ale companiei. Standardul EDI (Electronic Data Interchange) oferă o infrastructură în acest scop. Problema majoră o constituie legislația comercială a fiecărei țări care ar trebui să recunoască valabilitatea facturilor electronice. Avantajele facturii electronice țin de reducerea costurilor pentru transmitere și de micșorarea posibilităților de apariție a erorilor;
cecurile electronice (Internet cheques) – NetCheque – un sistem dezvoltat la Information Sciences Institute of the University of Southern California – www.usc.edu . Cumpărătorul și vânzătorul trebuie să aibă un cont deschis pe situl NetCheque. Pentru asigurarea securității este folosită identificarea prin protocolul Kerberos și parolă. Pentru a plăti prin cec, trebuie instalată la client un software special care lucrează asemenea unui carnet de cecuri. Un client poate trimite un cec criptat prin intermediul acestui software. Comerciantul poate ridica banii de la bancă sau poate folosi cecul digital pentru o tranzacție cu alt furnizor. Un cont special din rețea verifică validitatea cecului și în caz afirmativ trimite un mesaj de accept comerciantului care va livra apoi bunurile. Exemple: PayNow, serviciu dezvoltat de CiberCash – www.cibercash.com sau echech – www.echeck.org
cărțile de debit (debit cards) necesită introducerea unui număr personal de identificare (PIN) și utilizarea unui dispozitiv hardware care sa citească informația pe bandă magnetică a cărților de credit. – nu este posibila pe Internet. Posibil să fie înlocuite benzile magnetice cu cipurile electronice folosite pentru smart card-uri, ce vor înlocui cărțile de credit.
banii electronici (e-cash) – utilizează un software pentru a salva pe disc magnetic echivalentul banilor lichizi într-o formă digitală. Avantajul acestui sistem îl reprezintă costul transferului de bani care este aproape nul (costul conexiunii la Internet). Pentru a primi bani este necesară accesarea unei casierii automate (virtuale) disponibile pe web sau deplasarea la un automat bancar, de unde pot fi ridicați banii electronici direct din contul băncii sau prin sistemul de plata cu carte de credit. Dificultatea folosirii e-cash reprezintă implementarea unei securități care să garanteze că acestea nu pot fi alterați. Utilizarea tehnologiilor de criptare, a semnăturilor digitale, și a semnăturilor electronice ajută la reducerea posibilităților de fraudă care să facă imposibil de utilizat mai mult de o singura dată. O altă condiție este ca banii electronici nu trebuie să dezvăluie identitatea persoanei care a plătit cu ei, trebuie să fie anonimi. Sistemul de plată nu trebuie sa aibă ca intermediar o bancă, doar între cei doi parteneri implicați. Exemple:
www.digicash.com
www.cybercash.com
www.milicent.digital.com
cardul inteligent (smart card) este popular în Europa Occidentală. Permite stocarea informațiilor suplimentare despre clienți în afară de păstrarea banilor pe cipul cardului. Banii de pe card sunt salvați într-o formă criptată și sunt protejați printr-o parolă. Pentru a plăti este necesară introducerea acestuia într-un terminal hardware. Dispozitivul necesită o cheie specială emisă de bancă pentru a se transfera banii în altă direcție. Putem merge la bancă, încărca cardul și să plătim prin Internet. Avantaje: securitate, simplitatea utilizării, efectuarea directă fără intermediari, costul scăzut al tranzacțiilor. Mondex – Marea Britanie, Geld-Karte – Germania.
3.2.6 Momentul efectuării plății electronice
Plata înainte de tranzacție – un sistem de acest gen funcționează prin salvarea banilor digitali pe un disc sau pe un smart card – care poate fi considerat ca o formă digitală a banilor obișnuiți. Un fișier care conține banii digitali este numit portofel virtual (virtual wallet) și pot fi folosiți oricând pentru a plăti on-line produse și servicii. Avantajul portofelului virtual constă în faptul că este anonim. Dezavantaj – daca este pierdut, banii sunt pierduți.
Plata pe loc necesită accesul direct la baza de date internă a băncii și a ofertantului de plată electronică, iar securitatea trebuie sa fie implementată mai strict (cărțile de debit);
Plata după tranzacție. Sistemul cărților de credit este cea mai comună formă de asemenea plată.
3.3. E-commerce-ul românesc la sfârșitul anului 2004
Conform Visa International: în trimestrul II 2004, s-au efectuat circa 7500 de tranzacții comerciale online unde romanii au cheltuit aproximativ 1 milion $ dintre care: 44% din sumă s-a cheltuit în SUA, 20% în Italia, 15% in Anglia, iar restul in magazine din alte țări. Valoarea medie a unei tranzacții a fost de circa $133.
Tot conform Visa International: În aceeași perioadă, în magazinele virtuale românești, s-au cheltuit circa. 8.000$, cu o medie de 2 tranzacții / zi.
Cei care au cheltuit cel mai mult au fost cetățenii americani (31%) urmați de britanici (30%).
Conform RomCard: 700.000 deținători de carduri, 30 comercianți configurați pentru tranzacții online și 4 bănci oferă suport în România pentru tranzacții online (Alpha Bank, BCR, BCIT și Raiffeisen) prin programele Verified by Visa și 3D Secure.
Capitolul 4
Proiectarea și programarea în PHP a magazinului virtual
4.1 Obiective
Site-ul proiectat are ca obiectiv promovarea și vânzarea on-line de produse de îmbrăcăminte ce se află în stocul magazinului Moda Fashion. Fiecare vânzare va fi precedată de o comandă, care va trebui confirmată pentru ca livrarea să aibă loc. Confirmarea se va face prin e-mail, astfel că serverul pe care magazinul va fi instalat va trebui să fie capabil să trimită și să recepționeze e-mail-uri.
4.2 Structura magazinului și baza de date
Structural, magazinul este compus din trei secțiuni:
Secțiunea de prezentare;
Secțiunea de client;
Secțiunea de administrare.
4.2.1. Secțiunea de prezentare se adresează vizitatorului obișnuit, neînregistrat, care poate afla informații despre magazin, poate avea acces la catalogul de produse și poate afla mai multe detalii despre firmă, magazin sau un anume produs prin completarea unui formular. Răspunsul va fi trimis prin e-mail utilizatorului. Principalele pagini care sunt accesibile acestui tip de utilizator (guest) sunt: index.php, magazine.php, produse.php și contact.php. Pentru a avea acces la comenzi, un oaspete al magazinului virtual va trebui să se înregistreze, folosind pagina usernou.php.
4.2.2. Secțiunea de client este disponibilă utilizatorilor înregistrați. Aceștia au posibilitatea, pe lângă facilitățile obișnuite oferite unui oaspete, să comande produse. Pentru aceasta ei au la dispoziție un coș de cumpărături în care pot adăuga sau din care pot scoate produse pe parcursul navigării. La sfârșit pot trimite comanda printr-un singur click. Paginile principale aflate la dispoziția unui client sunt comanda.php și mod_user.php, unde clienții au acces la datele personale, pe care le pot modifica după dorință, inclusiv parola de acces.
4.2.3. Secțiunea de administrare este accesibilă administratorului magazinului virtual, care poate fi un angajat cu acces la produsele magazinului, nu neapărat programatorul magazinului. Un administrator are acces la toate paginile magazinului, în plus el putând adăuga sau modifica produse, vizualiza comenzi și formulare de contact ale utilizatorilor, modifica date, niveluri de acces ale utilizatorilor ori ștergere utilizatori, răspunde la mesaje sau ștergerea lor, prelucrare comenzi sau ștergere manuală a acestora în cazul în care nu sunt confirmate. De asemenea, un administrator nu are acces la parola unui utilizator, el neputându-se loga ca și client folosind numele și parola acestuia. Este o procedură normală în e-commerce, toate parolele fiind stocate criptat în baza de date, dându-i clientului impresia de siguranță. Oricum, un administrator are acces la întreaga bază de date, putând manipula informația după dorință.
4.2.4. Baza de date folosită este cea aparținând serverului MySQL și conține 7 tabele: useri, dateuseri, categorii, produse, cart, comanda, contact.
Tabela useri este de tip MyISAM și are următoarele câmpuri:
id – id-ul unic al utilizatorului, fiind și index primar
nume – numele utilizatorului, așa cum va fi el recunoscut de sistem. Scriptul de înregistrare va obliga acest câmp să aibă o dimensiune între 6 și 16 caractere.
parola – parola criptată a utilizatorului. Și în acest caz, scriptul va condiționa dimensiunea parolei între 6 și 16 caractere.
level: nivelul de acces: 0 – administrator, 1 – client
Tabela dateuseri este de tip MyISAM și are următoarele câmpuri:
id – indexul primar al tabelei;
nume – numele complet al clientului;
firma – câmp facultativ, reprezintă firma căreia îi aparține clientul;
localitate – localitatea de reședință;
email – adresa de e-mail a clientului;
telefon – câmp facultativ, destinat pentru memorarea telefonului fix al clientului, pentru contactare;
mobil– câmp facultativ, destinat pentru memorarea telefonului mobil al clientului, pentru contactare;
fax – câmp facultativ, destinat pentru memorarea faxului clientului, pentru contactare;
user – numele de utilizator, identic cu câmpul nume din tabela useri;
data – data înregistrării clientului.
Tabela categorii este de tip MyISAM și are următoarele câmpuri:
id – indexul primar al tabelei;
numecat – numele categoriei.
Tabela produse este de tip MyISAM și are următoarele câmpuri:
id – indexul primar al tabelei;
categorie – categoria în care se află produsul, având corespondent în câmpul numecat al tabelei categorii;
cod – codul produsului;
pret – prețul produsului;
um – valuta;
culoare – culoarea produsului;
marime – mărimea produsului;
fișier – numele fișierului care stochează imaginea produsului;
fișierm – numele fișierului de dimensiune redusă care stochează imaginea produsului;
tag – eticheta produsului – aceasta poate avea una din următoarele valori: de vânzare, indisponibil, oferta și special, valori implementate prin program;
descriere – câmp de tip text, care memorează caracteristici distincte ale produsului;
vitrina – câmp cu două valori, care stabilește dacă produsul va fi afișat ca primul pe coperta catalogului, în dreptul categoriei corespunzătoare;
unicat – câmp care stabilește dacă produsul este unicat sau nu.
Tabela cart este de tip MyISAM și are următoarele câmpuri:
id – indexul primar al tabelei;
user – numele de utilizator, identic cu câmpul nume din tabela useri;
data – data comenzii;
id_prod – id-ul produsului comandat;
numeprod – numele produsului comandat, lăsat aici pentru o mai rapidă folosire a tabelei;
buc – numărul de produse comandate;
nr_cart – numărul de ordine al coșului de cumpărături.
Tabela comanda este de tip MyISAM și are următoarele câmpuri:
id – indexul primar al tabelei;
nr_cart – numărul de ordine al coșului de cumpărături, corespondent cu câmpul cu același nume din tabela cart.
data – data comenzii;
valoare – valoarea totală a comenzii;
confirmat – câmp disponibil pentru confirmare. Dacă clientul trimite un e-mail de confirmare, acest câmp va fi setat la valoarea da prin cod, altfel, comanda nu va putea fi confirmată și nu va fi luată în considerare
stare – starea onorării comenzii – aceasta poate avea una din următoarele valori: aplicată, confirmată, în procesare și confirmată, valori implementate prin program;
observații – câmp aflat la dispoziția administratorului, pentru adnotări;
văzut – câmp cu două valori, indicând dacă această comandă a fost sau nu vizualizată de către administrator, foarte util în cazul unui număr mare de comenzi, pentru că se poate realiza foarte ușor un filtru al vizualizării.
Tabela contact este de tip MyISAM și are următoarele câmpuri:
id – indexul primar al tabelei;
nume – numele vizitatorului din formularul Contact;
firma – firma vizitatorului, dacă există, din formularul Contact;
localitate – localitatea vizitatorului din formularul Contact;
email – adresa de e-mail;
telefon – telefonul fix de contact al vizitatorului din formularul Contact;
mobil – telefonul mobil de contact al vizitatorului din formularul Contact;
fax – numărul de fax de contact al vizitatorului din formularul Contact;
observații – textul de contact;
data – data trimiterii formularului;
ora – ora trimiterii formularului;
vazut – câmp pentru filtrarea formularelor văzute de către administrator.
Tabela contact poate deveni foarte importantă ca instrument al strategiei de marketing al magazinului virtual. Chiar dacă se putea opta foarte ușor pentru trimiterea formularului prin e-mail, a fost aleasă stocarea acestora în baza de date pentru a putea avea mai ușor acces la problemele clienților. Știind că o căsuță de mail poate deveni foarte aglomerată de e-mailuri nesolicitate, problema ar fi ca, în cazul unui număr foarte mare de mesaje, unele din ele să devină potențial pierdute. Stocarea acestora într-o tabelă provoacă atât atenționarea administratorului, cât și necesitatea ca acesta să le citească, ele fiind marcate ca necitite inițial, starea acestora schimbându-se numai după acesta le deschide.
4.3 Funcționare
Site-ul este structurat sub formă de tabel, fiind împărțit în trei părți: header, conținut și footer. Header-ul și footer-ul se vor repeta în fiecare pagină, funcția include(”nume_fisier.php”) permițând scrierea codului doar o singură dată, includerea acestuia făcându-se foarte ușor.
Structura fiecărei pagini va fi următoarea:
<?
include („header.php”);
// instrucțiuni script php
include („footer.php”);
?>
Scripturile vor implica folosirea anumitor funcții, cum ar fi, de exemplu aceea de conectare la baza de date MySQL, sau folosirea unor variabile globale. Acestea vor fi memorate într-un fșier de funcții, numit taxe_func.php, ce se va include în fiecare pagină. Din acest motiv, includerea acestui fișier va avea loc în codul fișierului header.php. De asemenea, va fi inclus un fișier numit stil.inc, care va conține cod css, pentru stabilirea stilului codului html generat de scripturi. Acest fișier respectă specificațiile css și are următorul conținut:
<style>
H1 {
font-size: 20pt;
color: I0910a3;
margin-top : 1px;
margin-bottom : 1px;
}
H2 {
font-size: 16pt;
color: IFF3300;
margin-top : 1px;
margin-bottom : 1px;
}
H3 {
font-size: 12pt;
color: I000000;
margin-top : 1px;
margin-bottom : 1px;
}
H4 {
font-size: small;
font-variant: small-caps;
font-weight: bold;
color : IFF6600;
}
H5 {
font-size: 14pt;
color: I0000FF;
margin-top : 1px;
margin-bottom : 1px;
}
A {
text-decoration: none;
color: Navy;
}
A:Hover {
text-decoration: underline;
color: teal ;
}
HR {
color: blue;
height: 1pt;
}
</style>
Astfel, dacă administratorul decide să schimbe formatul afișării informației în pagină, nu va trebui decât să modifice o linie din acest fișier pentru a avea rezultatul scontat de-a lungul întregului site.
Scripturile vor trebui să recunoască un utilizator din momentul logării, până în cel al de-logării. Acest lucru se poate realiza foarte ușor prin intermediul sesiunilor. Controlul sesiunilor reprezintă o modalitate nativă a PHP-ului de a recunoaște un utilizator în timpul navigării prin site.
Sesiunile în PHP sunt date de un număr unic de identificare generat de server (Session ID) și stocat în partea de client a aplicației (se află stocat în calculatorul) vizitatorului, fie prin intermediul unei cookie, fie transmis prin intermediul URL-ului de la pagină la pagină. Un ID Session funcționează ca o cheie ce permite înregistrarea pe server a unei variabile numite session variable, a cărei conținut este stocat în partea de server. Astfel, pe toată durata de viață a acestei variabile, serverul va „ști”, bazat pe Session ID, starea clientului ce a cerut accesul. Astfel, dacă un client se loghează folosind un username și o parolă, se va crea o variabilă numită valid_user, generând un cookie pe calculatorul clientului, până la de-logarea acestuia sau având o durată de viață temporal stabilită. Acest lucru se face prin folosirea funcțiilor PHP session_register(), respectiv session_destroy().
În cazul nostru, există două fișiere, auth.php și auth_admin.php, care gestionează starea a două variabile, $valid_user și $valid_admin, pentru un client (utilizator de nivel 1) și administrator (utilizator de nivel 0). Dacă se include unul din acest fișiere într-o pagină, scriptul acestora va verifica starea variabilelor de sesiune generate, cu ajutorul variabilelor globale $_SESSION, cu ajutorul instrucțiunilor de atribuire $_SESSIONa'userid's=$valid_user; și $_SESSIONa'password's=$password.
La o primă logare, fișierul login.php va avea un cod de genul:
$query ="select * from useri "." where nume='$userid' "." and parola=password('$password')";
$result =mysql_query($query) or die ("invalid Query");
$nr=mysql_num_rows($result);
În acest caz, s-a interogat tabela useri, unde s-a căutat numele de utilizator și parola acestuia pentru corespondența acestora cu două variabile transmise de formularul de logare:
În continuare se verifică dacă numărul de linii rezultate din interogare este mai mare ca zero, ceea ce înseamnă că utilizatorul și parola există:
if (mysql_num_rows($result)>0 )
{
$valid_user =$userid;
$row=mysql_fetch_array($result);
$nivel=$rowa"level"s;
if (($nivel==1)||($nivel==0))
{
session_register("valid_user");
$_SESSIONa"valid_user"s=$userid;
session_register("password");
$_SESSIONa"password"s=$password;
}
}
Valorile pentru $userid și $password se vor stoca așadar pe server ca și variabile globale $_SESSIONa"valid_user"s, respectiv $_SESSIONa"password"s.
Fișierul auth.php va verifica starea acestor variabile. În cazul în care nu le identifică, va proceda la afișarea unui mesaj de logare. Dacă le găsește, le va pasa mai departe scriptului ca două variabile obișnuite, cea de nume fiind folosită pentru afișarea în orice moment, în pagină, a username-ului clientului logat. Este de la sine înțeleasă utilitatea unei asemenea proceduri: dacă un utilizator accesează o pagină ce presupune identificare, scriptul va realiza acest lucru și va verifica identitatea clientului.
Ulterior, pe toată durata sesiunii, în header va fi afișat, în locul obișnuitei interogări de logare:
următoarea fereastră:
dacă username-ul a fost popescu. Acest lucru indică vizual și transparent faptul că utilizatorul este logat și recunoscut de către scripturile ce rulează pe server în acel moment, pe toată durata sesiunii.
Scriptul din fișierul logout.php va realiza distrugerea tuturor variabilelor de sesiune create:
$result =session_unregister("valid_user");
session_destroy();
adică utilizator, precum și ale coșului de comenzi și ale comenzii, dacă acestea au existat:
if ($_SESSIONa"cart"s)
{
$result=session_unregister("cart");
session_destroy();
}
if ($_SESSIONa"com"s)
{
$result=session_unregister("com");
session_destroy();
}
Structurarea magazinului virtual propune vizitatorului parcurgerea anumitor pași: vizitare, înregistrare și comanda produselor.
Vizitarea propune mai multe pagini, printre care cea de start – index.php – care prezintă magazinul virtual, cea de imagini din magazinul fizic și cea a catalogului, pagini ilustrate în continuare:
index.php
magazine.php
produse.php
În interiorul catalogului, fiecare categorie va conține mai multe produse, în funcție de stocul curent aflat în baza de date:
Fiecare imagine din categorie va conține un link spre caracteristicile produsului respectiv (gama de mărimi, culori, preț, descriere, etc).
De asemenea, utilizatorul, chiar și cel neînregistrat va putea completa un formular de contact, în secțiunea contact.php
contact.php
Navigarea între aceste pagini se face cu ajutorul unui meniu grafic, realizat cu ajutorul tehnologiei Javascript:
Pentru accesul la alte secțiuni, utilizatorul trebuie fie să se logheze, fie să se înregistreze. Înregistrarea presupune accesul link-ului „Utilizator nou” din header sau prin doi pași, accesarea aceluiași link din pagina login.php, disponibilă în meniu.
Pagina de înregistrare arată în felul următor:
Formularul reține datele deja introduse și încarcă din nou această pagină, corespunzător variabilei $submitadduser salvate odată cu apăsarea butonului „Înregistrare”. Dacă există, înseamnă că s-a apăsat butonul, iar secțiunea din script va verifica datele introduse: în primul rând va verifica existența câmpurilor obligatorii, precum și mărime lor, având în vedere că atât username-le cât și parola au lungimi minime și maxime bine determinate. Folosind funcția valid_email($email) se va verifica validitatea semantică a adresei de e-mail:
function valid_email($address)
{
if (ereg("^aa-zA-Z0-9_s+iaa-zA-Z0-9 t-s+t.aa-zA-Z0-9 t-t.s+$",$address))
return true;
else
return false;
}
Dacă una din condiții nu este îndeplinită, scriptul va returna o eroare, determinând utilizatorul să reintroducă datele eronate. Dacă acestea au fost corectate, scriptul va afișa un mesaj de confirmare și serverul va înregistra în tabelele useri și dateuseri noul utilizator, invitând utilizatorul să se logheze cu username-ul și parola alese, pentru a putea fi înregistrat în variabilele de sesiune.
În continuare, utilizatorul are acces la partea de comenzi, unde poate naviga și comanda, coșul de cumpărături reținând produsele cu ajutorul unei variabile de sesiune numite „cart”:
După alegerea tuturor produselor, utilizatorul va hotărî dacă realizează comanda, o modifică sau o anulează. Pentru primele două opțiuni, va alege link-ul din partea dreaptă a paginii: „Comandă sau modifică”:
Aici se poate modifica o anumită cantitate de produse sau se poate elimina un produs din coșul de cumpărături. După verificare, se poate trece la validarea comenzii, primul pas fiind acela al apăsării butonului „Validează”. În acest moment, în tabela comanda se va insera o nouă inregistrare, cu datele cart-ului utilizat. Vizual, înregistrările din această tabelă arată astfel:
Odată cu scrierea în tabelă a comenzii, scriptul trimite un e-mail la adresa clientului pentru o nouă confirmare:
$queryaddcmd=mysql_query("insert into comanda set nr_cart='$cart', valoare='$total', vazut='$vazut', stare='$stare', data='$data', confirmat='$confirmat'")or die ("Nu pot insera in comanda");
session_unregister("com");
session_destroy;
session_unregister("cart");
session_destroy;
echo "<tr><td align=center><h3>Comandă trimisă. Vă mulțumim. <br>
În scurt timp veți primi un e-mail pe adresa cu care v-ați înregistrat, <br>
pentru a confirma comanda</h3></td></tr>
<tr><td align=t"centert"><a href=t"produse.phpt">Catalog Charisma</a></td></tr>
<tr><td align=t"centert"><a href=t"login.phpt">Pagina ta</a></td></tr>
<tr><td align=t"centert"><a href=t"logout.phpt">Logout</a></td></tr>
";
//trimitere e-mail pentru confirmarea comenzii
$queryuser=mysql_query("select * from dateuseri where user='$valid_user'") or die ("Nu pot selecta din dateuseri");
$rown=mysql_fetch_array($queryuser);
$nume=$rowna"nume"s;
$email=$rowna"email"s;
$nm='Moda Fashion';
$nme='modafashionidainet.ro';
$to = $email;
$secret="modafashion";
$from= stripslashes($nm)."<".stripslashes($nme).">";
$subject="Confirmare comandă Moda fashion;
$idconf=md5($email.$cart.$secret);
$html_data="Stimate <strong>".$nume."</strong>, <br>
Ați comandat mai multe produse pe site-ul magazinului <a href=t"http://www.modafashion.dap.rot"><strong>Moda Fashion</strong></a><br>
Pentru confirmarea comenzii dvs. vă rugăm să apăsați <a href=t"http://www.modafashion.dap.ro/comconfirm.php?email=$email&cart=$cart&idconf=$idconft">aici</a> <br>
Vă mulțumim că ați comandat de la noi!<br>
Cu stimă,<br>
$ownername,<br>
<em>- executive manager -</em>";
E-mail-ul va conține un hash (un text unic generat de script) care va fi decodat cu ajutorul paginii comconfirm.php. Variabila $idconf este un string criptat, format din alăturarea e-mailului, numărului cartului și unei variabile secrete, stabilite anterior. Toate aceste valori, luate separat sunt transmise in text, mai puțin cheia secretă (în cazul nostru criptarea cuvântului „modafashion”). Criptarea acestor trei elemente alăturate ne dă un cod de felul următor:
idconf=9ba0174b7ed54e7fbc33dbd8d18db97e, care este rezultatul funcției:
$idconf=md5($email.$cart.$secret);
La decriptare, cunoscându-se atât e-mail-ul clientului, cât și numărul cartului, acestea fiind transmise în clar în link-ul e-mailului, și de asemenea cunoscându-se cheia secretă, se va putea reface ușor variabila $idconf, pentru confirmare.
Administrarea site-ului se face prin accesarea meniului admin.php. Toate legăturile ce privesc administrarea vor avea inclus fișierul authadmin.php, care va determina autentificarea ca administrator a utilizatorului sau afișarea unui formular de autentificare (loginadmin.php). Odată autentificat, administratorul are acces la mai multe pagini:
utilizatori – se pot modifica datele despre utilizatori, precum și parola sau nivelul de acces al acestora
categorii – se pot adăuga, modifica sau șterge categorii de produse
adaugă produse – se pot adăuga produse, în funcție de categoriile existente:
modifică produse – permite modificarea caracteristicilor produselor
mesaje – afișează mesajele primite prin intermediul formularului de contact. Acestor mesaje li se poate răspunde, sau se pot șterge.
comenzi – se pot vizualiza comenzile, detaliat, se poate vedea starea lor, dacă o comandă este validată de client sau nu, se poate modifica starea onorării sale, se poate răspunde clientului punctual, sau pur și simplu se poate șterge această comandă:
logout – realizează de-logarea administratorului
Bibliografie
PHP and MySQL Web Development, Sams Publishing, 2001 – Luke Welling, Laura Thomson
Introducere in Internet, Editura Teora, București, 1995- Popa S.
Proiectarea bazelor de date relaționale, Editura Sitech ,1997-Giurgițeanu N.
Securitatea comerțului electronic, Editura All, 2001 – Patriciu V. V, Ene-Pietroșanu M., Bică I., Văduva C., Voicu N.
Programarea în Web, Jamsa Press, 1996 – Kris Jamsa, Suleiman Lalani, Steve Weakley
Site-ul PHP – www.php.net
Site-ul MySQL – www.mysql.org
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Magazin On Line In Php (ID: 149120)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
