PHP
June 20, 2019

Holat boshqaruvi - SESSION

Holat boshqaruvi veb ilovalarga turli HTTP so'rovlarda o'zining holatini saqlashga yordam berish uchun ishlatiladi. PHP veb ilovalaringizni holatini boshqarish uchun 2 ta bir-biridan farqli metod bilan ta'minlaydi:

  1. Server tomon holat boshqaruvi
    - Session(Sessiya)
  2. Klient tomon holat boshqaruvi
    - Query String(So'rovlar satri)
    - Cookies(Kukilar)

1. Server tomon holat boshqaruvi

Sessiya

Odatiy HTML vebsaytlarda ma'lumotlar bir sahifadan boshqa sahifaga o'tmaydi. Boshqa so'z bilan aytganda, yangi sahifa yuklangandan so'ng eski sahifadagi ma'lumotlar unutiladi. Bu amal bajarilayotganda yetarlicha muammolarga olib kelishi mumkin. Masalan: Onlayn xarid do'koni. Do'konda foydalanuvchi narsalarni ko'radi va o'ziga yoqqanini tanlaydi, keyin uni xarid qilish bo'limiga o'tadi. Mana shunday holda, eski sahifadagi ma'lumotlarni saqlash talab qilinadi va keyingi sahifaga o'tilganda ma'lumotlar saqlanib, foydalanuvchi buyurtmasi aks etadi.

PHP session o'zgaruvchisi foydalanuvchi haqidagi ma'lumotlarni(m.u: foydalanuvchi ismi, tanlangan buyum) keyinchalik ishlatish uchun serverda saqlash muammosini hal qiladi. Session o'zgaruvchisi bitta foydalanuvchi haqidagi ma'lumotni saqlaydi va uni bitta ilova yoki vebsaytning barcha sahifalarida saqlab berishda yordam beradi.

PHP sessiyani boshlash

PHP session o'zgaruvchisi orqali foydalanuvchi haqidagi ma'lumotni saqlashdan avval, sessiyani boshlab olishimiz kerak:

session_start()

Biz bu kod qatorini vebsaytning eng yuqori qismiga yozib qo'yishimiz kerak, aks xolda PHP , HTTP header ni yaratolmaydi.

Sessiyani o'chirish

Agar siz sessiya ma'lumotlarini o'chirishni istasangiz, unset() yoki session_destroy() funksiyalaridan foydalanishingiz mumkin.

unset() funksiyasi belgilangan sessiya o'zgaruvchisidagi sessiya ma'lumotini o'chirish uchun ishlatolamiz:


unset($_SESSION['ism']);

yoki:

session_destroy();

P.S: session_destroy() funksiyasi sizning sessiyangizni yangilaydi ya'ni qayta yaratadi va o'z-o'zidan siz barcha saqlangan sessiya ma'lumotlaringizni yo'qotasiz.