Završni rad - Izrada web sučelja za prodaju

Embed Size (px)

DESCRIPTION

Live Site: http://slaven-sakacic.from.hr/zavrsni_rad/html/index.php

Citation preview

SVEUILITE JOSIPA JURJA STROSSMAYERA U OSIJEKU ELEKTROTEHNIKI FAKULTET

Struni studij

IZRADA WEB SUELJA ZA PRODAJUZavrni rad

Slaven Sakai

Osijek, 2011.

SADRAJ1. UVOD ................................................................................................................ 1 1.1. Zadatak zavrnog rada..................................................................... 1 2. IZRADA WEB SUELJA ZA PRODAJU..................................................... 2 2.1. HTML ................................................................................................ 2 2.2. PHP .................................................................................................... 3 2.3. MySQL .............................................................................................. 3 2.4. XAMPP............................................................................................... 4 2.5. Apache web posluitelj...................................................................... 5 3. POTREBNI KONCEPTI TOKOM IZRADE RADA ................................... 6 3.1. Web suelje ........................................................................................ 6 3.2. Elektronika trgovina ...................................................................... 7 3.3. Paypal................................................................................................. 7 3.4. Sesija................................................................................................... 7 3.5. Forme.................................................................................................. 8 4. DETALJNIJE OBJANJENJE KODA WEB SUELJA............................. 9 4.1. Header.html i footer.html................................................................. 9 4.2. Register.php..................................................................................... 10 4.3. Index.php i checkout.php............................................................... 12 4.4. Classes.php i config.inc.php........................................................... 14 4.5. End.php............................................................................................ 16 4.6. Logout.php....................................................................................... 19 5. ADMINISTRACIJSKE STRANICE............................................................. 21 5.1. Kolicina.php..................................................................................... 21 5.2. Add_book.php.................................................................................. 23 6. ZAKLJUAK ................................................................................................. 25 LITERATURA ............................................................................................... 26 SAETAK ....................................................................................................... 27 ABSTRACT..................................................................................................... 28 IVOTOPIS .................................................................................................... 29

1. UVODCilj ovog zavrnog rada je koristei programerski jezik PHP ostvariti web suelje na kojem su implementirane komponente virtualne koarice kojom se omoguuje kupovina proizvoda koji su dodani na skladite. Uz teorijska razmatranja o elektronikoj trgovini u treem poglavlju, rad sadri i opis PHP koda vaan za razumijevanje cijelokupnog rada. Izraeno web suelje sadrava karakteistinre elemente za jednu elektroniku trgovinu poput, virtualne koarice, registraciju korisnika, prijavu korisnika i administratorske stranice. Kreirane su forme za unos korisnikovih podataka. Koristei MySQL bazu podataka, podaci o proizvodima, korisnicima, narudbama spremaju se u tablice koje se onda ispisuju zbog mogue evidencije i ispravaka. U etvrtom i petom poglavlju dano je neto detaljnije objanjenje koda koje se tie programerskog rjeenja, zajedno sa slikama i komentarima radi to boljeg razumijevanja.

1.1. Zadatak zavrnog radaIzrada web suelja za prodaju omoguava dodavanje proizvoda, praenje preostale koliine proizvoda na skladitu i online prodaju istih. Kupci se mogu prijaviti na stranicu i dodavati proizvode u koaricu, odabrati naine plaanja i preuzimanja proizvoda.

1

2. IZRADA WEB SUELJA ZA PRODAJU 2.1. HTMLHTML je kratica za Hypertext Markup Language, on je opisni jezik sastavljen od opisnih tagova koji se koriste za interpretaciju Internet stranica. HTML je zamiljen kao jednostavan oblik formatiranja tekstualnih dokumenata. Jezik se razvio od sloenijeg jezika, protokola poznat kao SGML. SGML je razvijen kako bi se standardiziralo kodiranje raunalnih dokumenata za Internet. Koristi se za opisivanje i definiranje drugih programerskih jezika. Unutar HTML teksta koji elimo oblikovati okruujemo tekst sa tagovima. Svaki tag ima poetni i krajnji tag, sve izmeu zagrada su kljune rijei koji oznaavaju vrstu taga. Poetni tag govori Internet pregledniku gdje element poinje, dok zavrni tag govori gdje zavrava. Najei tagovi su paragrafi, naslovi, tablice i liste. Mnogi tagovi zahtijevaju pod tagove za rad. Kao primjer tag sam po sebi samo oznaava poziciju u dokumentu gdje e se tablica pojaviti. Nekolicina pod tagova za retke i za elije/stupce su potrebni izmeu poetka i kraja taga. Primjer 1. Struktura tablice u html jeziku elija 1 elija 2 Osnove HTML-a elija 3 elija 4 U nekim tagovima se moe dodati dodatna informacija. Ova dodatna informacija je zvana atribut. Atributi se unose u poetni tag i slue da detaljnije opiu dani tag. Atributi nam dozvoljavaju da uz pomo jednog elementa sadraj opiemo na razliite naine, ovisno o potrebi. Na primjer, ako elimo promijeniti boju pozadine u utu tada emo unutar body taga dodati kod u primjeru 2.

