Сесии во PHP

sesii vo php
Покрај колачињата, друг начин за зачувување на мали количини податоци е со користење на сесии. Сесиите најчесто се користат за пренесување на информации од еден дел на сајтот до друг. За разлика од колачињата, содржината на сесиите не се зачувува на компјутерот на корисникот. Трајноста на една сесија стандардно е до исклучувањето на прелистувачот.

Креирање на сесија

Нова сесија се креира со функцијата session_start() која мора да биде повикана прва веднаш по вчитувањето на страната (на прелистувачот не смее да му се испраќа ништо пред таа да биде повикана). Со ова се генерира единствен ID кој најчесто се зачувува во cookie. Подоцна кога на некоја друга страна се отвора сесија, функцијата проверува дали има веќе генериран ID и доколку има ги зема податоците зачувани за тој ID, а во спротивно се креира нова сесија. Податоците во сесијата се внесуваат преку глобалната променлива $_SESSION.

Пример за креирање на сесија:

session_start();

$_SESSION['korisnikID']    = '1';
$_SESSION['korisnikIme']   = 'Dejan';

Читање на податоци од сесија

За во некој друг дел на сајтот да ја искористиме веќе дефинираната сесија потребно е повторно да отвориме сесија која ќе ги добие веќе поставените податоци. Исто како и при внесувањето, за пристап до податоците се користи променливата $_SESSION.

Пример:

session_start();

// ID: 1
еcho 'ID: ' . $_SESSION['korisnikID'];

// Ime: Dejan
echo 'Ime: ' . $_SESSION['korisnikIme'];

Промена на вредност во сесија

За промена на вредноста на некој елемент во сесијата доволно е само да му биде поставена нова вредност.

session_start();
$_SESSION['korisnikID'] = 5;

Бришење на сесија

Податоците во сесијата можат да бидат ресетирани поединечно (само некој елемент од сесијата), сите одеднаш или сесијата целосно да биде избришана.

Пример:

session_start();

// ресетирање на само еден елемент
unset($_SESSION['korisnikEmail']);

// ресетирање на сите елементи
session_unset();

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

Comments are closed.