Користење на колачиња (Cookies) во PHP

php cookies
Колачињата претставуваат технологија која e мошне лесна за користење, а може да биде многу корисна. Служи за зачувување на мали количини на податоци, најчесто некои кориснички подесувања или слично. Апликацијата може да зачувува податоци во колачињата, а потоа истите да ги зема и да ги користи. Колачињата се зачувуваат на компјутерот на корисникот и остануваат таму и по исклучувањето на прелистувачот или компјутерот. Максималната големина на колачињата најчесто изнесува 4 Kb. Колачињата често се користат во апликациите за автоматско најавување на корисниците.

Секое колаче се содржи од:

  • име
  • вредност
  • адреса на сајтот кој има пристап до колачето
  • време на трање на колачето

До колачето се пристапува преку неговото име, а пристап има само сајтот од кој што е поставено. По изминувањето на времето на траење, колачето автоматски се брише.

Важно: Пристап до колачињата и нивната содржина има секој корисник на компјутерот, па затоа не треба во нив да се чуваат доверливи информации, пр. неенкриптирани лозинки.

Поставување на колачињата

За поставување на колачиња, во PHP постои функцијата setcookie(). За резултат оваа функција враќа boolean вредност.

if (setcookie()) {
	echo "колачето е поставено.";
} else {
	echo "колачето не е поставено.";
}

Од овој код ќе се добие вредност „колачето не е поставено.“ бидејќи не се внесени основните потребни параметри: име и вредност.

Пример:

setcookie("korisnik", "Dejan");

Со примерот се поставува колаче со име „korisnik“ и вредност „Dejan“. Времето на траење не е дефинирано па колачето ќе постои се додека не заврши сесијата т.е. додека корисникот не го исклучи прелистувачот.

Времето на трање се поставува како трет параметар во функцијата и претставува UNIX timestamp. За негово добивање најчесто се користи функцијата time() и додавање на бројот на секунди.

Пример:

$traenje = time() + (30*24*60*60); // 2 592 000 секунди
setcookie("korisnik", "Dejan", $traenje);

Поставеното колаче сега има време на траење од 30 дена.

Повеќе за setcookie() функцијата можете да прочитате во PHP документацијата.

Читање на колачињата

Читањето на вредноста на колачињата се врши преку веќе дефинираната глобална променлива $_COOKIE.

Пример:

// ќе биде испечатена вредноста на колачето со име „datum“
echo $_COOKIE['datum'];

Пример за користење на колачето кое претходно го дефиниравме:

// Vaseto korisnicko ime e Dejan
echo "Vaseto korisnicko ime e " . $_COOKIE['korisnik'];

Бришење на колачињата

За некое колаче да биде избришано доволно е само за време на траење да му биде поставен некој веќе
изминат датум.

Пример:

setcookie("korisnik", "", time() - 3600);

Главно, тоа се сите работи кои ви се потребни за користење на колачињата. Прашања во коментарите 🙂

gravatar
Автор: Дејан Ангелов
За авторот: Веб развивач заинтересиран околу работа со PHP и JavaScript (jQuery). Wanna learn Ruby.

Comments are closed.