2

Primjer 2. Promjena boje pozadine u tagu body pomou atributa Jednostruki tagovi su elementi kojima se mogu ubaciti objekti u HTML dokumente. Koriste se najee kod ubacivanja slika i jednostrukih proreda. Primjer 3. Jednostruki tag za ubacivanje slike

2.2. PHPPHP je programski jezik interpreterskog tipa iroko rasprostranjen open source skriptni jezik, namijenjen izradi softverskih aplikacija koje se izvravaju na Windowsu ili na UNIX-ovim serverima (npr. Linux). PHP je nastao 1994. godine od strane Rasmusa Lerdorfa, a inae je skraenica od "Personal Home Page Tools". Podrava proceduralno i objektno orijentirano programiranje. Najee se koristi kao razvojna platforma za interaktivne dinamike Internet stranice. Jedan od razloga vrlo dobre prihvaenosti programskog jezika PHP je i vrlo slina sintaksa programskom jeziku C. Programe pisane u programskom jeziku PHP nije potrebno prevoditi u izvrni oblik (eng. Compile) ve se oni izvode prilikom pokretanja u interpreteru. Programi se piu kao dio HTML stranice. Sam program se nalazi unutar HTML oznake koji poinje s . Sve unutar ove oznake se smatra PHP programom i ako je na posluitelju instaliran i ispravno podeen PHP interpreter, a datoteka zavrava s .php tada e se taj dio programa automatski izvriti. Prednost PHP-a pred drugim web skriptnim tehnologijama je njegov rad sa bazom podataka. Podrava sve popularnije baze podataka kao to su PostgreSQL, dBase, Oracle, ODBC,a najee MySQL baza podataka. Danas se PHP koristi na neto manje od dvadeset milijuna razliitih web stranica prema istraivanju tvrtke Netcraft. Imena varijabli poinju s dolarom ($) i nije ih potrebno unaprijed deklarirati.

2.3. MySQLMySQL je sustav za upravljanje SQL relacijskim bazama podataka. SQL dio u MySQL znai "Structured Query Language" (strukturni jezik za pretraivanje) najei standardiziran jezik za pristupanje bazama podataka. Relacijska baza podataka je baza podataka koja podatke radije sprema u odvojene tablice nego sve u jedno. Ovo daje brzinu i fleksibilnost bazama podataka. Tablice su povezane definiranim relacijama to omoguuje kombiniranje podataka iz nekoliko tablica u sluaju da postoji zahtjev za to. Tablice se sastoje od kolona i redova. Kolone se3

nazivaju jo i poljima ili atributima, a slue za skladitenje pojedinih podataka o odreenom entitetu, redovi se nazivaju jo zapisima ili slogovima i sadre sve podatke jednog entiteta. MySQL ima veliku prednost zbog toga to postoje verzije za sve operacijske sustave i zbog toga to se izdaje pod GPL (GNU General Public License) licencom, to znai besplatno za kunu upotrebu. Vrlo je brz, pouzdan i lagan za koritenje. Vrlo jednostavno se moe konfigurirati pomou phpMyAdmin web suelja u kojem nije potrebno znanje SQL naredbi i kojem se moe pristupiti preko mree, obino nakon unosa korisnikog imena i lozinke. MySQL je originalno razvijan za manipulaciju vrlo velikih baza podataka, mnogo bre od postojeih rjeenja i uspjeno se koristi u visoko zahtjevnim produktivnim okruenjima ve godinama. Pristupanost, brzina i sigurnost ine MySQL vrlo pogodnim za pristupanje bazama podataka na Internetu, takoer dolazi sa nizom raznih programa i modulima za rad sa drugim jezicima poput PERL-a. Spajanje na MySQL server se moe napraviti unutar PHP skripte. Primjer 4. Spajanje na bazu podataka pomoi MySQLi proirenja $dbc = mysqli_connect ('localhost', 'mysql_korisnik', 'mysql_lozinka'); $z = "SELECT * FROM korisnici WHERE id = 5; $w = mysqli_query($dbc, $z); Objanjenje: Mysqli_connect() funkcija otvara konekciju prema serveru. Unesena je putanja do servera, ime na serveru i lozinka. U varijabli $z je spremljen dani upita, u ovom primjeru traimo sve informacije o korisniku u tablici korisnici gdje je identifikacijski broj(id) jednak 5. Zadnja funkcija izvrava na upit MySQL bazi podataka.

