Comertul Electronic Prin Internet

LUCRARE DE LICENȚĂ

Aplicatia Coafura canina Malldy

CUPRINS

Capitolul I. Introducere

I.1Comerțul electronic prin internet

I.1.1 Ce este un magazin virtual?

I.1.2 Beneficiile comertului electronic

I.1.3 Ce este comertul electronic?

Capitolul II . Fundamentare teoretică

II .1 Arhitectura unui sistem de comerț electronic

II .2 World Wide Web

II.2.1 Scurt istoric

II.2.2 Descriere

II.2.3 HTML

II.2.4 URL

II.2.5 Server de Web

II.3 Serverul de Web Apache

II.3.1 Istoric și caracteristici

II.3.2 Detalii de instalare și configurare

II .4 Limbajul PHP ( Hypertext Processor)

II.4.1. Introducere

II.4.2. Referințe

II.4.3. Funcții

II .5 Serverul de baze de date MySQL

II.5.1 Scurta descriere

II.5.2 Comenzi uzuale în MySQL

II .6 Limbajul CSS (Cascading Style Sheets)

II.6.1 Introducere

II.6.2 Scurt istoric

II .7 Limbajul Javascript

II.7.1 Ce este limbajul Javascript?

II.7.2 Utilizare

II.7.3 Elementele de baza ale limbajului

Capitolul III. Studiul de caz al aplicatiei Coafura Canina Malldy

III .1 Enuntul temei si obiectivele propuse

III .2 Structura lucrarii

III .3 Documentatia tehnica a aplicatiei

III.3.1 Arhitectura sistemului

III.3.2 Arhitectura programului

III.3.3 Detalii de implementare

III.3.4. Arhitectura bazelor de date

III .4 Utilizarea aplicatiei

III.4.1 Administrator

III.4.2 Utilizator

Capitolul IV. Realizarea, punerea în funcțiune a aplicației și rezultatele experimentale

Capitolul V. Concluzii

Bibliografie

Capitolul I . Introducere

I.1 Comerțul electronic prin internet

În ultimul deceniu , Internetul a evoluat într-o unealtă formidabilă având un impact major în toate aspectele vieții . La fiecare jumătate de an apar schimbări așa de importante incât este imposibil de prevăzut unde se va ajunge în următorii 10 ani .

Nici o altă dezvoltare tehnologică nu a avut un impact atât de profund asupra lumii afacerilor ca Internetul. Utilizarea inteligentă a tehnologiei Internet în procesele de afaceri se transformă într-un factor esențial de succes pentru multe companii.

Internet-ul și Web-ul ca și alte multe tehnologii anterioare, se prezintă acum, cu un set nou de opotunități și avantaje, cu noi propuneri și deschideri îndrăznețe, îndreptându-se încetul cu încetul spre domenii care, nu cu mult timp în urmă erau irealizabile, sau de neimaginat, unul dintre acestea fiind și comerțul electronic. Începutul noului mileniu, este dominat de revoluția tehnico-informatică, de noua eră a Internet-ului și de noile posibilități de comunicație, în care informația circulă cu viteze amețitoare, provocând din ce în ce mai mult, atât dezvoltatorii cât și intreprinzătorii și forțându-i să schimbe radical modul în care gândesc, concep și privesc afacerile.

Viteza cu care evoluează tehnologia Internet-ului este impresionantă. Dacă acum se apreciază că există cateva milioane de oameni care folosesc serviciile Internet în fiecare moment, numarul lor va crește exponențial în anii următorii.

Vrând, nevrând Internet-ul ne schimba modul în care vom realiza afacerile în viitorii ani. Pentru a veni în întampinarea acestei schimbări, încă de pe acum, se simte o sete pentru aplicațiile de comerț electronic. Realizarea lor cu mijloace modeste ar însemna însă, nu numai o muncă în plus, dar și una consumatoare de mult timp, timp în care cerințele poate s-ar dubla sau tripla, fără a le mai putea face față. Iată de ce, noi tehnologii pentru programarea destinată Internet-ului, care să simplifice extrem programarea, sunt indispensabile. Astfel se încearcă realizarea următoarelor caracteristici:

Construirea de sisteme care să suporte cât mai mulți clienți

Creșterea calității aplicațiilor

Realizarea aplicațiilor cu cât mai puține resurse

Posibilitatea dezvoltării rapide a aplicațiilor

Explorarea noilor tehnologii pentru un avantaj competitiv

Creșterea portabilității și a interconectivității aplicațiilor și construirea de sisteme capabile de a lucra cu procese și date mai vechi.

Utilizată până în prezent mai mult ca sursă de informații, rețeaua Internet se îndreaptă încetul cu încetul și spre un alt domeniu, acela al comerțului electronic. Deja puteți cumpăra prin Internet ultima aplicație lansată de o anumită firmă sau puteți chiar să vă faceți cumpărăturile. Comerțul electonic reprezintă în zilele noastre unul din factorii cheie ai infrastructurii informaționale globale, venind în întâmpinarea consumatorului prin crearea de posibilități de cumpărare și alegere dintr-o gamă largă de oferte.[1]

I.1.1 Ce este un magazin virtual?

Un magazin virtual este un website destinat vanzarii de produse si servicii. In cele mai multe dintre cazuri, magazinul online reprezinta o platforma pe care sunt adaugate produse. Aceste produse pot fi accesate si cumparate cu ajutorul carii de credit. Pe magazinele online complexe utilizatorii pot selecta modalitatea de plata: card de credit, transfer bancar, ramburs si modalitatea de transport: posta, curier, avion etc.

Magazinul virtual are ca scopul prezentarea si vinderea unor produse. Exista posibilitatea realizarii unor magazine virtuale pe platforme e-commerce free ca de exemplu: Open Cart, Magento, Woocommerce, Presta Shop.

Majoritatea comerciantilor mari, corporatiile sau Brandurile, isi dezvolta propriile departamente de programare web si isi creeaza magazine virtuale folosind solutii e-commerce avansate. Din aceasta categorie amintim: Adidas, Puma, Boss, Nike etc. Astfel de magazine virtuale prezinta o multitudine de instrumente care ajuta userii/clientii sa ia decizii importante cu privire la comenzile lor.

Magazinele online avansate au CRM-uri, sisteme de management al clientilor. Astfel, magazinele online identifica clientii noi, sau clientii fideli. Majoritatea magazinelor online ofera discounturi clientilor fideli, discounturi care se pot face direct, printr-o reducere de pret sau printr-un coupon procentual(de exemplu 10% reducere) sau numeric(de exemplu -40 lei).[18]

I.1.2 Beneficiile comerțului electronic

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;

creștere substanțială a vitezei procesului de vânzare. Companiile de e-commerce recepționează veniturile mai rapid decât în sistemul tradițional;

reducerea erorilor, procesarea automată producând mai puține erori decât procesul de vânzare tradițional;

spațiul nelimitat – siturile de e-commerce putând afișa/indexa un număr nelimitat de bunuri și servicii;

prezența globală crescută, compania putând fi accesată (teoretic) de posibilii clienți din orice colț al lumii;

disponibilitatea informațiilor despre clienți, existând astfel posibilitatea de a studia preferințele unui client individual sau ale unui grup specific de clienți, de a modela afacerea după dorințele clientului sau de a schimba rapoarte analitice privind clientela

cea mai bună interacțiune cu clientul.

Deci, comerțul electronic este o categorie de e-business. Există posibilitatea comercializării de servicii, de exemplu e-turism (www.bizravel.com, www.opentravel.org, www.rotravel.com), e-leasing, e-consulting.

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.

I.1.3 Ce este comerțul electronic

Comerț electronic înseamnă, în accepțiune "tradițională", utilizarea în rețele cu valoare adaugată a unor aplicații de tipul transferului electronic de documente (EDI), a comunicaților fax, codurilor de bare, transferului de fișiere și a poștei electronice. Extraordinara dezvoltare a interconectivității calculatoarelor în Internet, în toate segmentele societății, a condus la o tendința tot mai evidentă a companiilor de a folosi aceste rețele în aria unui nou tip de comerț, comerțul electronic în Internet, care să apeleze – pe lângă vechile servicii amintite – și altele noi.

Este vorba, de exemplu, de posibilitatea de a se efectua cumpărături prin rețea, consultând cataloage electronice "on" pe Web sau cataloage "off" pe CD-ROM și plătind prin intermediul cărților de credit sau a unor portmonee electronice.

Pentru alții, comerțul Internet 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 adaugată.

În fine, o altă formă a comerțului Internet implică transferul de documente – de la contracte sau comenzi pro forma, până la imagini sau înregistrări vocale.

Comerțul electronic este una dintre soluțiile complexe, "integrate", pe care le oferă tehnologia Internet. Asta înseamna că o multitudine de aplicații și de furnizori de servicii Internet trebuie să conlucreze într-o sincronizare perfectă pentru ca un site de comerț electronic să poată funcționa.

O altă definiție succintă și larg acceptată a comerțului electronic este următoarea: Comerțul electronic (e-commerce) 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 pot afla potențialii clienți) și viteza cu care este livrată informația.

Comerțul electronic oferă oportunitatea de a comercializa produse în întreaga lume, sporind numărul de potențiali clienți în primul rând prin eliminarea barierelor geografice dintre clienți și comercianți. [7]

Comerțul Electronic este cheia competitivității întreprinderilor în era informațională, asigurând:

accesul la noi segmente de piață (noi clienți).

creșterea vitezei de derulare a afacerilor.

flexibilitate ridicată a politicilor comerciale.

reducerea costurilor de aprovizionare, de desfacere, de publicitate, etc.

simplificarea procedurilor.

creșterea competitivității.

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

Capitolul II. Fundamentare teoretica

II.1 Arhitectura unui sistem de comert electronic

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

– Client. Un echipament, clasic un PC, conectat direct (via un ISP) sau indirect (o rețea a unei corporații) la Internet. Cumpărătorul folosește acest echipament pentru a naviga și a face cumpărături.

– Comerciant. Sistem informatic (hard & soft), situat de regulă la sediul comerciantului, care găzduiește și actualizează catalogul electronic de produse disponibile a fi comandate on-line pe Internet.

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

Pe baza acestor trei componente de bază s-au implementat diverse arhitecturi de comerț electronic. Unele combină mai multe componente într-un singur (sub)sistem informatic, pe când altele implevitezei de derulare a afacerilor.

flexibilitate ridicată a politicilor comerciale.

reducerea costurilor de aprovizionare, de desfacere, de publicitate, etc.

simplificarea procedurilor.

creșterea competitivității.

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

Capitolul II. Fundamentare teoretica

II.1 Arhitectura unui sistem de comert electronic

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

