Realizarea Unui Magazin Electronic pe Internet
Cuprins
Capitolul 1
Introducere
1.1. Comerțul electronic
1.2. Avantajele E-commerce (comerțul electronic)
1.3. Idei de afaceri
Capitolul 2
Rolul și importanța internetului și a paginilor web
2.1. SCURT ISTORIC
2.2. PREZENTARE IMPORTANTA
2.3. HTML. PREZENTARE
2.4. LIMBAJE DE SCRIPTARE
2.4.1 PHP . PREZENTARE
2.4.2. SERVERUL WEB APACHE
2.4.3 ADMINISTRAREA BAZELOR DE DATE CU MySQL
Capitolul 3
Proiectarea si implementarea unui magazin virtual
3.1 Obiectivele noului sistem
3.2 Cum se proiecteaza un magazin virtual
3.2.1 Pagina Web
3.2.2 Plăți
3.2.3 Promovare
3.2.4 Actualizare
3.2.5 Modalitati de plată electronică
3.2.6 Momentul efectuării plății electronice
3.3. E-commerce-ul românesc
Capitolul 4
Proiectarea și programarea în PHP a magazinului virtual
4.1 Obiective
4.2 Structura magazinului și baza de date
4.2.1. Secțiunea de prezentare
4.2.2. Secțiunea de client
4.2.3. Secțiunea de administrare
4.2.4. Baza de date
4.3 Funcționare
Realizarea unui magazin online in PHP
Capitolul 1
Introducere
Comerțul electronic
Promisiunea de crestere economica semnificativa pune comertul electronic ridicat pe mai multe agende din sectorul public si privat. Pâna în prezent, cresterea a fost impresionanta.Pornind practic de la zero in 1995, comertul electronic total este estimat la aproximativ 26 de miliarde de dolari pentru anul 1997.Se estimeaza sa ajunga la 330 de miliarde de dolari in 2001,2002 (pe termen scurt) si un trillion de dolari in 2003,2005(viitor).
Aceste estimari sunt foarte speculative,in rang printre cele mai ridicate din zeciile de estimari generate de diferite consultante de management sau mari firme de cercetare TGE.
Definirea comertului electronic – in scopul de a explora si de a estima impactul socio-economic al comertului electronic este esential sa se defineasca comertul electronic.Ca si in multe servicii noi,aceasta nu este o chestiune simpla,asa cum definiti date din diverse surse care difera in mod semnificativ.Unele includ toate tranzactiile financiare si comerciale care au loc pe cale electronica,inclusive schimburile electornice de date,transferurile electronice de fonduri.
Activitatea de card de debit limiteaza comertul electronic la vanzarile catre consumatori pentru care tranzactia si plata vor avea loc pe retele deschise cum ar fi internetul.Internetul a evoluat într-o unealtă formidabilă având un impact major în toate aspectele vieții . La fiecare jumătate de an apar schimbări așa de importante incât este imposibil de prevăzut unde se va ajunge în următorii ani .
Nici o altă dezvoltare tehnologică nu a avut un impact atât de profund asupra lumii afacerilor ca Internetul. Utilizarea inteligentă a tehnologiei Internet în procesele de afaceri se transformă într-un factor esențial de succes pentru multe companii.
Internet-ul și Web-ul ca și alte multe tehnologii anterioare, se prezintă acum, cu un set nou de opotunități și avantaje, cu noi propuneri și deschideri îndrăznețe, îndreptându-se încetul cu încetul spre domenii care, nu cu mult timp în urmă erau irealizabile, sau de neimaginat, unul dintre acestea fiind și comerțul electronic. Începutul noului mileniu, este dominat de revoluția tehnico-informatică, de noua eră a Internet-ului și de noile posibilități de comunicație, în care informația circulă cu viteze amețitoare, provocând din ce în ce mai mult, atât dezvoltatorii cât și intreprinzătorii și forțându-i să schimbe radical modul în care gândesc, concep și privesc afacerile.
Viteza cu care evoluează tehnologia Internet-ului este impresionantă. Dacă acum se apreciază că există cateva milioane de oameni care folosesc serviciile Internet în fiecare moment, numarul lor va crește exponențial în anii următorii.
Vrând, nevrând Internet-ul ne schimba modul în care vom realiza afacerile în viitorii ani. Pentru a veni în întampinarea acestei schimbări, încă de pe acum, se simte o sete pentru aplicațiile de comerț electronic. Realizarea lor cu mijloace modeste ar însemna însă, nu numai o muncă în plus, dar și una consumatoare de mult timp, timp în care cerințele poate s-ar dubla sau tripla, fără a le mai putea face față. Iată de ce, noi tehnologii pentru programarea destinată Internet-ului, care să simplifice extrem programarea, sunt indispensabile. Astfel se încearcă realizarea următoarelor caracteristici:
-Construirea de sisteme care să suporte cât mai mulți clienți
-Creșterea calității aplicațiilor
-Realizarea aplicațiilor cu cât mai puține resurse
-Posibilitatea dezvoltării rapide a aplicațiilor
-Explorarea noilor tehnologii pentru un avantaj competitiv
-Creșterea portabilității și a interconectivității aplicațiilor și construirea de sisteme capabile de a lucra cu procese și date mai vechi.
Utilizată până în prezent mai mult ca sursă de informații, rețeaua Internet se îndreaptă încetul cu încetul și spre un alt domeniu, acela al comerțului electronic. Deja puteți cumpăra prin Internet ultima aplicație lansată de o anumită firmă sau puteți chiar să vă faceți cumpărăturile. Comerțul electonic reprezintă în zilele noastre unul din factorii cheie ai infrastructurii informaționale globale, venind în întâmpinarea consumatorului prin crearea de posibilități de cumpărare și alegere dintr-o gamă largă de oferte.
Comerțul Electronic este cheia competitivității întreprinderilor în era informațională, asigurând:
-accesul la noi segmente de piață (noi clienți).
-creșterea vitezei de derulare a afacerilor.
-flexibilitate ridicată a politicilor comerciale.
-reducerea costurilor de aprovizionare, de desfacere, de publicitate, etc.
-simplificarea procedurilor.
-creșterea competitivității.
Pentru a asigura succesul pe termen lung al unui proiect de e-commerce, arhitectura acestuia trebuie proiectată cu grijă ținând cont de toate aspectele de business cu care se va confrunta sistemul, lăsând totodată portițe care să permită adaptarea sa în timp, pe măsură ce apar noi provocări iar tehnologiile evoluează.
Avantajele E-commerce (comerțul electronic)
Este convenabil datorita siturilor care sunt operaționale 24 ore pe zi, 7 zile pe săptămână;
Costuri interne sunt mici, comerțul electronic elimina 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;
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. Idei de afaceri
Magazin electronic (e-shop)
Un magazin virtual conține un catalog cu 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.
Magazinul virtual 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 provi ș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
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
Pentru localizarea 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. Undeva prin anii 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 IMPORTANTA
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
Comunicarea 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 factor 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.
Acestui 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
Facut 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.
Serverul MySQL este frumos prin simplitatea sa fundamentala. Administrarea bazei de date se face utilizand 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 face in asa fel incat 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 si implementarea 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 Cum se proiecteaza un magazin virtual
3.2.1 Pagina Web
Pentru proiectarea unui magazin virtual nu este o chestiune simplă, ea necesită multă muncă și studiu aprofundat al situațiilor existente si al posibilităților pe viitor. 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 pentru proiectarea magazinului 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. Există un sprijin consolidat pentru dezvoltarea rețelei de distribuție a vânzărilor efectuate in on-line.De fapt, aproape toate magazinele 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 daca este nevoie. In cazul în care vânzătorul nu are destule 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.
Momentul ideal 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 puse pe categorii (și eventual subcategorii) pentru ca, clienții să poată găsi cu o mai mare ușurință ceea ce caută. Atenția sporită trebuie acordată prezentării produselor; mai ales imaginile trebuie să fie de calitate excepțională pentru a se evidentia, altfel șansele ca vizitatorii să cumpere scad considerabil.
Daca este posibil 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 lua legatura cu firma în cazul în care mai au alte nelamuriri despre anumite produse (alături de o adresă de e-mail, un formular de contact este o opțiune foarte bună).
3.2.2 Plăți
Lucrul foarte 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. Cei care cumpara și potențialii clienți vor putea sa aiba acces la anumite informații de ultimă oră care se refera la produse, servicii, prețuri sau disponibilitatea acestora. Posibilitatea ca acest scenariu să fie cu adevărat realitate,trebuie 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.
Exista o singura exceptie,in cazul in 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. Plata 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.
O metoda foarte raspandita 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.Printre 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.
Exista posibilitatea unei alternative 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
In comparatie cu 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
Actualizarea informațiilor nu trebuie data la o parte (nu trebuie uitata sau lasata sa se invecheasca). Potentialii clienti 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 Modalitati 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
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, about.php și contact.php. Pentru a avea acces la comenzi, un oaspete al magazinului virtual va trebui să se înregistreze, folosind pagina register.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 view_cart.php.
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, ș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 5 tabele: useri, dateuseri, categorii, produse, cart, comanda, contact.
Tabela users este de tip MySQL ș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.
email: e-mailul utilizatorului.
Tabela admin este de tip MySQL și are următoarele câmpuri:
Username-numele utilizatorului
Password-parola utilizatorului
Log-verifica daca utilizatorul este logat sau nu.
Tabela comenzi este de tip MySQL și are următoarele câmpuri:
id – indexul primar al tabelei;
product-codul produsului.
quantity-cantitatea.
Id_-id unic al tabelei.
Tabela products este de tip MySQL și are următoarele câmpuri:
id – indexul primar al tabelei;
Product_code-codul produsului.
Product_name-numele produsului.
Product_desc-descrierea produsului
Product_img_name-adresa imaginii produsului.
Price-pretul produsului.
Tabela contact este de tip MySQL și are următoarele câmpuri:
Nume-numele clientului.
Email-e-mailui clientului.
Telefon-nr de telefon al clientului.
Adresa-adresa clientului.
Mesaje-mesaj lasat de catreclient.
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 respecta structura HTML,fiind împărțit în doua părți: head si body.
Fiecare pagina respecta aceasi structura.
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 config.php, ce se va include în fiecare pagină.De asemenea, va fi inclus un fișier numit style.css, care va conține cod css, pentru stabilirea stilului codului html generat de scripturi.
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:
session_start();
$message="";
if(count($_POST)>0) {
$conn = mysql_connect("localhost","root","");
mysql_select_db("licenta2",$conn);
$result = mysql_query("SELECT * FROM users WHERE username='" . $_POST["username"] . "' and password = '". $_POST["password"]."'");
$row = mysql_fetch_array($result);
if(is_array($row)) {
$_SESSION["user_id"] = $row[id];
$_SESSION["user_name"] = $row[username];
} else {
$message = "Parola sau Username Gresite!";
}
}
if($_SESSION["user_name"]) {
?>
Welcome <?php echo $_SESSION["user_name"];
?>. Apasati aici pentru a va deloga. <a href="logout.php" tite="Logout">Logout.</a>
<?php
}
Formularul de login.
<?php
session_start();
$message="";
if(count($_POST)>0) {
$conn = mysql_connect("localhost","root","");
mysql_select_db("licenta2",$conn);
$result = mysql_query("SELECT * FROM users WHERE username='" . $_POST["username"] . "' and password = '". $_POST["password"]."'");
$row = mysql_fetch_array($result);
if(is_array($row)) {
$_SESSION["user_id"] = $row[id];
$_SESSION["user_name"] = $row[username];
} else {$message = "Parola sau Username Gresite!";}}
if($_SESSION["user_name"]) {
?>
Welcome <?php echo $_SESSION["user_name"];
?>. Apasati aici pentru a va deloga. <a href="logout.php" tite="Logout">Logout.</a> <?php }
?>
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
<?php include("config.php");?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Clothes Collection</title>
<link rel="stylesheet" href="style.css" type="text/css" charset="utf-8" />
</head>
<body>
<div id="wrapper">
<div id="header">
<h1><em>Clothes</em><strong>COLLECTION</strong></h1>
</div>
<div id="left-person"></div>
<div id="uppers">
<div id="nav-top">
<ul>
<li><a href="login.php">Login</a> |</li>
<li><a href="contact.php">Contact</a></li>
</ul>
</div>
</div>
<div id="nav"><div>
<ul>
<li><a href="index.php">Acasa</a> | </li>
<li><a href="about.php">Despre Noi</a> | </li>
<li><a href="magazin.php">Magazin</a></li>
</ul>
</div></div>
<div id="body">
<h2><em>Welcome</em> to our site</h2>
<p>THIS IS THE HOME PAGE.</p>
</div>
<div class="clear"></div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
magazine.php
<?php
if($_SESSION["user_name"]) {
//current URL of the Page. cart_update.php redirects back to this URL
$current_url =base64_encode($url="http://".$_SERVER['HTTP_HOST']
.$_SERVER['REQUEST_URI']);
$results = $mysqli->query("SELECT * FROM products ORDER BY id ASC");
if ($results) {
//fetch results set as object and output HTML
while($obj = $results->fetch_object()){
echo '<div class="product">';
echo '<form method="post" action="cart_update.php">';
echo '<div class="product-thumb"><img src="images/'.$obj->product_img_name.'"></div>';
echo '<div class="product-content"><h3>'.$obj->product_name.'</h3>';
echo '<div class="product-desc">'.$obj->product_desc.'</div>';
echo '<div class="product-info">';
echo 'Pret '.$currency.$obj->price.' | ';
echo 'Cantitate <input type="text" name="product_qty" value="1" size="3" />';
echo '<button class="add_to_cart">Add To Cart</button>';
echo '</div></div>';
echo '<input type="hidden" name="product_code" value="'.$obj->product_code.'" />';
echo '<input type="hidden" name="type" value="add" />';
echo '<input type="hidden" name="return_url" value="'.$current_url.'" />';
echo '</form>';
echo '</div>';
}
}
?>
</div>
<div class="shopping-cart">
<h2>Your Shopping Cart</h2>
<?php
if(isset($_SESSION["products"]))
{
$total = 0;
echo '<ol>';
foreach ($_SESSION["products"] as $cart_itm)
{
echo '<li class="cart-itm">';
echo '<span class="remove-itm"><a href="cart_update.php?removep='.$cart_itm["code"]
.'&return_url='.$current_url.'">×</a></span>';
echo '<h3>'.$cart_itm["name"].'</h3>';
echo '<div class="p-code">P code : '.$cart_itm["code"].'</div>';
echo '<div class="p-qty">Qty : '.$cart_itm["qty"].'</div>';
echo '<div class="p-price">Price :'.$currency.$cart_itm["price"].'</div>';
echo '</li>';
$subtotal = ($cart_itm["price"]*$cart_itm["qty"]);
$total = ($total + $subtotal);
}
echo '</ol>';
echo '<span class="check-out-txt"><strong>Total : '
.$currency.$total.'</strong> <a href="view_cart.php">Check-out!</a></span>';
echo '<span class="empty-cart">
<a href="cart_update.php?emptycart=1&return_url='.$current_url
.'">Empty Cart</a></span>';
}else{
echo 'Your Cart is empty';
}
}
else
{
echo"<h2>Trebuie sa fiti logat pentru a accesa aceasta pagina</h2>";
}
?>
De asemenea, utilizatorul, chiar și cel neînregistrat va putea completa un formular de contact, în secțiunea contact.php
contact.php
<?php
if(isset($_POST["Name"]) && isset($_POST["Email"]) &&
isset($_POST["Phone"]) && isset($_POST["Address"]))
{
$servername="localhost";
$username="root";
$conn= mysql_connect($servername,$username,"")or die(mysql_error());
mysql_select_db("licenta2",$conn);
$sql="INSERT INTO `contact`(`nume`, `email`, `telefon`, `adresa`, `mesaje`)
VALUES ('$_POST[Name]','$_POST[Email]','$_POST[Phone]','$_POST[Address]',
'$_POST[Message]')";
$result=mysql_query($sql,$conn) or die(mysql_error());
}
?>
Navigarea între aceste pagini se face cu ajutorul unui meniu grafic.
Pagina de inregistrare se prezinta in felul urmator.
Î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”:
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 „Cumpara”.
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 (index.php). Odată autentificat, administratorul are acces la mai multe pagini:
Shoping Cart– se pot aduga sau scoate produse in magazin
Contact – se pot adăuga, modifica sau șterge categorii de produse.
Comenzi – se pot vedea comenzile facute de catre utilizatori.
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
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: Realizarea Unui Magazin Electronic pe Internet (ID: 107796)
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.