2.4. XAMPPXAMPP je programerski paket koji slui za imitiranje servera na lokalnom raunalu (za podrku PHP programerskom jeziku). Paket sadri Apache 2, PHP 4 i 5, MySQL, phpMyAdmin, MercuryMail i instalira ih sve zajedno sa konfiguracijskim modulima i postavkama. Local host je naziv za raunalo na kojem simuliramo server, a IP adresa je 127.0.0.1 koja se ne koristi za komunikaciju u mrei ve slui kao IP adresa za dijagnostiku, a spada u A klasu raspona IP adresa.

4

2.5. Apache web posluiteljOsnovna namjena web posluitelja jest posluivanje statikih i dinamikih Web stranica. Apache je open source web posluitelj koji radi na Linux, Windows i Mac operativnom sustavu. Apache je jedan od najkvalitetnijih i najrairenijih web posluitelja na svijetu, on kao takav predstavlja logian izbor pri odabiru web posluitelja. Konfiguracija Apache posluitelja nalazi se u direktoriju /etc/apache. Datoteka je httpd.conf. Sadraj httpd.conf konfiguracijske datoteke kljuan je element kojim se definira ponaanje instaliranog Apache web posluitelja. U novije vrijeme Apache se zamjenjuje sa Apache 2 ija konfiguracija je malo drugaija.

5