– Client. Un echipament, clasic un PC, conectat direct (via un ISP) sau indirect (o rețea a unei corporații) la Internet. Cumpărătorul folosește acest echipament pentru a naviga și a face cumpărături.

– Comerciant. Sistem informatic (hard & soft), situat de regulă la sediul comerciantului, care găzduiește și actualizează catalogul electronic de produse disponibile a fi comandate on-line pe Internet.

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

Pe baza acestor trei componente de bază s-au implementat diverse arhitecturi de comerț electronic. Unele combină mai multe componente într-un singur (sub)sistem informatic, pe când altele implementează separat fiecare componentă în parte Pentru definirea arhitecturii, proiectanții de sisteme de Comerț Electronic(CE) fac o proiectare de ansamblu a sistemului pe baza unei selecții a principalelor cerințe/funcții ale unui sistem de CE. Detalii cum ar fi, de exemplu, funcția de agregare care permite asamblarea articolelor într-o comandă completă sunt lăsate pe seama proiectării de detaliu. Decizia de a integra această funcție de agregare la nivelul componentei client, comerciant sau tranzacționale se va lua în funcție de cerințele specifice ale fiecărei implementări în parte. Important este însă ca în cazul unui sistem de CE, ca de altfel în cazul oricărui sistem complex, arhitectura sa fie clar definită la toate nivelele de detaliu.

Există mai multe opțiuni pentru expunerea produselor și trimiterea comenzilor online. Cea mai obișnuită este pagina simplă HTML (pentru expunerea produselor) și un formular electronic de comandă. Dacă aveți un numar mic de produse aceasta este varianta de care aveți nevoie. Dacă numarul de produse pe care intenționați să le vindeți este mai mare și clienții cumpără în mod frecvent un număr mai mare de produse aveți nevoie de un sistem de scripturi mai complex.

Majoritatea furnizorilor de web hosting oferă însă pachete speciale de aplicații pentru comerț electronic – sisteme de shopping cart. Aceste aplicații au o interfață pentru baze de date și utilizează instrumente de programare complexe. Pot genera pagini dinamice pentru expunerea produselor, calcularea prețului și a taxelor (inclusiv a celor de expediere). Furnizează de asemenea rapoarte complete de urmărire a clienților și nenumărate opțiuni de întreținere și actualizare. Anumite componente permit chiar promoții speciale, promoții încrucișate sau personalizarea conținutului în funcție de preferințele clientului. Multe dintre aceste aplicații pot fi utilizate și în site-urile comerciale de tip "Business to Business" (B2B).

Sistemul de shopping cart pe care il alegeți trebuie să poată furniza mecanismele pentru colectarea informațiilor necesare expedierii produsului și procesării tranzacției (inclusiv facturare, dacă este cazul).

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

În acest sens, aplicația dezvoltată , vine în sprijinul ,celor afirmate mai sus – fiind un sistem complex de shoping chart , implementat prin mai multe module funcționale – care asigură o arhitectură flexibilă și o manipulare – prelucrare facilă a datelor cu care se operează în procesul de e-commerce. [13]

II.2 World Wide Web

II.2.1 Scurt istoric

WORLD WIDE WEB (sau mai simplu WEB sau WWW) este un context arhitectural pentru accesul la documente răspândite pe mii de mașini din Internet , între care există legături . În 5 ani a evoluat de la o aplicație pentru transmiterea de date utile pentru fizica energiilor înalte la o aplicație despre care milioane de oameni cred că este Internetul. Popularitatea sa enormă se datorează faptului că are o interfată grafică plină de culoare, ușor de utilizat de către utilizatori și în același timp oferă o cantitate imensă de informație despre orice subiect posibil.

WEB-ul a aparut din necesitatea de a permite cercetatorilor răspândiți în lume să colaboreze uytilizand colecții de rapoarte, planuri, desene, fotografii și alte tipuri de documente aflate într-o continua modificare. Propunerea initiala pentru crearea unei colecții de documente avand legaturi între ele (WEB) a fost făcuta de fizicianul Tim Berners-Lee, fizician la CERN, în martie 1989. Primul prototip (bazat pe text) era operational 18 luni mai tarziu. În decembrie 1991 s-a făcut o demonstratie publica la conferinta Hypertext '91, în San Antonio, Texas. Acțiunea a continuat în anul următor, fiind încununată cu realizarea primei interfețe grafice, Mosaic, în februarie 1993.

Mosaic a fost atât de popular încât un an mai târziu autorul sau Mark Andreessen a părăsit NCSA unde Mosaic-ul a fost dezvoltat, pentru a forma o nouă companie, Netscape Communication Corp. care se ocupă de dezvoltarea de software pe WEB.

În 1994 CERN și MIT au semnat o întelegere de a forma consortiul WORLD WIDE WEB, organizație care are ca obiectiv dezvoltarea WEB-ului, standardizarea protocoalelor și încurajarea interoperabilității între site-uri. De atunci, sute de universităti și companii au intrat în consorțiu. MIT coordonează partea americană a consorțiului, în timp ce centrul de cercetari INRIA coordonează partea europeană. Deși există foarte multe cărti despre WEB, cel mai bun loc pentru găsirea unor informații la zi despre el este (în mod natural) chiar WEB-ul. Pagina consorțiului are adresa htttp://www.w3.org. Cititorii interesați vor găsi acolo legături la pagini care acoperă toate documentele și activitățile consorțiului.[10]

II.2.2 Descriere

Din punct de vedere al utilizatorului, WEB-ul se prezintă ca o colecție imensă de documente răspândite în toata lumea, numite pagini. Fiecare pagină poate să conțină legături (indicatori) la alte pagini, aflate oriunde în lume. Utilizatorii pot să aleagă o legătură (de exemplu prin execuția unui click) care îi va duce la pagina indicată de legătură. Acest proces se poate repeta la nesfârșit, fiind posibil să se traverseze în acest mod sute de pagini legate între ele. Despre paginile care indică spre alte pagini se spune că utilizează hypetext.

Paginile Web sunt vizualizate pe calculatorul client cu ajutorul unui program special numit browser. La început, Web-ul consta numai din pagini de text, fără nici o imagine.

Odată cu apariția primului browser Web grafic în anul 1993, Web-ul a început să se impună cu adevărat. Nu cu mult timp în urmă, browserul Navigator al firmei Netscape era cel mai popular program de navigare, însă browser-ul Internet Explorer de la Microsoft ocupă în momentul de față mai mult de jumatate din piată.

Programul de navigare aduce pagina cerută, interpretează textul și comenzile de formatare conținute în text și afișează pagina, formatată corespunzător, pe ecran. Majoritatea paginilor de WEB încep cu titlu, contin informatii și se termina cu adresa de posta electronica a celui care mentine pagină. Șirurile de caractere care reprezintă legaturi la alte pagini se numesc hyperlegaturi, sunt afisate în mod diferit, fiind subliniate și/sau colorate cu o culoare speciala. Pentru a selecta o legătură, utilizatorul va plasa cursorul pe zona respectiva (utilizand mouse-ul sau sagetile de pe tastatura) și comanda selectia (cu ajutorul mouse-ul sau apasand tasta ENTER). Deși există programe de navigare fără interfață grafică, ca de exemplu lynx, ele nu sunt atât de utilizate ca programele de navigare grafice.

Tehnologia folosita de Worl Wide Web este cea client–server, care presupune următoarele etape:

Un calculator (clientul) formuleaza o cerere.

Cererea clientului este expediata unui server.

Serverul analizează această cerere, o executa, formuleaza raspunsul și il expediaza clientului.

Clientul receptioneaza raspunsul la cererea solicitată.

