Diploma

Published on May 2016 | Categories: Documents | Downloads: 49 | Comments: 0 | Views: 986
of 49
Download PDF   Embed   Report

Comments

Content

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Realizarea unui magazin online 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 (ED I), 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

Pagina 1 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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 (ecommerce, 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
Pagina 2 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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
Pagina 3 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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;
Pagina 4 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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 s ingur 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.
Pagina 5 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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

Pagina 6 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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 s pecifice, 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
Pagina 7 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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.

Pagina 8 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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,
Pagina 9 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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
Pagina 10 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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.
Pagina 11 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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 hyperdocumentelor. 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
Pagina 12 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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,
Pagina 13 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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.

Pagina 14 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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.
Pagina 15 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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:

Adabas D dBase Empress FilePro Hyperwave IBM DB2 Informix Ingres

InterBase FrontBase mSQL Direct MS-SQL MySQL ODBC Oracle Ovrimos

PostgreSQL Sesam Solid Sybase Velocis Unix dbm

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

Pagina 16 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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.

Pagina 17 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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

Pagina 18 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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.
Pagina 19 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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ă.
Pagina 20 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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
Pagina 21 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

ş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 Angaja rea 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.

Pagina 22 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Cea mai răspândită metodă de plată în comerţul electronic este cea cu car te 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
Pagina 23 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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 publi citatea 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 spe ciale, 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
Pagina 24 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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 de spre astfel de carduri (crackers). Problema a fost rezolvata prin apariţia unor noi tehnologii denumite SET
Pagina 25 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

(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 necesi ta 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
Pagina 26 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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
Pagina 27 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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;
Pagina 28 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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: Camp id nume Tip bigint(4) varchar(16) Proprietati Nul Setare de baza Extra Nu Nu auto_increment

Pagina 29 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

parola level

varchar(16) tinyint(1)

Nu Nu 1

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: Camp id nume firma localitate email telefon mobil fax user data Tip bigint(20) varchar(70) varchar(100) varchar(50) varchar(100) varchar(20) varchar(20) varchar(20) varchar(20) date Proprietati Nul Setare de baza Extra Nu Nu Nu Nu Nu Nu Nu Nu Nu Nu 0000-00-00 auto_increment

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;

Pagina 30 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

data – data înregistrării clientului. Tabela categorii este de tip MyISAM şi are următoarele câmpuri: Camp id numecat Tip bigint(20) text Proprietati Nul Setare de baza Extra Nu Nu auto_increment

id – indexul primar al tabelei; numecat – numele categoriei. Tabela produse este de tip MyISAM şi are următoarele câmpuri: Camp id categorie nume cod pret um culoare marime fisier fisierm tag descriere vitrina unicat Tip bigint(20) text text varchar(15) varchar(20) varchar(10) text varchar(20) text text varchar(20) text tinyint(2) tinyint(2) Proprietati Nul Setare de baza Extra Nu Nu Nu Nu Nu Nu Nu Nu Nu Nu Nu Nu Nu Nu 0 0 auto_increment

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;

Pagina 31 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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: Camp id user data id_prod numeprod buc nr_cart Tip bigint(20) varchar(20) date bigint(20) text int(4) bigint(20) Proprietati Nul Setare de baza Extra Nu Nu Nu Nu Nu Nu Nu 0 0 0000-00-00 0 auto_increment

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: Camp id Tip bigint(20) Proprietati Nul Setare de baza Extra Nu auto_increment

Pagina 32 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

nr_cart data valoare confirmat stare observatii vazut

bigint(20) date varchar(20) varchar(4) varchar(100) text varchar(4)

Nu Nu Nu Nu Nu Nu Nu

0 0000-00-00

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: Camp id nume firma localitate email telefon mobil fax Tip bigint(20) varchar(70) varchar(100) varchar(50) varchar(100) varchar(30) varchar(30) varchar(30) Proprietati Nul Setare de baza Extra Nu Nu Nu Nu Nu Nu Nu Nu auto_increment

Pagina 33 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

observatii data ora vazut

text varchar(20) varchar(20) char(3)

Nu Nu Nu Nu

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.

Pagina 34 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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 {
Pagina 35 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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>
Pagina 36 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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:

Pagina 37 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Î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:

Pagina 38 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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.

Pagina 39 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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

Pagina 40 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

produse.php În interiorul catalogului, fiecare categorie va conţine mai multe produse, în funcţie de stocul curent aflat în baza de date:

Pagina 41 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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:

Pagina 42 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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.

Pagina 43 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Î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: id nr_cart data valoare confirmat stare observatii vazut

Pagina 44 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Editare Sterge 2

7

2004- 1100000 NU 05-09

submitted

DA

Editare Sterge 3

8

2004- 1740000 NU 05-09

submitted

NU

Editare Sterge 5

9

2005- 2750000 NU 02-03

submitted

NU

Editare Sterge 6

10

2005- 800000 02-07

NU

submitted

NU

Editare Sterge 7

11

2005- 850000 02-07

NU

submitted

NU

Editare Sterge 8

12

2005- 4800000 NU 02-07

submitted

NU

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);

Pagina 45 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

$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 Pentru comandat mai multe comenzii produse dvs. pe vă site-ul rugăm magazinului să apăsaţi <a <a

href=t"http://www.modafashion.dap.rot"><strong>Moda Fashion</strong></a><br> confirmarea

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
Pagina 46 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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:

Pagina 47 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

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ă:

Pagina 48 din 49

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

logout – realizează de-logarea administratorului

Pagina 49 din 49

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close