3. POTREBNI KONCEPTI TOKOM IZRADE RADA 3.1. Web sueljeSuelje je mjesto sueljavanja dodira s alatom, u ovom sluaju web stranicom. Suelje je onaj dio web stranice koji se vidi i koju se moe virtualno dodirnuti. To su linkovi na koje se moe kliknuti koji vode do neke druge stranice, polja u koja moemo upisati odreene podatke ili neto odabrati i potvrditi. Web suelja moraju biti usmjerena na korisnika. Zadatak dizajniranja web suelja je smanjenje sloenosti koritenja tog suelja. Ukoliko je dizajn suelja uspjeno ostvaren posjetitelji e odmah moi raspoznati navigaciju koja ih vodi dalje kroz stranicu. Dizajniranje web stranice izvodi se u stilskom jeziku CSS (Cascading Style Sheets). CSS jezik slui za ureivanje izgleda HTML elemenata. CSS kod se integrira sa HTML na vie naina. U ovom radu eksterna skripta styles.css uvedena je u kod pomou jednostrukog taga sljedeom linijom koda: Primjer 5. Unoenje eksterne skripte u kod Primjer 6. CSS kod za stilsko dizajniranje tijela html dokumenta body { background:#DBE3EE url('../images/body-bg.jpg') repeat-x scroll top left; margin:0 auto; padding:0; font-family:Arial, Helvetica, sans-serif; } Objanjenje: Body je rije koja oznaava tag koji se formatira. Slijedi vitiasta zagrada iza koje poinjemo sa atributima. Atributi logino objanjavaju o kakvom se formatiranju radi. Iza atributa dolazi dvotoka, a poslije nje piemo vrijednost. Na kraju dolazi toka zarez to znai da smo gotovi sa ovim atributom. Atribut background-color slui za promjenu boje pozadine, font-family za promjenu fonta (Verdana, Arial, Times New Roman), padding je razmak od ruba sadraja do okvira, a margin oznaava razmak meu elementima.

6

3.2. Elektronika trgovinaElektronika trgovina danas je jedan od najsuvremenijih naina obavljanja poslovnih aktivnosti suvremenog svijeta. Trgovina putem Interneta je najprofitabilniji oblik trgovine. Internetska trgovina nema radno vrijeme, kupnja je mogua 24 sata dnevno, a proizvod je dostupan i onim najudaljenijim internetskim korisnicima. Ne plaa se zakup poslovnog prostora zato to je umjesto trgovine potreban samo jedan internetski site. Za bavljenje elektronikom trgovinom, treba posebnu panju obratiti na sljedee pojmove: - automatizacija - postie se robusnim, relativno kompliciranim i opsenim web aplikacijama. - sigurnost - postie se primjenom SSL (secure socket layer) certifikata i raznih drugih enkripcijskih algoritama (npr. hash funkcije). - stabilnost - postie se implementacijom web stranice na domaim visokokvalitetnim serverskim rjeenjima.

3.3. PayPalPayPal je najpopularnija alternativa za plaanje kreditnim karticama na svijetu. To je servis koji nudi elektrini novac, odnosno pravu online gotovinu sa kojom se u virtualnom svijetu moe raditi isto to s fizikim novcem. Mehanizam koji koristi PayPal je prilino jednostavan. Novi korisnici moraju da ostave broj svoje kreditne kartice ili broj tekueg rauna, koji se verificira jednom nominalnom transakcijom. Poslije toga novane transakcije se obavljaju tako to kupac alje e-mail uplatu direktno prodavau. Ta uplata se odmah skida sa rauna kupca i uplauje na raun koji je prodava otvorio kod PayPala. Novac deponiran kod PayPala moe se podii u vidu eka koji se moe poslati potom ili elektronski prebaciti na tekui raun. PayPal zarauje tako to prodavaima naplauju svoju uslugu.

3.4. SesijaSesija je mehanizam ugraen u PHP jezik kojim se omoguava nain da jednostavno ouvamo odreene podatke korisnika koji posjeuje web stranicu tokom naknadnih pristupa. Dodjeljujemo jedinstveni id, tako zvani session_id. Pohranjen je na korisnikovom raunalu kao cookie ili je propagiran preko URL-a. Primjer 7. Stvaranje sesije i ispis iste

7

Sesijski identifikacijski id je : Objanjenje: Stvaramo sesiju za jedinstvenog korisnika i ispisujemo taj 26 znamenkasti identifikacijski id pomou echo session_id().

3.5. FormeForme nam slue za prikupljanje podataka ili informacija o posjetitelju stranice, a koji se onda mogu slati na daljnju obradu nekoj skripti, pohranjivati u bazu podataka ili slati na e-mail adresu. Postoje dvije osnovne metode prosljeivanja podataka u formi, a to su POST i GET. GET metoda je prikladna za slanje manje koliine podataka koji ne zahtijevaju nikakvu tajnost. To proizlazi iz naina rada preglednika kad se podaci tako alju, naime svi podaci su vidljivi u adresnoj traci preglednika. Moe se slati i vie od dva podatka. POST metoda prikladnija je za slanje vee koliine podataka ili podataka koji zahtijevaju tajnost. Podaci nisu vidljivi u adresnoj traci preglednika. Sama POST metoda ako se koristi na ovakav nain ne ukljuuje nikakvu zatitu podataka prilikom slanja, zatita se moe ostvariti npr. koritenjem sigurnih protokola (https). Primjer 8. Forma za unos imena i lozinke metodom post Ime:
Lozinka:
Objanjenje: Action je datoteka kojoj se alju podatci. Parametar action moe biti prazan, tada se podatci alju istoj datoteci u kojoj je forma definirana. Parametar method je postavljen na post nain prosljeivanja koji se nakon unosa imena i lozinke alje parametrom action na adresu skripta.php

8

4. DETALJNIJE OBJANJENJE KODA WEB SUELJA 4.1. Header.html i footer.htmlKada imamo neki kod koji moramo ponoviti kroz vie skripta na web stranici, podijelimo taj kod u zasebnu skriptu koju onda moemo pomou PHP funkcije include() ukljuit u skriptu tamo gdje je to potrebno. U ovom radu definirani su glavni izbornik i desni izbornik sa podnojem koji su ponovljeni kroz itavu stranicu. Skripte su zvane header.html i footer.html, to su standardni nazivi za ove skripte. header.html Objanjenje: Ovim kodom stvaramo glavni izbornik, tako da u nizu varijabli $pages definiramo stranice koje se tada dinamiki za svaku vrijednost ispisuju. Basename() funkcija definira trenutanu stranicu na kojoj se nalazimo koju oznaujemo kao trenutno otvorenu stranicu. footer.html Objanjenje: Ovim kodom stvaramo desni izbornik. U sluaju da je prijavljen registrirani korisnik kojeg potvrujemo prvom if(isset($_SESSION['user_id'])) funkcijom ispisujemo korisnikov izbornik. Drugom if(isset($_SESSION['user_admin'])) funkcijom gledamo jer registrirani korisnik ima ovlasti administratora, tada moe dodati knjige na skladite ili promijeniti koliinu knjige na skladitu. Ako korisnik nije registriran zahtijevamo skriptu login_form.inc.php da se korisnik prijavi.

4.2. Register.phpIznad navedeni dokument sadri itav kod za registriranje korisnika. Kombinacijom HTML i PHP-a stvaramo formu koja nakon ispunjavanja spaja nas na MySQL bazu podataka. Provjeravamo jer korisnik ve registriran, ako nije ponavljamo obrazac, inae unosimo vrijednosti u tablicu users.10

Slika 4.2.1. Registracija korisnika register.php if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { $e = mysqli_real_escape_string ($dbc, $_POST['email']); } else { $reg_errors['email'] = 'Molim unesite valjanu email adresu!'; }

if (preg_match ('/^(\w*(?=\w*\d)(?=\w*[a-z])(?=\w*[A-Z])\w*){6,20}$/', $_POST['pass1']) ) { if ($_POST['pass1'] == $_POST['pass2']) { $p = mysqli_real_escape_string ($dbc, $_POST['pass1']); } else { $reg_errors['pass2'] = 'Vasa zaporka nije jednaka prihvaenoj zaporci!'; } Objanjenje:11

U prvoj if() petlji potvrujemo ispravnost elektrine pote koja se mora pridravati prilino stroge sintakse da ju potvrdimo. Najjednostavniji i najsigurniji nain potvrde ispravne elektrine pote je koritenje filter_var() funkcije. Prvi argument je varijabla koja e biti ispitivana i drugi argument je filter kojim potvrujemo ispravnost elektrine pote. Unutar druge if() petlje potvrujemo vrijednost lozinke da je ispravna po uzorku danom regularnim izrazom u funkciji preg_match(). Uzorak izgleda neraspoznatljiv usporedbi s ostalim PHP jezikom, ali kada se naue regularni izrazi postaje razumljivo jer prati jednostavan slijed pravila. Kao primjer [a-z] nam govori da moemo unijet sva mala slova. Potpuni uzorak nam govori da moemo unijet 6 do 20 karaktera, sa barem jednim malim slovom, jednim velikim slovom i jednim brojem. Provjeravamo jo da je ponovno unesena lozinka ista kao poetna, ako nije ispisujemo pogreku.

4.3. Index.php i checkout.phpDane stranice prikazuju katalog proizvoda (knjige na skladitu) koje se mogu dodati u koaricu i mogue je pregledati koaricu koju korisnik onda moe aurirati ili moe ukloniti proizvod iz svoje koarice jednostavnim unosom eljene koliine koju eli ukloniti u dano polje.

Slika 4.3.1. Katalog proizvoda12

index.php echo ' '; Objanjenje: Integriran je PayPal gumb koji je izraen na testnoj stranici PayPala tako to su unijete zadane vrijednosti proizvoda u formular, ime je generiran PayPal kod u PHP jeziku koji se implementira u web stranicu. Nakon pritiska na PayPal gumb voeni smo do stranice gdje imamo mogunost kupiti proizvod preko PayPal servisa.

4.3.2. Korisnikova koarica checkout.php if (isset($_SESSION['user_id'])) { . . .13

// Kod koji samo prijavljeni korisnik vidi . . . } elseif (!isset($_SESSION['user_id'])) { echo 'Hvala vam na vaem interesu za ovaj sadraj, ali morate biti prijavljeni kao registrirani korisnik da biste mogli nastaviti.'; } Objanjenje: Ovaj kod se koristi tamo gdje samo registrirani korisnik ima ovlasti tj. sve pod if() petljom registrirani korisnik kojemu je globalna varijabla $_SESSION['user_id'] postavljena moe vidjeti, inae neregistrirani i ne prijavljeni korisnici vide odlomak pogreke.

4.4. Classes.php i config.inc.phpclasses.php Function messages($number) { $msg = array(); . . . $msg[11] = "Knjiga je dodana u vau koaricu."; $msg[12] = "Auriran je narudbeni niz u vasoj koarici."; $msg[13] = "Ne moe se dodat/aurirat vrijednost."; $msg[14] = "Dodajte neku knjgu u vau koaricu..."; $msg[15] = "Uklonjen je narudbeni niz iz vae koarice."; . . . return $msg[$number]; } Objanjenje: Ovaj dio koda pokazuje funkciju koja vraa zadani niz karaktera. Varijablom $number prilaemo koji niz traimo koji se onda vraa na nain $msg[$number].14

classes.php function insert_row($prod_id, $prod_name, $quantity, $price) { $sql = sprintf("INSERT INTO %s (order_id, product_id, product_name, price, quantity) VALUES (%d, '%s', '%s', %f, %d)", ORDER_ROWS, $_SESSION['order_id'], $prod_id, $prod_name, $price, $quantity); if (mysql_query($sql)) { $this->error = $this->messages(11); } else { $this->error = $this->messages(1); } } Objanjenje: Insert_row() funkcija prima etiri argumenta o proizvodu koje onda unosimo uz narudbeni id u tablicu rows. Ako su vrijednosti uspjeno unesene u tablicu, ispisuje se poruka uspjenosti $this>$messages(11). U sluaju da unos nije bio uspjean ispisuje se poruka pogreke $this>$messages(1).

$msg[1] = "Nepoznati error u bazi podataka."; config.inc.php function redirect_invalid_user($check = 'user_id', $destination = 'index.php', $protocol = 'http://') { if (!isset($_SESSION[$check])) { $url = $protocol . BASE_URL . $destination; header("Location: $url"); exit(); } } Objanjenje: Svaka stranica koja zahtijeva autorizaciju korisnika poziva funkciju redirect_invalid_user(), tamo gdje neregistrirani korisnik je pogrekom doveden na stranicu ili gdje nema dovoljno privilegija. Funkcija prima tri argumenta, koji ne moraju biti predani jer imaju svoju standardnu

15

vrijednost. Ako $_SESSION['user_id'] nije postavljen, neregistrirani korisnik je poslan na poetnu stranicu pomou header() funkcije i definirane konstante BASE_URL. add_book.php redirect_invalid_user('user_admin'); Objanjenje: Primjer provjere dali korisnik ima administracijska prava.

4.5. End.phpNa kraju od korisnika traimo da unese informacije o nainu dostave i nainu plaanja. Korisnik unosi jednu od dviju mogunosti dostave proizvoda. Osobno preuzimanje robe, dostava potom ili dostava vozilom.

4.5.1.Nain dostave proizvoda Korisnik ima mogunost platiti proizvod putem interneta ili prilikom preuzimanja proizvoda. Za plaanje putem interneta potrebni su podaci o kreditnoj kartici korisnika, koje spremamo u MySQL tablicu payment. Za plaanje prilikom preuzimanja proizvoda potrebni su podaci o nainu plaanja, odnosno gotovinom, debitnom karticom ili kreditnom karticom. Takoer postoji opcija plaanja kupljenog proizvoda otplatom na 2 do 6 rata.

16

4.5.2. Plaanje putem interneta

4.5.3. Ispis narudbe

17

end.php Serijski broj Naslov Knjige Koliina Cijena Iznos Objanjenje: Stvaramo tablicu korisnikove narudbe koju korisnik moe ispisati u sluaju reklamacije. For each petljom ispisujemo korisnikovu kupovinu. end.php Objanjenje: Upitom na bazu podataka vraamo sve korisnikove informacije. Na kraju potrebno je samo ispisati korisnikove informacije koje vraamo iz baze podataka. Imamo osnovne informacije korisnika, nain dostave, vrijeme dostave i nain plaanja koje prilaemo korisniku u sluaju moguih pogreki koje se naknadno isprave. U ovom koraku korisnikova narudba je procesirana i brie se iz sesije, tako da se novom kupovinom od istog korisnika stvara nova koarica, ali sa istom $_SESSION['order_id'] globalnom varijablom koja se propagira kroz cijelo web suelje za prodaju.

4.6. Logout.phpZa prijavu na web suelje potrebno je unijet elektroniku potu i zaporku, ako su vrijednosti pronaene u tablici users, prijava je izvrena.

4.6.1. Prijava korisnika Korisnik nakon zavretka kupovine moe nastaviti kupovati ili se odjaviti sa sustava.

logout.php