Modelul de comunicare între serverul WEB și clientul care acceseaza informația este următorul (să zicem că aceseaza http://www.w3.org/hypertext/WWW/TheProject.html) :

· Programul de navigare determina URL (pe baza selecției)

· Programul de navigare întreaba DNS care este adresa IP pentru mașina care se numeste www.w3.org.

· DNS raspunde cu 18.23.0.23

· Programul de navigare realizeaza conexiunea TCP cu portul 80 al 18.23.0.23

· Trimite o comanda GET /hypertext/WWW/TheProject.html

· Serverul www.w3.org transmite fișierul "TheProject.html"

· Conexiunea TCP este eliberata

· Programul de navigare afiseaza formatat textul din "TheProject.html"

· Programul de navigare aduce și afiseaza toate imaginile din "TheProject.html"[10]

II.2.3 HTML

"Limbajul" în care sunt descrise paginile WEB se numeste HTML. El este derivat din SGML, și este format din seturi de tag-uri inserate în text, care dau directive asupra modului în care să se formateze textul. În functie de posibilitatile hard ale sistemului pe care se vizualizeaza pagină, și de posibilitatile browserului, pagină va fi afișată cu mai multe sau mai putine caracteristici de formatare (un browser în mod text nu va putea folosi fonturi de marimi diferite). Tagurile sunt texte cuprinse între '<' și '>'. Textul va trebui să nu conțină aceste caractere, aparitia lor trebuind înlocuita cu metacaractere înlocuitoare ("&lt;" și "&gt;") la randul lui, "&" trebuie și el înlocuit cu metasecventa "&amp;". Și alte caractere se pot specifica prin metasecvente (de exemplu caractere care nu sunt în setul standard ASCII).

Numele tagurilor nu sunt "case sensitive", doar optiunile și argumentele pot face distinctie în anumite cazuri între literele mari și mici (de exemplu calea într-un URL care se gaseste în tagul <a>)

Textul este cuprins între tagurile <html> și </html>. El cuprinde o sectiune de "head" și una de "body". Sectiunea de "head" conține informatii despre document care nu se vor afisa în pagină (eventual se va afisa pe bara de titlu a ferestrei browserului). Textul din sectiunea de "body" conține descrierea paginii propriu zise. În cadrul textului caracterul de sfarșit de linie este ignorat, la fel și taburile sau aparitile multiple de spatii (se retine numai unul).

II.2.4 URL

URL (Uniform Resource Location) reprezintă o conventie de localizare a unei resurse informationale. El cuprinde (de la dreapta la stânga) identificarea fișierului referit pe mașina pe care se afla, numele mașinii pe care se gaseste și modul (protocolul) de accesare a acesteia. De exemplu în URL-ul: http://home.ro/pclaude din exemplu protocolul este http (acces prin portul 80 prin protocolul HTTP), mașina este home.ro iar identificarea paginii este "pclaude" – adica pagină personala a userului pclaude. Serverul HTTP va rezolva acest identificator la calea interna /home/pclaude/public_html/index.html. Se observa că sarcina localizarii pe server este sarcina serverului, care cunoaste propriul mod de identificare a resurselor sale publice. [2]

Nu toate fișierele de pe un server WEB pot fi accesate prin HTTP. De obicei paginile publice se afla în directoare speciale, identificarea lor facandu-se cu calea relativa la acel director. Daca nu se specifica decat calea relativa a unui director, serverul întoarce un fișier cu nume implicit (de obicei numit index.html). Există și alte conventii (de exemplu /~user/ reprezintă directorul radacina al informatiilor publice ale userului "user". URL-ul este un caz particular de mai putin cunoscutul URI (Uniforme Resource Identifier) care identifica unic pe Internet resursele care se pot accesa prin diferite protocoale

Paginile WEB pot conține imagini (tagul <img>), tabele (tagul <table>) , etc. În sectiunea de "head" se pot specifica prin tagul "<meta>" informatii despre autor, firma de care aparține și chiar informatii destinate motoarelor de cautare (descriere, cuvinte cheie, etc). [10]

II.2.5 Server de Web

Serverul web este un calculator care gazduieste un site web și care e capabil să raspunda cererilor de pagini web din partea clienților. Pentru a realiza acest lucru, server-ul trebuie să ruleze o aplicație speciala numita httpd (HyperText Transfer Protocol Demon). Ca servere Web, cele mai întalnite sunt: Apache Server , Microsoft Web Server , Oracle Web Server

În momentul de față se folosesc foarte multe tipuri de calculatoare și sisteme de operare, majoritatea oferind software server Web de buna calitate. Cele mai cunoscute sisteme de operare pentru calculatoare ce deservesc pagini Web sunt UNIX și Microsoft Windows NT/2000.

Unix este folosit de la crearea Web-ului și majoritatea serverelor Web ruleaza în continuare acest sistem. Windows NT /2000 este mai nou în domeniu, dar și-a castigat rapid popularitatea. Din punctul de vedere al designer-ului Web, server-ul utilizat pentru livrarea unei pagini este în general irelevant, cu anumite exceptii:

• UNIX este dependent de tipul de litera folosit (litera mica sau majuscula), în timp ce Windows NT nu

• UNIX este folosit de mai mult timp și este relativ stabil. Windows NT sufera actualizari majore și de aceea poate avea probleme în acest sens

• Există foarte multe companii care au baze de date Microsoft Access pe care vor să le integreze în site-ul lor, acest lucru putandu-se face numai în mediul Windows NT

• Furnizorii de servicii Internet (Internet Service Provider – ISP) percep în general taxe mai reduse pentru servere bazate pe UNIX, pentru ca întretinerea sistemului este mai putin costisitoare dacat Windows NT.

Între calculatoarele interconectate informația circulă în pachete. Pachetele contin adresa expeditorului și cea a destinatarului, informația, numele aplicatiei client care a formulat cererea și numele aplicatiei de pe server care va primi cererea. Aceste pachete sunt sunt dirijate pentru a ajunge la destinatie prin anumite mijloace de dirijare precum Internet Protocol (IP). Rețeaua Internet dispune de asemenea și de mijloace de corectie a erorilor de transmitere a pachetelor. Un astfel de mijloc este Transfer Control Protocol (TCP) – Protocolul de Control al Transferului.

Site-urile Web reprezintă o serie de pagini Web care sunt interconectate. Site-urile pot conține legaturi către alte site-uri, lucru care duce la obtinerea unor panze de informatii. Primul document dintr-un site se numeste Home Page (pagină de pornire). Ea conține legaturi către toate celelalte documente.

Site-urile Web sunt publicate prin transferul fișierelor HTML și al fișierelor multimedia asociate pe servere Web. Protocolul de transfer al fiserelor (FTP) este un standard care permite mutarea, redenumirea sau stergerea fișierelor de pe un calculator la distanta.[11]

II.3 Serverul de Web Apache

II.3.1 Istoric si caracteristici

Unul dintre cele mai utilizate servere de web, Apache Web Server este un efort de a oferi o alternativă viabilă necomercială, în domeniul serverelor de web. Reușita acestui proiect este în mare masură legată de fenomenele inițiate prin oameni ca Linus sau Stalman, ce au avut ca rezultat produse extraordinare, puternice și eficiente cum ar fi Linux, Emacs precum și toate pachetele software aparute sub licenta GNU.

Crearea unui proiect de sine statator – The Apache Project este rezultatul reunirii unui mare numar de voluntari, comunicând prin intermediul Internet-ului. Acestia sunt cunoscuti sub numele de Apache Group. În plus, sute de utilizatori din întreaga lume au contribuit la proiect prin cele mai diverse mijloace, de la cod sursa pâna la documentatie HTML.

Apache iși are originea din ideile și codul aflat în cel mai popular server HTTP al timpului NCSA . În 1995 cel mai performant server de web era practic cel dezvoltat la NCSA , University of Illinois, de către Rob McCool. În momentul în care acesta a plecat și nu a mai continuat dezvoltarea serverului sau, au început să apara o multime de programatori ce produceau versiuni modificate și îmbunatatite ale acestui server. Un grup de asemenea programatori au decis în februarie 1995 să se reuneasca într-un proiect de dezvoltare și îmbunatatire a serverului initial. Pornind de la NCSA httpd 1.3 ei au construit, prin adaugarea celor mai bune patch-uri, versiunea Apache 0.6.2 care a fost lansata în aprilie 1995.

Deși NCSA și-a reînceput dezvoltarea serverului în aceeași perioada, Apache a continuat să devina cel mai utilizat server de web din comunitatea unix în următorii doi ani. Acesta a fost implicat mai departe în cele mai multe sisteme UNIX care contin servere HTTP.

Designul unei noi arhitecturi și rescrierea serverului într-o maniera extrem de modulara și eficienta a dus la o popularitate crescânda serverului. Apache este, din ianuarie 1997, cel mai utilizat server WWW de Internet. Deasemenea Apache a aratat a fi cel mai rapid dintre serverele de tip free.

Serverul oferă desigur majoritatea facilitatilor gasite în cazul oricarui server de web modern. O îndelungata perioada de timp acesta chiar a stabilit standardele în domeniu. Astfel, din punct de vedere al securitatii gasim suport SSL, protectie de tip username/password asupra directoarelor, HTTPS etc.

Server-side include a fost o inovatie a Apache Group. Suportul modular de adaugire a unor noi facilități la server, content handlers, persistent connections, online statistics (incluzând aici chiar și broadcastingul de informatie de logging) etc, toate acestea sunt elemente în care Apache a adus elemente mai mult sau mai putin noi.

II.3.2 Detalii de configurare si instalare

În prezent serverul se prezintă sub forma unui pachet software de tip tar-gzip (există și o versiune pentru Windows NT ) ce conține sursele complete precum și un set de documentatie pentru server. Compilarea serverului este extrem de facila și nu s-a întâlnit nici o platforma uzuala care să aiba vreo problema la compilare. .

Rezultatul compilarii va fi în principal un fișier binar executabil numit în principal httpd, localizat în directorul src/. Se recomanda copierea acestui binar într-un loc mai sigur, eventual crearea unui director bin/ (de exemplu) și copierea în acel director. În unele versiuni mai vechi, calea (path-ul) către locul unde este instalat serverul va trebui inserata în unele fișiere sursa, înainte de compilare. Deoarece acest fapt nu mai este de actualitate nu îl vom comenta însă se recomanda instalarea serverului la o locatie destul de comuna ,de exemplu: în /usr/local/http, /usr/http sau chiar /etc/http/. NU instalati serverul (fișierul binar) în sistemul de fișiere principal. (/usr/bin, /bin, etc.)

Dupa instalarea binarului (vom presupune /usr/http ca director principal de instalare și /usr/http/bin directorul în care se gaseste fișierul binar executabil httpd) va trebui configurat serverul prin modificarea unor fișiere de configurare. Acestea se gasesc în acest caz în /usr/http/conf. Ele sunt httpd.conf, access.conf, srm.conf. Fiecare dintre ele stabilesc parametri diferiți pentru serverul de web. Se recomanda citirea documentatiei de configurare. Nu trebuie modificate direct fișierele de configurare existente în acel director. De obicei numele acestora are o extensie ?-dist'. (Ex. httpd.conf-dist) . Se copie acestea în fișiere cu nume fără extensia respectiva (Ex. cp httpd.conf-dist httpd.conf) și abia apoi se va modifica fișierul copie.

Configurarea serverului în cazul cel mai simplu impune doar modificarea, în httpd.conf, a numelui serverului precum și, în toate fișierele, a cailor (path) ce definesc locul de instalare a serverului precum și a documentelor html.

Dupa configurarea serverului se impune pornirea acestuia. Exisa două moduri de rulare a serverului. Modul implicit și cel mai utilizat de rulare este modul daemon. În mod daemon acesta este pornit și ruleaza în background, activându-se de la sine de mai multe ori, asigurând astfel un bun timp de raspuns la cereri HTTP. Al doilea mod ar fi rularea serverului prin intermediul daemonului inetd. În acest caz, inetd are grija de interceptarea unei cereri HTTP și pornirea unei copii a unui server de web pentru tratarea acelei cereri. Nu se recomanda acest mod de rulare decât în cazuri speciale.

Pornirea serverului (modul daemon) se rezuma la executarea binarului cu parametrii adecvati (în principal stabilirea caii fișierului primar de configurare httpd.conf) dupa care acesta va raporta orice erori sau probleme precum și accesele de web în cazul rularii, prin intermediul unor fișiere de log localizate în directorul logs/. În cazul unor erori sau porniri defectuoase se recomanda analizarea fișierului error-log din logs/.

Dupa ce ati pornit serverul există posibilitatea accesarii unei documentatii complete chiar prin serverul proaspăt instalat.

II.4 Limbajul PHP (Hypertext processor)

II.4.1 Introducere

Scurt istoric

PHP a fost conceput în anul 1994 de Rasmus Lerdorf. El folosea versiuni personale de PHP ca să monitorizeze cine îi vizita pagina sa personală.

Prima versiune de PHP care putea fi folosită de toată lumea a fost disponibilă în anul 1995 și a fost cunoscută sub numele de Personal Home Page Tools. Aceasta consta dintr-un parser foarte simplu care recunoștea câteva macro-uri și un număr limitat de utilități care erau folosite pe paginile personale la acea vreme (cum ar fi guestbook, counter).

Parserul de PHP a fost rescris la jumătatea anului 1995 și s-a numit PHP/FI Version 2. FI vine Form Interpreter, un alt pachet pe care Rasmus l-a scris pentru interpretarea formelor HTML. El a combinat scripturile din Personal Home Page Tools cu Form Interpretor și a adăugat suport pentru mSQL și astfel a apărut PHP/FI. PHP/FI s-a răspândit foarte repede și a devenit foarte popular, deoarece mulți programatori au contribuit cu cod la perfecționarea lui.

Sunt greu de dat niște statistici exacte, dar se estimează că la sfârșitul anului 1996 PHP/FI era folosit de aproximativ 15.000 de site-uri web din toată lumea. Pe la mijlocul anului 1997 numărul acestora a crescut la 50.000.

Tot în anul 1997 s-a observat o schimbare în dezvoltarea PHP-ului.

PHP nu mai era proiectul propriu al lui Rasmus, ci era rezultatul eforturilor unei echipe de programatori, deoarece la perfecționarea lui contribuiseră mulți programatori.

Parserul a fost rescris de Zeev Surasky și Andi Gutmans și noul parser a format bazele PHP Version 3. Mare parte din codul PHP/FI a fost portat în PHP3 și altă parte de cod a fost complet rescrisă. [15]

Ce este PHP?

PHP (oficial “PHP: Hypertext Preprocesor”) este un limbaj de script HTML integrat de tip server-side, deci codul se execută pe server.

Este diferit de scripturile CGI scrise în alte limbaje ca Perl sau C++, în care se scrie mult cod pentru a genera HTML, deoarece se scrie script HTML cu cod de PHP încorporat. Codul PHP este încadrat de tag-uri speciale care ne permit să intrăm sau să ieșim din modul PHP.

Ce face PHP?

La o privire de ansamblu, PHP poate să facă tot ceea ce face alt programe CGI, cum ar fi: culegerea de date, generare dinamică de cuprinsuri pentru pagini, trimite și primește cookie-uri.

Probabil cea mai puternică și cea mai importantă caracteristică a PHP este suportul pentru o gamă cât mai largă de baze de date . Cu PHP este foarte simplu de citit din baze de date și de scris în baze de date.

PHP suportă următoarele tipuri de baze de date: AdabasD, dBase, Empress, FilePro, HyperWave, IBM DB2, Informix, Ingres, InterBase, Frontbase, mSQl, Direct MS-SQL, MySQL, ODBC, Oracle, Ovrimos, PostgreSQL, Solid, Sysbase, Velocis, UNIX dbm.

PHP prezintă suport, de asemenea, și pentru alte servicii de rețea folosind protocoale cum ar fi: IMAP, SNMP, NNTP, POP3, HTTP și altele mai puțin importante. Se pot deschide noduri brute de comunicație în rețea care interacționează folosind alte protocoale de comunicație. [14]

II.4.2 Referinte

Sintaxa limbajului

Când PHP începe să interpreteze un fișier, el doar o să afișeze textul pe care îl întâlnește. Așa că dacă avem un fișier cu extensie .html și schimbăm extensia în .php fișierul o să fie corect interpretat în continuare.

Dacă dorim să introducem declarații PHP la un anumit punct din fișier, trebuie să indicăm intrarea în “modul PHP”. Aceasta se face prin mai multe metode:

PHP permite și folosirea unor structuri mai avansate:

Separarea instrucțiunilor se face la fel ca în Perl sau în C, terminând fiecare declarație cu caracterul ;.

Tag-ul de închidere implică de asemenea sfârșitul unei declarații, deci următoarele două expresii sunt echivalente:

Comentariile sunt la fel ca în C și ca în UNIX, folosind secvențele speciale // … sau /* ….. */.

Tipuri

PHP suportă 8 tipuri de bază:

-Patru tipuri scalare:

boolean

integer

floating-point number

string

-Două tipuri compuse:

array

object

-Două tipuri speciale:

resource

null

Tipul boolean. Este cel mai simplu tip variabilă. O expresie booleană exprimă o valoare de adevăr. Poate fi adevărată sau falsă. Pentru a specifica valoare unei variabile booleene se folosește TRUE sau FALSE.

Notă: Tipul boolean a fost introdus în PHP4.

Tipul resource. Tipul resource este o variabilă specială, folosită pentru a referi o altă variabilă resource externă. Variabilele resource sunt create cu funcții speciale.

Notă: Tipul resource a fost introdus în PHP4.

Datorită sistemului de numărare a referințelor introdus de PHP4 cu motorul Zend, se detectează automat când o resursă nu mai este folosită.

Tipul Null . Valoarea specială Null reprezintă o variabilă care nu are nici o valoare.

Notă: Tipul resource a fost introdus în PHP4.

Variabile

Variabilele în PHP sunt reprezentate prin semnul $ urmat de numele variabilei. Numele variabilelor respectă aceleași reguli ca și alte etichete în PHP. Un nume valid de variabilă începe cu o literă sau cu _, urmată de un număr oarecare de litere, cifre sau _.

Variabilelor li se pot atribui valori explicit.

Variabile predefinite. PHP furnizează un număr mare de variabile predefinite oricărui script care rulează la un moment dat. Multe din aceste variabile nu pot fi total documentate deoarece depind de server-ul web pe care rulează, de versiunea și configurările server-ului și de alți factori.

Pentru a putea vedea variabilele predefinite și alte informații utile se poate folosi funcția phpinfo().

Variabilele predefinite pot fi variabile specifice server-ului Apache, variabile de mediu sau variabile PHP.

Variabilele specifice server-ului Apache sunt:

-$GATEWAY_INTERFACE

-$SERVER_NAME

-$SERVER_SOFTWARE

-$SERVER_PROTOCOL

-$REQUEST_METHOD

-$QUERY_STRING

-$DOCUMENT_ROOT

-$HTTP_ACCEPT

-$HTTP_ACCEPT_CHARSET

-$HTTP_ACCEPT_ENCODING

-$HTTP_ACCEPT_LANGUAGE

-$HTTP_CONNECTION

-$HTTP_HOST

-$HTTP_REFERER

-$HTTP_USER_AGENT

-$REMOTE_ADDR

-$REMOTE_PORT

-$SCRIPT_FILENAME

-$SERVER_ADMIN

-$SERVER_PORT

-$SERVER_SIGNATURE

-$PATH_TRANSLATED

-$SCRIPT_NAME

-$REQUEST_URI

Variabilele de mediu sunt importate în namespace-ul global al PHP din mediul în care rulează parserul de PHP. Multe din aceste variabile sunt furnizate de shell-ul sistemului unde rulează PHP.

Variabilele PHP sunt create chiar de PHP. Variabilele $HTTP_*_VARS sunt disponibile doar dacă este activată opțiunea track_vars în fișierul de configurare al PHP.

În continuare vom prezenta lista variabilelor PHP:

-$argv

-$argc

-$PHP_SELF

-$HTTP_COOKIE_VARS

-$HTTP_GET_VARS

-$HTTP_POST_VARS

-$HTTP_POST_FILES

-$HTTP_ENV_VARS

-$HTTP_SERVER_VARS

Variabile variabile . Putem avea nume de variabile variabile, adică un nume de variabilă care poate fi setat și folosit dinamic. O variabilă variabilă poate lua valoarea unei variabile și tratează această valoare ca fiind numele variabilei.

Variabile din afara PHP . Aceste variabile pot proveni din forme HTML (metodele GET și POST), variabile IMAGE SUBMIT, cookie-uri HTTP sau variabile de mediu.

Constante

PHP definește mai multe constante și furnizează mecanisme pentru a defini mai multe în timpul execuției.

Constantele se aseamănă cu variabilele, cu excepția a două fapte și anume: constantele trebuie definite folosind funcția define() și valoarea lor nu mai poate fi modificată.

Constantele definite de PHP sunt:

-__FILE__

-__LINE__

-PHP_VERSION

-PHP_OS

-E_ERROR

-E_WARNING

-E_PARSE

-E_NOTICE

-E_ALL

Expresii

Expresiile sunt cele mai importante construcții ale PHP. În PHP, aproape orice scrii este o expresie. Modul cel mai simplu și cel mai corect de a defini o expresie este “tot ceea ce are o valoare”.

Cele mai primitive forme de expresii sunt variabilele și constantele. Exemple mai complexe de expresii sunt funcțiile.

Operatori

În PHP avem următoarele tipuri de operatori:

-operatori aritmetici

-operatori de atribuire

-operatori unari

-operatori de comparație

-operatori pentru controlul erorilor

-operatori de execuție

-operatori pentru incrementare/decrementare

-operatori logici

-operatori string

Structuri de control

Toate scripturile PHP sunt compuse dintr-o serie de declarații. O declarație poate fi o atribuire, apelul unei funcții, un ciclu, o declarație condițională chiar dacă declarația nu face nimic. Declarațiile se termină de obicei cu ;. În plus, declarațiile pot fi grupate în grupuri de declarații fiind încadrate între acolade. Un grup de declarații este la rândul lui o declarație. Diferitele tipuri de declarații sunt următoarele:

-if

-else

-elseif

-while

-do … while

-for

-foreach

-break

-continue

-switch

-declare

-require()

-include()

-require_once()

-include_once()

Orice cod valid de PHP poate să apare în interiorul declarației unei funcții, chiar dacă reprezintă declarația altei funcții sau clase.

Notă: În PHP3, funcțiile trebuie declarate înainte de a fi apelate. În PHP4 nu există asemenea restricții.

Notă: PHP3 nu suportă funcții cu număr variabil de argumente, decât argumentele cu care a fost declarată. PHP4 acceptă ambele tipuri de funcții.

Informațiile sunt transmise funcțiilor printr-o listă de argumente, care sunt variabile sau constante separate prin virgulă.

PHP suportă transmiterea argumentelor unei funcții prin valoare, prin referință sau prin valori predefinite ale argumentelor.

Prin definiție, argumentele funcțiilor sunt transmise prin valoare. Dacă dorim să transmitem argumentele unei funcții prin referință trebuie ca numele argumentului să fie precedat de &.

Dacă argumentul este transmis prin valoarea, modificarea valorii sale în corpul funcției nu afectează valoarea argumentului în afara funcției. Dacă dorim să modificăm valoarea unui argument trebuie să-l transmitem prin referință.

Adesea avem nevoie de clase cu variabile și funcții similare cu ale altei clase deja existente. În fond, este o idee bună să avem o clasă generică pe care să o folosim în toate proiectele și să o adaptăm specificațiilor proiectului. Ca să putem face acest lucru, clasele trebuie să fie extinse din alte clase. Acesta este conceptul de moștenire întâlnit în Programarea Orientată pe Obiecte. Clasa extinsă sau derivată are toate variabilele și funcțiile clasei de bază și funcțiile pe care le adăugăm în noua definiție. O clasă extinsă este totdeauna dependentă de o singură clasă de bază, ceea ce înseamnă că nu putem avea moștenire multiplă. În PHP pentru derivarea claselor se folosește cuvântul cheie extends.

$ncart = new Named_Cart; // Creează un cart (coș) nou

$ncart->set_owner ("kris"); // Ii da nume cartului respectiv

print $ncart->owner; // Printeaza numele deținătorului cartului

$ncart->add_item ("10", 1); // (moștenește functionalitățiile de la cart)

Constructorii sunt funcții din clasă care sunt apelați automat când creăm o nouă instanță a clasei cu funcția new. O funcție devine constructor în momentul în care același nume ca și clasa.

Pentru a putea referi variabile și funcții din clasa de bază trebuie folosit cuvântul cheie parent, care se referă la numele clasei de bază, același ca cel dat în declarația extends a clasei folosite.

PHP permite și serializarea obiectelor în sesiuni prin funcțiile serialize() și unserialize(). [12]

II.4.3 Functii

Funcții Network

fsockopen – deschide un soclu pentru conexiune Internet sau Unix

gethostbyname – întoarce adresa IP a unui host după nume

gethostbyaddr – întoarce numele unui host după adresa IP

getprotobyname – întoarce numărul protocolului asociat cu un nume

getprotobynumber – întoarce numele protocolului asociat cu un număr

getservbyname – întoarce numărul portului asociat cu un anumit serviciu și protocol

getservbyport – întoarce serviciul asociat unui port și protocol

socket_get_status – întoarce informații despre soclul curent

socket_set_blocking – blochează/deblochează un soclu

socket_set_timeout – stabilește timpul de expirare a soclului

Funcții HTTP

header – trimite un header HTTP

headers_sent – întoarce valoarea TRUE dacă headerele au fost trimise

setcookie – trimite cookie

Funcții String

echo – afișează unul sau mai multe șiruri de caractere

md5 – calculează o parolă după algoritmul md5 pentru un șir de caractere

Funcții Variable

empty – verifică dacă o variabilă este setată

gettype – întoarce tipul unei variabile

intval – întoarce valoarea întreagă a unei variabile

is_array – verifică dacă o variabilă este de tip array

is_bool – verifică dacă o variabilă este booleană

is_double – verifică dacă o variabilă este de tip double

is_int – verifică dacă o variabilă este de tip întreg

is_null – verifică dacă o variabilă este de tip null

is_numeric – verifică dacă o variabilă este numerică

is_object – verifică dacă o variabilă este de tip obiect

is_resource – verifică dacă o variabilă de tip resource

is_scalar – verifică dacă o variabilă scalară

is_string – verifică dacă o variabilă este de tip string

isset – verifică dacă o variabilă este setată

settype – setează tipul unei variabile [13]

II.5 Serverul de baze de date MySQL

II.5.1 Scurta descriere

MySQL este un server de baze de date SQL (Structured Query Language) foarte rapid. O bază de date reprezintă o colecție de date organizate dupa anumite criterii. Pentru a accesa, adaugă sau procesa date continute în baza de date este nevoie de un sistem de administrare a bazelor de date precum MySQL.

MySQL este foarte rapid, dar și usor de învatat. În plus, este și gratuit; pachetul MySQL este disponibil la www.mysql.com sub forma unei arhive zip care trebuie despachetata într-un folder, de regula – C:/MySQL. MySQL a fost dezvoltat pentru a lucra cu baze de date foarte complexe. Conectivitatea, viteza și securitatea il fac foarte potrivit pentru accesarea bazelor de date în Internet.

Server-ul MySQL poate fi gestionat manual cu următoarele linii de comanda:

• mysqld.exe – porneste server-ul

• mysqladmin.exe – opreste server-ul

• mysql.exe – afiseaza consola MySQL

Server-ul MySQL permite lucrul cu mai multi utilizatori, existand în mod predefinit utilizatorul:

user: root

password: "" [11]

II.5.2 Comenzi uzuale MySQL

O bază de date este formată din mai multe tabele, acestea fiind divizate în înregistrări (records), înregistrări ce pot fi considerate liniile tabelului. O linie a unui tabel este impartită în mai multe câmpuri, care pot stoca diferite tipuri de date.

Gestionarea tabelelor pentru a crea o bază de date la consola MySQL.

create database nume_baza; – creeaza baza de date

use nume_baza; – comanda folosirea unei anumite baze de date

drop database nume_baza; – sterge o bază de date

show databases; – afiseaza bazele de date existente pe server

create table nume_tabel; – creeaza un tabel atunci cand baza de date este deschisa

show tables; – afiseaza tabelele din baza de date curenta

drop table nume_tabel; – sterge un tabel din baza de date

desc nume_tabel; – arata informatii despre structura unui tabel

Primary key este o instructiune folosita pentru definirea cheii primare. Aceasta creeaza un index pe baza coloanei al carei nume a fost specificat. Aceata coloana este considerata ca fiind cea mai importanta, des folosita, fiind vazuta drept cheia de sortare a tabelului. Primary key este o coloana de tip AUTO_INCREMENT.

Insert into nume_tabel values ("val_1", "val_2",…..); – adaugă date în tabel

select * from nume_tabel; – afisarea datelor dintr-un tabel specificat [4]

II.6 Limbajul CSS (Cascading Style Sheets)

II.6.1 Introducere

Cascading Style Sheets, sau CSS pe scurt, este un standard folosit in zilelor noastre, ce ofera designerilor/programatorilor un mod eficient de a controla modul de prezentare a paginilor "WEB". In zilele noastre CSS a ajuns sa fie in mod primar, un limbaj folosit exclusiv doar pentru "web design" – insa nu putem da la o parte faptul ca acest limbaj este folosit si in alte medii de programare.

In comparatie cu era anilor 90, cand controlul prezentarii unei pagini se facea prin tag-uri HTML, divizate intre ele in mai multe fisiere, ce confereau o munca enorma in cazul unei actualizari, CSS vine cu un nou standard, si anume ca printr-un singur fisier ( o conventie intre proramatori este sa se foloseasca numele general 'style.css' ) – sa fie controlat intreg aspectul proiectului WEB.CSS nu necesita cunostinte avansate de hardware sau software, ci mai mult cateva cunostinte HTML, pentru a putea sa-l invatam. Citind acest manual, presupunem ca cititorul are deja cunostinte temeinice de HTML si ca intelege ce e acela un SGML ( Standard Generalized Markup Language ).

II.6.2 Scurt istoric

Inainte erei CSS, programatorii erau nevoiti sa controleze aspectul proiectului lor WEB prin tag-uri de font, pentru a stabili culoarea, marimea si familia de font-uri a diferitelor parti ale paginii web.

Desi aceasta metoda este efectiva in controlarea diferitelor parti ale site-ului web, actualizarea codului consuma timp/bani, mareste marimea fisierelor si creste posibilitatea sa se produca greseli in codul vizat.

Prin CSS, am putea spune direct :

Astfel ajungem la un concept vechi in programare si anume "separarea codului de prezentare" – lucru ce l-am realizat aici. Deasupra la toate CSS vine si simplifica munca enorma realizata prin tag-uri <font> – simplifica limbajul in sine, si aduce imbunatatiri in comparatie cu limitele HTML-ului.[19]

II.7 Limbajul Javascript

II.7.1 Ce este limbajul Javascript?

JavaScript (JS) este un limbaj de programare orientat obiect bazat pe conceptul prototipurilor.Este folosit mai ales pentru introducerea unor funcționalități în paginile web, codul Javascript din aceste pagini fiind rulat de către browser. Limbajul este binecunoscut pentru folosirea sa în construirea siturilor web, dar este folosit și pentru acesul la obiecte încastrate (embedded objects) în alte aplicații. A fost dezvoltat inițial de către Brendan Eich de la Netscape Communications Corporation sub numele de Mocha, apoi LiveScript, și denumit în final JavaScript.

În ciuda numelui și a unor similarități în sintaxă, între JavaScript și limbajul Java nu există nicio legătură. Ca și Java, JavaScript are o sintaxă apropiată de cea a limbajului C, dar are mai multe în comun cu limbajul Self decât cu Java.

Până la începutul lui 2005, ultima versiune existentă a fost JavaScript 1.5, care corespunde cu Ediția a 3-a a ECMA-262,ECMAScript, cu alte cuvinte, o ediție standardizată de JavaScript. Versiunile de Mozilla începând cu 1.8 Beta 1 au avut suport pentru E4X, care este o extensie a limbajului care are de a face cu XML, definit în standardul ECMA-357. Versiunea curentă de Mozilla, 1.8.1 (pe care sunt construite Firefox și Thunderbird versiunile 2.0) suportă JavaScript versiunea 1.7.

II.7.2 Utilizare

Cea mai des întâlnită utilizare a JavaScript este în scriptarea paginilor web. Programatorii web pot îngloba în paginile HTML script-uri pentru diverse activități cum ar fi verificarea datelor introduse de utilizatori sau crearea de meniuri și alte efecte animate.

Browserele rețin în memorie o reprezentare a unei pagini web sub forma unui arbore de obiecte și pun la dispoziție aceste obiecte script-urilor JavaScript, care le pot citi și manipula. Arborele de obiecte poartă numele de Document Object Model sau DOM. Există un standard W3C pentru DOM-ul pe care trebuie să îl pună la dispoziție un browser, ceea ce oferă premiza scrierii de script-uri portabile, care să funcționeze pe toate browserele. În practică, însă, standardul W3C pentru DOM este incomplet implementat. Deși tendința browserelor este de a se alinia standardului W3C, unele din acestea încă prezintă incompatibilități majore, cum este cazul Internet Explorer.

O tehnică de construire a paginilor web tot mai întâlnită în ultimul timp este AJAX, abreviere de la „Asynchronous JavaScript and XML”. Această tehnică constă în executarea de cereri HTTP în fundal, fără a reîncărca toată pagina web, și actualizarea numai anumitor porțiuni ale paginii prin manipularea DOM-ului paginii. Tehnica AJAX permite construirea unor interfețe web cu timp de răspuns mic, întrucît operația (costisitoare ca timp) de încărcare a unei pagini HTML complete este în mare parte eliminată.

II.7.3 Elementele de baza ale limbajului

Tipuri de date

Nedefinit

Valoarea de "undefined" este atribuită la toate variabilele neinițializate, și, de asemenea, într-un context boolean, valoarea undefined este considerat o valoare de fals.

Spre deosebire de nedefinit, nul este de multe ori setat pentru a indica faptul că ceva a fost declarat, dar a fost definit pentru a fi gol. Într-un context boolean, valoarea nulă este considerată o valoare de fals în JavaScript.

String -un string (sau șir) în Javascript este o secvență de caractere cuprinsă între ghilimele duble sau single.

Puteți accesa caractere individuale dintr-un șir utilizând charAt metoda (furnizate de String.prototype ). Aceasta este metoda preferată atunci când accesarea de caractere individuale din cadrul unui șir, pentru că, de asemenea, funcționează non-moderne browsere:

În browsere moderne, caractere individuale din cadrul unui șir pot fi accesate (ca siruri de caractere, cu doar un singur caracter), prin notația matrice ca:

Cu toate acestea, siruri de caractere JavaScript sunt imuabile :

Aplicarea operatorul de egalitate ("==="), pentru două șiruri returneaza true daca siruri de caractere au același conținut, ceea ce înseamnă: de aceeași lungime și aceleași cazuri (pentru alfabete). Astfel:

Nu puteți utiliza citate de același tip în interiorul citate cu excepția cazului în care folosiți secvențe escape.

Este posibil de a crea un șir utilizând String constructor:

Aceste obiecte au o metodă valueOf care întoarce șirul de primitiv înfășurat în ele:

Egalitatea de valori între două String obiecte nu se comportă ca și primitive de coarde:

Aplicarea operatorul de egalitate ("==="), pentru două șiruri returneaza true daca siruri de caractere au același conținut, ceea ce înseamnă: de aceeași lungime și aceleași cazuri (pentru alfabete). Astfel:

Nu puteți utiliza citate de același tip în interiorul citate cu excepția cazului în care folosiți secvențe escape.

Este posibil de a crea un șir utilizând String constructor:

Aceste obiecte au o metodă valueOf care întoarce șirul de primitiv înfășurat în ele:

Egalitatea de valori între două String obiecte nu se comportă ca și primitive de coarde:

Boolean

JavaScript oferă un tip de date Boolean cu valorile true și false. Operatorul returnează șirul "boolean" pentru aceste tipuri de primitive.

Atunci când este utilizat într-un context logic, 0 , -0 , null , NaN , undefined , iar șir vid ( "" ) evaluează în false din cauza constrângerii automate.

Când conversia de tip este necesară, JavaScript convertește String, Number, Boolean, sau operanzilor obiect, după cum urmează:

Șir de caractere este convertit la o valoare număr. JavaScript încearcă să transforme literal șir de caractere numeric, la o valoare tip de număr. În primul rând, o valoare de matematică este derivat din literal șir de caractere numeric. Apoi, această valoare este rotunjită la cea mai apropiată valoare tip de număr.

Dacă unul dintre operanzi este un Boolean, operand Boolean este convertit la 1 dacă este true sau la 0, dacă este false .

Dacă un obiect este comparat cu un număr sau un șir de caractere, JavaScript încearcă să se întoarcă valoarea implicită pentru obiect. Un obiect este convertit la un șir de caractere sau o valoare numerică, folosind .valueOf() sau .toString() metode de obiect. Dacă acest lucru nu reușește, o eroare de execuție este generată.

Unii experți folosesc termenii "true" și "false" pentru a descrie modul în care valorile de diferite tipuri, se comportă atunci când a evaluat într-un context logic, în special în ceea ce privește cazurile de margine. Operatorii logici binare a returnat o valoare booleană în primele versiuni de JavaScript, dar acum se vor întoarce unul dintre operanzi loc.

Operandul stâng este returnat în cazul în care acesta poate fi evaluat ca: false , în cazul de asociere ( a && b ) , sau true , în cazul de disjuncției ( a || b ) , în caz contrar dreptul de-operand este returnat.

O expresie poate fi în mod explicit exprimate la un primitiv de booleană: dublarea logic operatorul negație ( !! ) , folosind Boolean() funcția, sau folosind operatorul condițional ( c ? t : f ) .

Array

Un „Array” (sau „tablou”, „matrice”) este un obiect JavaScript proiectat pentru a stoca valori de date indexate de chei întregi.

Matricea, spre deosebire de tipul de obiect de bază, se patentează cu metode si proprietati pentru a ajuta programatorul în sarcini de rutină (de exemplu, join , slice , și push ).

Matricile au o proprietate lenght (sau “lungime”) care este întotdeauna mai mare decât indicele de cel mai mare index utilizat în matrice.

Elemente de matrice pot fi accesate folosind normale de acces obiect de proprietate notație:

Declarația a unui tablou poate folosi fie un tablou literal sau Array constructorului:

Se mai poate utiliza declarația obiect literal:

Se pot utiliza literali declarație obiect și matrice pentru a crea rapid matrice care sunt asociative, multidimensionale, sau ambele. (Tehnic, JavaScript nu acceptă tablouri multidimensionale, dar le poate imita cu tablouri-de-matrice.)

Variabile

Variabilele în standard, JavaScript nu au tip atașat, și orice valoare poate fi stocată în orice variabilă.

Variabilele sunt declarate cu un var declarație, mai multe variabile pot fi declarate la o dată.

Un identificator trebuie să înceapă cu o literă, de subliniere (_), sau semnul dolar ($); caractere ulterioare pot fi, de asemenea, cifre (0-9).

Deoarece JavaScript este case-sensitive, scrisori include caracterele "A" la "Z" (cu majuscule) și caracterele "A" la "Z" (cu litere mici).

Variabilele declarate în afara oricărei funcții sunt globale. În cazul în care o variabilă este declarată într-un domeniu de aplicare mai mare, ea poate fi accesată de către funcțiile apelate de domeniu.

Aici este un exemplu de declarații variabile și valori globale:

Când JavaScript încearcă să rezolve un identificator, se pare, în funcție de domeniul de aplicare locală. Dacă acest identificator nu este găsit, se pare, în funcția de exterior, care a declarat una locală, și așa mai departe de-a lungul lanțului de domeniul de aplicare până când ajunge la domeniul global în cazul în care variabila este globală.

Dacă nu este încă găsit, Javascript va ridica o excepție ReferenceError.

Atunci când atribuirea unui identificator, Javascript face exact același proces pentru a prelua acest identificator, cu excepția faptului că în cazul în care nu se găsește în domeniul global, se va crea "variabila", ca o proprietate a obiectului la nivel global.

Declararea unei variabile (cu cuvântul cheie var), în afara corpului oricărei funcții, va crea, de asemenea, o variabilă nouă la nivel mondial.

Mesaje de eroare

Mesaje de eroare personalizate pot fi create folosind clasa Error:

Imbricate în instrucțiunile condiționate, aceste instanțe pot înlocui blocurile try/catch:

Funcții

Fiecare funcție în Javascript este o instanta a obiectului Function:

Funcția “add” de mai sus poate fi, de asemenea, definită folosind următorul model.

O instanță a unei funcți are proprietăți și metode.

Operatori

Operatorul "+" este supraîncărcat: acesta este folosit pentru concatenarea șirurilor de caractere și pentru operația aritmetică de adunare.

Acest lucru poate cauza probleme atunci când din greșeală se amestecă șiruri de caractere și numere. Problema se poate evita prin conversia unui șir de caractere numeric la un număr.

Operatori aritmetici:

JavaScript acceptă următorii operatori aritmetici binari:

* + Adunare

* – cădere

* * Înmulțirea

* / Împărțirea (returnează o valoare în virgulă mobilă)

* &% Modulo (returnează restul întreg)

JavaScript acceptă următorii operatori aritmetici unari:

* + Conversia unară de la string la număr

* – Negare unară(inversează semnul)

* ++ Increment (poate fi prefix sau postfix)

* – Decrement (poate fi prefix sau postfix)

Atribuirea

+= Adaugă și atribuie

-= Scade și atribuie

*= Înmulțește și atribuie

/= Împarte și atribuie

 %= Modulo și atribuie

Comparație

= Egal

 != Nu este egal

> Mai mare decât

>= Mai mare sau egal cu

< Mai mic decât

<= Mai mic sau egal cu

==== Identice (egale și de același tip)

 !=== Nu sunt identice

Atunci când se compară variabile de tipuri diferite, chiar dacă valorile lor sunt aceleași: [20]

Capitolul III. Studiul de caz al aplicatiei Coafura Canina Malldy

III.1 Enuntul temei si obiectivele propuse

Prin lucrarea de față s-a urmărit studiul, proiectarea și implementarea unui site de coafura canina care are la baza si un magazin virtual.

Unul din obiectivele propuse a fost acela de dezvoltare a unei aplicații de comerț electronic care să permită realizarea operațiunii de vânzare prin intermediul unui magazin virtual pe Internet. Alte obiective propuse :

dezvoltarea unei aplicații ce poate fi accesată de la distanță;

acces pe bază de username și parolă;

asigură securitatea datelor;

Aplicația constă într-un magazin virtual cu două module principale: interfața utillizatorilor, a potențialilor clienți și interfața de administrare a aplicației.

Interfața potențialilor clienți va oferi următoarele facilități :

– listare produse;

– vizualizare shopping cart, posibilitate de modificare număr de produse, ștergere produse din cart;

– înregistrare utilizator nou, form de logare în cont;

– posibilitate de trimitere contact;

Iar interfața de administrare va oferi următoarele facilități:

– pagină de vizualizare/editare produse existente în sistem;

– pagină de adăugare/ștergere produs;

-pagina de vizualizare/editare contact;

-pagina de vizualizare/editare useri;

III.2 Structura lucrarii

Lucrarea de față se împarte în 5 capitole :

Capitolul I. Introducere

Capitolul II . Fundamentare teoretică

Capitolul III .Studiul de caz al aplicatiei Coafura Canina Malldy

Capitolul IV. Realizarea, punerea în funcțiune a aplicației și rezultatele experimentale

Capitolul V . Concluzii

Capitolul I.Introducerea descrie comerțului electronic, direcția în care se îndreaptă Internetul precum și informații referitoare la ce este comerțul electronic. Introducerea mai cuprinde date despre ce este un magazin electronic și care sunt beneficiile acestuia.

Capitolul II.Fundamentare teoretică începe cu prezentarea generală a arhitecturii unui sistem de comerț electronic cu cele 3 componente (subsisteme electronice/informatice) care corespund următoarelor roluri: client, comerciant, sistemul tranzacțional. Urmează informații referitoare la World Wide Web iar apoi s-au prezentat tehnologiile folosite în dezvoltarea aplicației și anume: serverul de web Apache, limbajul PHP,limbajul CSS,limbajul Javascript si serverul de baze de date MySQL.

Capitolul III. Studiul de caz al aplicatiei Coafura Canina Malldy incepe cu doua subcapitole in care se vorbește despre enunțul temei,obiectivele propuse si structura lucrarii.In continuare este prezentata documentatia tehnica a aplicatiei in care sunt cuprinse arhitectura sistemului și arhitectura programului care prezintă instrumentele folosite în dezvoltare precum și modulele aplicației cu schema bloc funcțională a aplicației. Există două module principale : interfața utilizatoriilor și interfața de administrare a aplicației. Urmează date referitoare la detalii de implementare și la arhitectura bazelor de date cu capturi din baza de date.Se mai prezintă pas cu pas utilizarea aplicației, atât din punctul de vedere al administratorului cât și din punctul de vedere al utilizatorului (clientului).

Capitolul IV Realizarea, punerea în funcțiune a aplicației și rezultatele experimentale prezintă câteva date referitoare la problemele întâmpinate în realizarea aplicației, modul cum aceasta a fost realizată precum și rezultatele experimentale

Capitolul V. Concluzii vorbește pe scurt despre ce s-a realizat prin lucrarea de față.

III.3 Documentatia tehnica a aplicatiei

III.3.1 Arhitectura sistemului

Sistemele e-business se bazează pe arhitectura Web, ce conferă acestora o fiabilitate, scalabilitate și flexibilitate ridicate. Arhitectura Web din figură , diferă față de arhitectura multi-strat prin două aspecte:

· aplicația client are o complexitate redusă, este un simplu navigator Web

nivelul regulilor aplicației e-business este bazat pe componente și nu este un singur sistem ce implementează întreaga logică.

Componentele client sunt interfețele grafice utilizator și rulează în navigatoare Web precum Netscape Navigator sau Internet Explorer. Componentele server ce rulează într-un server de aplicații, furnizează logica procesului de business.

Arhitectura sistemelor de comerț electronic

Software-ul pentru e-business include componente pentru efectuarea sigură a plăților cu ajutorul cărților de credit, componente pentru securizarea tranzacțiilor, componente pentru realizarea prezentării.

Principalele caracteristici ale unei aplicații e-business de succes sunt:

· Utilizabilitatea – problemele cu interfața utilizator duc la pierderea clienților;

· Siguranța – controlul accesului, autentificarea și integritatea sunt foarte importante

pentru desfășurarea proceselor de comerț electronic;

· Scalabilitatea – trebuie avut în vedere faptul că succesul va aduce creșterea cererii;

· Fiabilitatea – defectele sunt de neînchipuit pentru un sistem business critic, testarea

aplicațiilor având un rol foarte important;

· Mentenabilitatea – ratele crescute de schimbare sunt fundamentale pentru comerțul

electronic;

· Disponibilitatea – căderea este prea scumpă pentru a fi tolerată.

· Eficiența – neutilizarea optimă a resurselor hardware și software, duce la scăderea

performanțelor și a scalabilității aplicațiilor.

Pentru proiectarea aplicațiilor de comerț electronic se utilizează atât standarde tehnologice (XML, COM+, CORBA, RMI) cât și standarde pentru procese de afaceri (OFX pentru plăți, OBI, ICE pentru schimburile informaționale, SWAP).

Aplicațiile de comerț electronic necesită specialiști pentru administrarea serverului web, a serverul de baze de date și a serverului de plăți electronice.[8]

III.3.2 Arhitectura programului

Instrumente folosite în dezvoltare

Aplicația dezvoltată reprezintă implementarea unei soluții web pentru un magazin virtual ce foloseste comerțul electronic pentru comercializarea produselor sale: în cazul de față fiind vorba de produse pentru ingrijirea animalelor

Aplicația poate rula pe un server de web Apache instalat pe unul din sistemele de operare: Linux, Unix sau Windows . Deasemenea este necesară funcționarea pe serverul de web a unei versiuni mai noi de PHP – utilizat ca modul al serverului Apache și a unei versiuni recente de MySQL ca server de baze de date.

Partea executabilă a aplicatiei este constituita de scripturi PHP ,care sunt rulate pe serverul de web și al caror rezultat este vizualizat de către utilizatorul client pe calculatorul sau ,prin intermediul unui browser local.

Site-ul web a fost dezvoltat folosind următoarele limbaje de programare și aplicații Web:

Pentru partea de programare s-a utilizat: PHP versiunea 5.2 , HTML 5 și JavaScript

Pentru partea de design s-a utilizat: HTML, CSS, Adobe Photoshop 6.0

Pentru partea de baze de date s-a utilizat MySQL

Aplicația constă într-un magazin-online cu două module principale:

– interfața utillizatorilor, a potentialilor clienți :

– Modulul de înregistrare/autentificare a utilizatorilor – asigură securitatea procesului de comercializare a produselor , prin utilizarea autentificării utilizatorilor și a altor mecanisme specifice. Deasemenea pune la dispoziția utilizatorului – care a parcurs procesul de autentificare, o serie de opțiuni și facilități speciale.

– Modulul de interfață al site-ului – conține totalitatea scripturilor/programelor ce permit comunicarea cu utilizatorul client , constituind o interfață prin intermediul căreia utilizatorul poate naviga prin/ vizualiza ierarhia de produse comercializate de către magazinul web.

– Modulul de preluare/prelucrare a comenzilor de la utilizator – are un rol dublu: pe de o parte permite păstrarea opțiunilor de produse pentru care a optat utilizatorul la un moment dat în decursul procesului de cumpărare și în același timp permite preluarea și prelucrarea în condiții de securitate, a comenzii finale de cumpărare lansată de către utilizator.

Vizitatorii site-ului pot vizualiza produsele existente, având posibilitatea de a le adauga în coșul cu cumpărături, numai în momentul apăsării butonului de “Add to Cart” fiind necesară logarea.

– interfața de administrare a aplicației

– Modulul de administrare al site-ului – are un rol crucial în întreținerea site-ului, în a asigura buna functionare a site-ului și fluența și coerența datelor vehiculate în activitatea de comerț electronic desfașurată.

III.3.3 Detalii de implementare

Aplicația a fost dezvoltată , în mai multe etape , și anume:

1. proiectarea structurii și implementarea bazei de date.

2. proiectarea și implementarea modulului de administrare al site-ului , care să gestioneze această bază de date și care să permită – într-un mod facil – adăugarea datelor în cadrul tabelelor bazei de date .

3. introducerea datelor și a imaginilor corespunzatoare acestora în baza de date.

4. proiectarea și implementarea modulului de interfață al site-ului.

5. proiectarea și implementarea modulului de înregistrare-autentificare a utilizatorilor

6. proiectarea și implementarea modulului de preluare și prelucrare a comenzilor de la utilizator.

7. implementarea facilităților puse la dispoziția utilizatorului și integrarea acestora în cadrul modulelor de care aparțin.

8. definitivarea aspectului grafic al site-ului

9. testarea functionalitatii site-ului și a facilitatilor puse la dispozitie în cadrul sau.

De-asemenea s-au folosit și următoarele funcții:

isset() – funcție care verifică dacă a fost setată o valoare a unei variabile;

strlen() – funcție ce returnează lungimea unui șir de caractere;

require() – funcție care include în scriptul curent conținutul unui fișier cu verificarea de a fi introdus o singură dată (spre deosebire de funcția include() – care permite includerea fișierului de mai multe ori) ;

printf() – funcție care afișeaza un șir de caractere formatat;

mysql_query() – trimite o comandă mysql bazei de date active de pe server;

mysql_fetch_array() – returnează o linie din rezultatul comenzii;

mysql_num_rows() – returnează numărul de linii din rezultatul unei cereri mysql;

mysql_connect('localhost', $user, $pass) – deschide o conexiune către un server mysql (numele serverului – ‚localhost’, $user – username-ul si parola – $pass);

mysql_select_db($dbname) – alege o bază de date mysql după conectarea la un server mysql;

session_start() – inițializează o secțiune de date bazată pe ID-ul de sesiune trimis printr-o cerere GET sau POST;

session_destroy() – distruge toate datele asociate cu sesiunea curentă;

print(); – inițializează listarea la imprimantă a unei pagini web;

În continuare se prezintă un exemplu de cod sursă din cadrul aplicației si anume codul sursă de la pagina vizualizare/stergere contact :

III.3.4 Arhitectura bazelor de date

Baza de date folosită este o bază de date relatională de tip MySQL, ea conține următoarele 5 tabele:

admin : tabela ce descrie date despre administrator;

username – username-ul administratorului

password – parola administratorului

– products : tabela ce conține date despre produsele comandate:

id – cheia primară a tabelei – reprezintă un număr unic de identificare al fiecărei înregistrări din coș

porduct_code – un string unic de identificare sesiune curentă de cumpărături

product_name – numele produsului

product_desc – descrierea produsul respectiv

product_img_name – locatia pozei produsului

price – pretul produsului

– contact : tabela unde sunt stocate cererile de contact.

id – cheia primară a tabelei – reprezintă un număr unic de identificare pentru fiecare categorie

nume – numele persoanei

email – e-mailul persoanei

telefon – nr de telefon al persoanei

adresa – adresa persoanei

select – selectarea rasei

mesaje – un scurt mesaj postat de catre persoana

comenzi : tabela ce conține comenzile asupra produselor, userul care le-a făcut precum și produsul

product – cheie straină, către tabela de produse

quantity – numarul de produse comandate

id_ – cheia primară a tabelei – reprezintă un număr unic de identificare pentru fiecare user

username – numele utilizatorului

users

id- cheie primara,id unic de identificare

username – numele utilizatorului.

password – parola utilizatorului.

Email – e-mailul utilizatorului

III.4 Utilizarea aplicatiei

III.4.1 Administrator

Prima fereastră îi cere utilizatorului să se identifice (username și parola)

Codul folosit pentru identificarea utilizatorului:

Meniul principal din partea de administrare are 4 butoane principale în partea stangă a ecranului :

-Shoping Cart

-Contact

-Comenzi

-Users

Listează Shoping Cart

Afiseaza toate produsele introduse de catre administrator dupa codul produsului,numele produsului,descrierea produsului,imaginea produsului,pretul produsului,respectiv exista posibilitatea de a sterge produsele sau de a adauga.

Codul folosit pentru introducerea sau stergerea produselor:

Listează contact

Afiseaza date despre posibilul client dupa numele userului,emailul,telefonul,adresa,rasa,respectiv mesajul trimis de client catre administrator pentru a face o anumita comanda sau cerere

Codul pentru listarea contactelor si stergerea lor:

Listează useri

Listează userii existenți,parola si adresa de Email a acestora,precum și posibilitatea de a șterge userii.

Codul pentru listare,stergere si adaugare utilizatori:

Listează comenzi

Se poate vizualiza numele userului care a facut comanda, codul produsului, cantitatea, precum si stergerea comenzii

Codul folosit pentru listare si stergere a comenzilor:

III.4.2 Utilizator

Meniul principal este compus din 7 butoane, acesta apărând în fiecare pagină accesată :

Butonul de “Acasa” revine întotdeauna la pagina inițială.

Butonul “Avantaje” listează avantajele pe care le aveti la dispozitie

Butonul “Despre noi” listeaza informatii despre proprietarul afacerii

Butonul “Galerie” afiseaza un slideshow cu servicile oferite de proprietar

Butonul “Contact” listeaza un formular de contact prin care posibilul client sa poata lua legatura cu detinatorul magazinului pentru o anumita comanda sau cerere.

Butonul “Shoping Cart” listeaza magazinul online cu produsele puse la dispozitie.Exista beneficiul de a aduga cantitatea pentru un anumit produs precum si posibilitatea de a adauga in cosul de cumparaturi prin apasarea butonului “Add to Cart”

Butonul “Login” afiseaza formular de logare a utilizatorului precum si posibilitatea de a va inregistra

Codul folosit:

Capitolul IV. Realizarea , punerea in functiune a aplicatiei si rezultatele experimentale

În ceea ce privește realizarea programului, acesta a fost implementat cu ajutorul mediilor de programare PHP și HTML. După stabilirea specificațiilor aplicației, s-a implementat fiecare modul de program, pentru fiecare tip de utilizator, respectiv pentru administrator, cât și pentru client, respectându-se cu schema bloc de proiectare a programului regăsită. Mai întâi, s-au implementat modulele de program care reflectă activitatea administratorului. După fiecare pagină implementată, aceasta a fost testată pentru a se studia funcționarea acesteia în raport cu informațiile stocate în baza de date, pentru a se observa dacă salvările, modificările sau ștergerile se derulează corect. Apoi, pentru tipul de utilizator client, s-au realizat modulele de program, care relevă operațiile pe care acesta le poate desfășura în cadrul aplicației, fiind testate pentru diferiți utilizatori, dar și pentru diferite situații ale introducerii datelor, care ar putea genera erori de funcționare, corectitudinea stocării acestora fiind corelată cu cea a informațiilor existente în tabelele bazei de date. Paginile implementate au fost verificate din punctul de vedere al funcționării, în strânsă legătură cu informațiile stocate în baza de date.

Apoi, după ce toate categoriile aplicației au fost implementate, s-au efectuat teste asupra întregului program pentru a se studia evoluția corectă a acestuia. S-a testat fiecare modul de program individual, iar apoi s-au evaluat modulele din ansamblul aplicației. S-au întâmpinat mai multe dificultăți, după testarea aplicației, care au necesitat modificări ale codului programului pentru a se ajunge în final la funcționarea corectă a acestuia.

Punerea in funcțiune :

1. Se instalează serverul de Apache (WAMP), accesând urmatorul link web: http://www.wampserver.com/dl.php (Nu modificați nimic din setările implicite ale procesului de instalare – aplicația trebuie instalată în C:\wamp)

2. Se copiază aplicația în directorul: C:\wamp\www

3. Dupa instalarea wampului se accesează phpMyAdmin și se creează o bază de date “licenta” iar la structură se importează fișierul licenta.mysql

4.Se deschide o nouă fereastră de Internet Explorer și se introduce adresa:

http://www.my-designs.info/licenta (pentru interfata utilizator)

respectiv http://www.my-designs.info/licenta/Style (pentru interfata de administrare a aplicatiei, user: admin , pass: admin)

Capitolul V. Concluzii

În ultimii ani prezența unei firme pe Internet a devenit o chestiune la ordinea zilei, pentru unele din ele fiind chiar o necesitate. Costurile relativ mici (și în continuă scădere) au permis chiar și firmelor mici să aibă site-ul propriu. Dupa realizarea site-ului, în care firma se prezenta și iși descria oferta de produse și servicii, apărea imediat nevoia de a le face publice. Astfel, marketingul a fost rapid extins și adaptat chestiunilor specifice sectorului Internet.

Trebuie menționat că toate acestea au fost posibile datorită extinderii Internetului și în sectorul utilizatorilor (surfer-ilor), fără aceștia site-urile pierzându-și din importanță. În aceste condiții lumea virtuală a Internetului a devenit o realitate ce tinde chiar să se substituie metodelor clasice de a afla informații, de a comunica, de a vinde/cumpăra, etc.

În acest sens, aplicația dezvoltată – constituie o soluție modernă și viabilă pentru implementarea unui magazin virtual ,ce are ca obiectiv comercializarea on-line a produselor sale.

Baza de date proiectată și utilizată este una relațională conținând 5 tabele, cu o structură complexă și între care există legături complexe . S-a acordat o atenție deosebită proiectării bazei de date , astfel incât organizarea informațiilor să fie cât mai logică și accesul la date să se facă într-um mod optim. De asemenea s-a acordat atenție aspectului grafic al aplicației , prin folosirea de cod CSS intercalat în cadrul programelor-script și prin folosirea unor aplicații specifice pentru prelucrareaa grafică a imaginilor utilizate.

Modulul de autentificare al utilizatorilor – oferă prin mecanisme specifice securitatea necesara procesului de comercializare a prodeselor.

Modulul de interfață al aplicației – oferă multiple modalitati de acces la informatiile și datele din cadrul site-ului, punand de asemenea la dispozitia utilizatorului o serie de facilități speciale.

Modulul de comunicare cu utilizatorii – a fost dezvoltat , în ideea de a de a imbunatati complexitatea contactului între comerciant și clienți , de a capta reactiile de feed-back de la utilizatori și nu în ultimul rand pentru a contribui la formarea și dezvoltarea unui cerc de clienți fideli care apreciaza calitatea produselor comercializate.

Modularizarea aplicației – a condus la o structură flexibilă a site-ului , fiind posibil astfel ca și alte componente ale aplicației – secțiuni ale modulelor principale, să fie adăugate ulterior – în procesul de dezvoltare a aplicației.

Tendința continuă de orientare a proceselor de comerț și business către Internet duce la o creștere a dezvoltării și utilizării aplicațiilor de comerț electronic și e-business.

Se constată o scădere a duratei de proiectare și implementare ale aplicațiilor e-business, datorată în principal necesității oportunităților de afaceri de a pătrunde cât mai rapid pe piață. Scăderea duratei de ciclului de dezvoltare are consecințe negative asupra procesului de realizare a aplicațiilor în cazul în care nu se acordă o atenție sporită procesului de asigurare a calității.

Apariția noilor tehnologii conduce la realizarea de aplicații de comerț electronic și e-business de calitate superioară și cu o fiabilitate ridicată.

Dat fiind domeniul atât de vast al comerțului electronic se pot introduce o multitudine de facilități noi aplicației. Necesitatea acestora va apărea în momentul folosirii aplicației în lumea reală a comerțului electronic. Nu este exclus faptul că unele module realizate să nu acopere toate necesitățile unei anume organizații. Ceea ce s-a încercat prin dezvoltarea unei astfel de aplicații a fost stabilirea unui punct de plecare în dezvoltarea cu adevărat a unei aplicații utile unui număr cât mai mare de organizații.

Bibliografie

1. „Proiectarea Sistemelor Informatice” – Metode de realizare

de V. Chichernea, C.Botezatu , Edit. Sylvi, București 2002;

2. „Proiectarea sistemelor informatice” – de V. Stanciu și colectiv,

Edit. DualTech, 2002;

3. „Sisteme informaționale economice” – de Oprea D., Edit. Economică, București 1997;

4. „SQL fără profesor, în 14 zile” – de J. Perkins, B. Morgan, Edit Teora,

București 1998;

5. Dibachi, Rhonda – Testing e-commerce, Software Testing & Quality

Engineering, 1999

6. „Sisteme informatice pentru management” – de Gh. Sabău, V. Avram,

Edit. Oscar print, București 1999;

7. Performance of E-business Applications, Software Testing & Quality Engineering,

2000

8. „Proiectarea sistemelor informatice de gestiune” – de V. Stanciu,

Edit. CISON, București 2000;

Manualul de referință PHP , editia 2002

9. „Aplicatii Web la cheie. Studii de caz implementate in PHP” – de

Buraga Sabin, Editura: Polirom 2003;

10. „PHP pentru World Wide Web in imagini” – de Ullman Larry,

Editura: Teora 2004;

11. „Invață singur PHP, MySQL si Apache” – de Julie C. Meloni,

Editura: Corint 2005

12. „PHP4” – de Bill McCarty, Editura: Teora 2004;

13. „Dezvoltarea aplicațiilor WEB cu PHP si MySQL” – Laura Thomson,

Editura: Teora 2004;

14. ,, http://www.php.net/quickref.php” -20.05.2014

15. ,,http://www.phpromania.net”- 23.04.2014

16. ,,http://www.phpmyadmin.net” -26.04.2014

17. ,,www.mysql.com”- 13.04.2014

18.,,http://ro.wikipedia.org/wiki/Magazin_virtual”-02.04.2014

19.,,http://ro.wikibooks.org/wiki/Cascading_Style_Sheets”-19.05.2014

20.,,http://ro.wikipedia.org/wiki/JavaScript”-28.05.2014

Bibliografie

1. „Proiectarea Sistemelor Informatice” – Metode de realizare

de V. Chichernea, C.Botezatu , Edit. Sylvi, București 2002;

2. „Proiectarea sistemelor informatice” – de V. Stanciu și colectiv,

Edit. DualTech, 2002;

3. „Sisteme informaționale economice” – de Oprea D., Edit. Economică, București 1997;

4. „SQL fără profesor, în 14 zile” – de J. Perkins, B. Morgan, Edit Teora,

București 1998;

5. Dibachi, Rhonda – Testing e-commerce, Software Testing & Quality

Engineering, 1999

6. „Sisteme informatice pentru management” – de Gh. Sabău, V. Avram,

Edit. Oscar print, București 1999;

7. Performance of E-business Applications, Software Testing & Quality Engineering,

2000

8. „Proiectarea sistemelor informatice de gestiune” – de V. Stanciu,

Edit. CISON, București 2000;

Manualul de referință PHP , editia 2002

9. „Aplicatii Web la cheie. Studii de caz implementate in PHP” – de

Buraga Sabin, Editura: Polirom 2003;

10. „PHP pentru World Wide Web in imagini” – de Ullman Larry,

Editura: Teora 2004;

11. „Invață singur PHP, MySQL si Apache” – de Julie C. Meloni,

Editura: Corint 2005

12. „PHP4” – de Bill McCarty, Editura: Teora 2004;

13. „Dezvoltarea aplicațiilor WEB cu PHP si MySQL” – Laura Thomson,

Editura: Teora 2004;

14. ,, http://www.php.net/quickref.php” -20.05.2014

15. ,,http://www.phpromania.net”- 23.04.2014

16. ,,http://www.phpmyadmin.net” -26.04.2014

17. ,,www.mysql.com”- 13.04.2014

18.,,http://ro.wikipedia.org/wiki/Magazin_virtual”-02.04.2014

19.,,http://ro.wikibooks.org/wiki/Cascading_Style_Sheets”-19.05.2014

20.,,http://ro.wikipedia.org/wiki/JavaScript”-28.05.2014

Similar Posts