1 / 16

DWA 2

DWA 2. Lesson 07. Sessions/Cookies. Što je SESSION? Zašto session? Osnove korištenja SESSION varijabli Što je COOKIE? Zašto cookie? Osnove korištenja COOKIE-a Sessions = cookies?. 1. Što je SESSION?.

malory
Download Presentation

DWA 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DWA 2 Lesson 07

  2. Sessions/Cookies • Što je SESSION? • Zašto session? • Osnove korištenja SESSION varijabli • Što je COOKIE? • Zašto cookie? • Osnove korištenja COOKIE-a • Sessions = cookies?

  3. 1. Što je SESSION? • Kada klijent prvi puta pristupa PHP web aplikaciji, PHP generira jedinstveni SessionID broj i sprema ga na korisnikovo računalo u obliku cookie-a ili ga dodaje u svaki korisnikov zahtjev • Vezano uz taj ID možemo stvarati sessionvarijable koje se čuvaju na serveru (kao datoteke) • Session varijablu postavljamo sa: • $_SESSION[‘login’] = true; • Session varijable dostupne su u $_SESSION superglobalnom nizu • $logiran = $_SESSION[‘login’]

  4. 2. Zašto session? • HTTP je tzv. stateless protokol, što znači da zahtjevi koje šalje isto računalo/klijent (tj. korisnik) nisu ni na koji način povezani • Kada korisnik dobije SessionID, svi njegovi daljnji HTTP zahtjevi ga sadrže i na taj način možemo pratiti zahtjeve pristigle sa jednog klijenta (korisnika). • Najčešće se koriste za prijavu korisnika u sustav, nakon koje korisnik može pristupati raznim stranicama web aplikacije ako je na početku tih stranica omogućeno (PHP datotekama) praćenje sessiona izrazom: • session_start();

  5. 3. Osnove korištenja sessiona • Da bi na PHP stranici imali mogućnost PRAĆENJA sessiona i PRISTUPA session varijablama moramo staviti: • session_start(); // u prvom retku datoteke • Sada možemo postavljati ili čitati ranije postavljene session varijable • $_SESSION[‘moja’]=‘Igor’; • echo $_SESSION[‘moja’]; • Možemo i uništavati session varijable i kompletni session (logout korisnika) • unset $_SESSION[‘moja’]; • session_destroy();

  6. Vježba • Napraviti jednu PHP stanicu koja će imati mogućnost praćenja sessiona, postavite neku session varijablu kojoj ćete vrijednost generirati uz pomoć PHP funkcije rand() • Neka kolega sa računala do vas pristupi toj skripti • Nakon ispisa generirane vrijednosti uništiti session varijablu i cjelokupni session

  7. Vježba Napraviti stranicu za prijavu korisnika i drugu stranicu kojoj će moći pristupiti samo logirani korisnici

  8. 4. Što je COOKIE? • Mala tekstualna datoteka koju web aplikacija (tj. serverski skriptni jezik) može napraviti na klijentskom računalu • Format: • NAME=VALUE; [Expires=DATE;] [path=PATH;] [domain=DOMAIN_NAME;] [secure] • Cookie ima ime i neku vrijednost, vremensko trajanje, vezan je uz domenu i može biti kriptiran • Potencijalni nedostatak: klijent može onemogućiti postavljanje cookie-a!

  9. 5. Zašto COOKIE? Omogućava nam personalizaciju web aplikacije (amazon.com preporučuje knjige, forum prikazuje sadržaj u odabranom skin-u, portal raspored portletakoji smo odabrali... Sve ove podatke možemo spremati i u bazu, ali ovaj način je višestruko brži i jednostavniji, koristimo prostor i procesorsku snagu klijentskog računala (štedimo resurse svog poslužitelja!)

  10. 6. Osnove korištenja COOKIE-a • bool setcookie (stringname [, stringvalue [, int expire[, stringpath[, stringdomain [, intsecure]]]]] • Primjer: setcookie(‘mycookie’, ‘xyz’, time()+3600); • Svi zahtjevi istog klijenta/korisnika sada će u HTTP zahtjevu za nekom datotekom slati i COOKIE podatke • Pristupamo im: • echo $_COOKIE[‘mycookie’];

  11. 6. Osnove korištenja COOKIE-a • Uništavanje cookiea • Postaviti expire vrijednost u prošlost • setcookie(‘mycookie’, ‘xyz’,time()-3600 );

  12. Vježba Napraviti PHP stranicu koja korisniku koji prvi puta pristupa prikazuje pozdravnu poruku, dok kod svih naknadnih posjeta te poruke ne smije biti Napraviti PHP stranicu koja korisniku nudi odabir boje pozadine stranice. Nakon odabira kod svih sljedećih posjeta stranica mora imati odabranu boju pozadine

  13. 7. Sessions = Cookies? Sessioni i cookiesi su tekstualne datoteke Session varijable se spremaju na poslužitelju Cookies se spremaju na klijentu Cookies imaju mogućnost definiranja vremena trajanja Session uvijek radi, cookies možda ne Cookies rasterećuje rad poslužitelja

  14. Neke postavke vezane uz sessione i cookie u php.ini

  15. Na webu http://php.net/manual/en/session.configuration.php http://en.wikipedia.org/wiki/HTTP_cookie

  16. W&T knjiga Dio 4 – poglavlje 22

More Related