|
Saturday, 12 May 2007 |
session varijable i sličnosti i razlike sa cookie-jima.
Pošto do sada nisam nikad pisao tutoriale, nadam se da ćete se moći snaći u ovome. Ovo se odnosi na session varijable i sličnosti i razlike sa cookie-jima. Kratki uvod : U današnje doba sve više ljudi postaje svjesno da cookie-ji i nisu baš toliko bezazleni koliko izgledaju, recimo svima poznati Google vam zaljepi cookie koji ističe 2024 ili čak 2038 godine, dakle kad jednom prihvatite njihov cookie, oni prate vaše aktivnosti na svojim stranicama i skupljaju podatke. Kako onda riješiti problem pohranjivanja nekih podataka kod web aplikacija, a da ne opterećujemo bazu stalnim upisima i provjerama? Kako recimo u web dućanu postići da se prati kaj korisnik stavlja u košaru izabranih proizvoda, a blokirao je cookie, dok mi ne želimo za svaku sitnicu raditi operacije na bazi? Odgovor su sessioni, odnosno session varijabla. Pokušaj objašnjenja : Kad sam pisao prvi kod u kojem se prati korisnika i što stavlja u košaru, raspitao sam se i dobio odgovor da koristim sessione. Super odgovor . Ja ću vam probati objasniti sessione onako kako ih ja vidim, bez previše tehnikalija. Dakle, session možete zamisliti kao cookie koji ostaje na serveru u temp direktoriju. Ukoliko korisnik dozvoljava cookie-je, na računalo se postavlja session cookie koji sadrži samo 32 znamenkasti heksadecimalni broj, no ako ih blokira, session ID se vidi u URLu. Najbitnije stvar kod sessiona je postaviti session PRIJE slanja HTML headera. PHP kod: <?php session_start (); header("Cache-control: private");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> ...... ovo vam mora biti na vrhu SVAKE stranice weba koji koristi sessione (sigurno je sigurno). Upotreba : Sada kada imamo neku ideju šta su sessioni i što moramo napravit da bi radili, idemo ih upotrijebiti. To je najjednostavniji dio. Uzmimo recimo da se korisnik prijavi pomoću formulara, provjerimo njegove podatke u bazi i baza vrato da je to naš registrirani korisnik. Jednostavnim $_SESSION['ime'] = $ime, pridružujemo session varijabli vrijednost i možemo u bilo kojem trenutku, na bilo kojem mjestu u aplikaciji pozvati ima našeg korisnika, bez da opet opterećujemo bazu ili koristimo cookie-je. Dakle -> echo $_SESSION['ime']; i to je to, ime korisnika je prikazano. U sessione možemo pohranjivati razne oblike varijabli. Brojeve, tekst, jednodimenzionalne ili višedimenzionalne nizove (polja) itd... Najbitnije je to što session varijable ostaju na serveru u za to predviđenom direktoriju, imaju vrijeme trajanja (ovisno kako admin servera podesi, uvijek se može provjeriti sa phpinfo () funkcijom) i da smo sigurni da će aplikacija raditi bez obzira dali korisnik prihvaća cookie-je. |