PHP da seanslar va cookie fayllari

PHP da HTTP so'rov usullari
PHP da fayllar bilan ishlash

So'rov va javob berish faoliyatini to'g'ri bajarish uchun veb-sahifalar ma'lumotlarni vaqtincha yoki doimiy saqlashi kerak. Deyarli har bir veb-ishlab chiqish tilida mijoz va server ma'lumotlarini saqlash uchun seanslar va cookie-fayllar mavjud bo'lib, ular muammosiz va xavfsiz tajribani taqdim etadi. Ushbu maqolada PHP seanslari va cookie fayllari batafsil ko'rib chiqiladi.

PHP-da cookie-fayllar nima?

Cookie-fayllar mijozning kompyuterida saqlanadigan va mumkin bo'lgan kichik fayllardir o'z ichiga oladi foydalanuvchi haqida ma'lumot, so'rov, javob va server. Ular so'rovlar bilan birga serverga yetkaziladi, bu esa serverga foydalanuvchini aniqlash imkonini beradi. Foydalanuvchi o'zini ham yaratishi mumkin cookies va keyinchalik kirish uchun ulardagi ma'lumotlarni saqlang.

PHP da cookie faylini qanday yaratish mumkin

PHP-lar setcookie() usuli yangi cookie yaratish uchun ishlatiladi. PHP da cookie yaratishning umumiy sintaksisi quyidagicha:

setcookie(name, value, expire, path, domain, secure, httponly);

Birinchi parametr, name, yagona talab qilinadi. Qolgan parametrlar ixtiyoriy. Cookie yaratish misoli:

setcookie("my_first_cookie","It contains a string");

PHPda cookie-fayllarni va ularning qiymatini qanday olish mumkin?

PHP cookie-fayllarni $_COOKIE da saqlaydi global o'zgaruvchan. Cookie va uning qiymatini olish uchun global oʻzgaruvchiga cookie nomini berish kifoya. Cookie faylini olish uchun global oʻzgaruvchidan foydalanishga misol:

$_COOKIE["my_first_cookie"] // will return "It contains a string"

PHP-da cookie-fayllarni qanday o'chirish mumkin?

Cookie ma'lum vaqtdan keyin muddati tugashi uchun sozlanishi mumkin, shundan so'ng u darhol yo'q qilinadi. Bir kunlik amal qilish muddatiga ega cookie faylini yaratish misoli vaqt:

setcookie("my_first_cookie","It contains a string", time() + (86400), "/"); // 86400 = 1 day

Cookie-faylning amal qilish muddati soniyalarda bo'lishi kerakligi sababli, biz foydalandik vaqt() joriy vaqtni qaytarish va bir kun ichida soniyalar miqdorini qo'shish usuli (86400).

PHP-da cookie-fayllarni qanday yangilash mumkin?

Xuddi shu setcookie() funksiyasi cookie-fayllarni yangilash uchun ishlatilishi mumkin. Shunchaki chaqiring Funktsiyasi cookie fayli nomi bilan va yangi argumentlarni o'rnating. Cookie-ning amal qilish muddatini ikki kunga o'zgartirish misoli:

setcookie("my_first_cookie","It contains a string", time() + (86400 * 2), "/"); // 86400 = 1 day

Shuni ta'kidlash kerakki, cookie-fayllar avtomatik ravishda URL manzilidir kodlangan so'rovda topshirilganda va qabul qilinganda dekodlanganda. Buni o'chirish uchun setrawcookie() funksiyasidan foydalanish mumkin.

Shuningdek, cookie-faylni uning amal qilish muddatini o‘tgan sanaga yangilash orqali o‘chirishingiz mumkin. Cookie-faylni darhol o'chirishga misol:

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

Brauzeringiz cookie-fayllarga ruxsat beradimi?

Brauzeringizda cookie-fayllar yoqilganligini tekshirishning oddiy usuli:

if(count($_COOKIE) > 0) {
  echo "Cookies are enabled.";
} else {
  echo "Cookies are disabled.";
}

PHP seanslarini tushunish

HTTP protokoli foydalanuvchining veb-sahifadagi holatini saqlamaydi. Suhbatlar bir nechta veb-sahifalar bo'ylab o'zgaruvchiga doimiy kirish va kirish muammosini hal qilish uchun ishlatiladi. Ushbu qismda biz qiymatlarni saqlash va ularga kirish uchun PHP seanslaridan qanday foydalanishni ko'rib chiqamiz.

Sessiyani boshlash

PHP da seansdan foydalaning startseansni boshlash uchun () usuli. Bu usul yangi seansni boshlaydi yoki mavjud seansga qaytadi. Shuni ta'kidlash kerakki, ushbu funktsiya brauzerga biron bir chiqish uzatilishidan oldin chaqirilishi kerak; aks holda xatolik yuzaga keladi. Seansni qanday boshlashga misol:

<?php
session_start();

Ma'lumotlarni saqlash

Seansni boshlaganingizdan so'ng, sessiyadagi ma'lumotlarni saqlash uchun $_SESSION global o'zgaruvchidan foydalanishingiz mumkin. Ma'lumotlar kalit-qiymat juftligi sifatida saqlanadi, bu erda kalit kalit hisoblanadi o'zgaruvchan nomi va qiymati yozilishi kerak bo'lgan ma'lumotlardir. Seansda ma'lumotlarni saqlashga misol:

<?php
session_start();
$_SESSION['username'] = "JohnDoe";

Ma'lumotlarni olish

Seansdan ma'lumotlarni olish uchun siz foydalanishingiz mumkin $_SESSION global o'zgaruvchiga kiring va siz olmoqchi bo'lgan ma'lumotlarning kalitiga kiring. Seansdan ma'lumotlarni olish misoli:

<?php
session_start();
echo $_SESSION['username']; // will output "JohnDoe"

Ma'lumotlarni o'chirish

Seansdan ma'lumotlarni o'chirish uchun siz olib tashlamoqchi bo'lgan ma'lumotlar kalitini o'chirib qo'yishingiz mumkin. Seansdan ma'lumotlarni o'chirishga misol:

<?php
session_start();
unset($_SESSION['username']);

Seansni buzish

Seansni yo'q qilish uchun siz foydalanishingiz mumkin session_destroy() funktsiyasi. Ushbu funktsiya sessiyada saqlangan barcha ma'lumotlarni o'chiradi va sessiyani tugatadi. Seansni yo'q qilishga misol:

<?php
session_start();
session_destroy();

Savol-javob

PHP da cookie-fayllardan maqsad nima?
Cookie-fayllar mijozning kompyuterida saqlanadigan, foydalanuvchi, so'rov, javob va serverga tegishli ma'lumotlarni o'z ichiga olishi mumkin bo'lgan kichik fayllardir. Ular serverga so'rovlar bilan birga yuboriladi, bu esa serverga foydalanuvchini aniqlash imkonini beradi.

PHP da qanday qilib cookie yaratishimiz mumkin?
PHP-lar setcookie() usuli yangi cookie yaratish uchun ishlatiladi. Shuni ta'kidlash kerakki, birinchi parametr, name, faqat talab qilinadi, qolgan parametrlar esa ixtiyoriydir.

PHP da cookie qiymatini qanday olishimiz mumkin?
Cookie fayllari PHPda $_COOKIE global oʻzgaruvchisida saqlanadi. Cookie va uning qiymatini olish uchun siz shunchaki cookie nomini global o'zgaruvchiga o'tkazishingiz mumkin.

PHP-da cookie-faylni qanday o'chirib tashlashimiz mumkin?
Cookie uchun amal qilish muddatini belgilashingiz mumkin, shundan so'ng u avtomatik ravishda o'chiriladi. Shuningdek, cookie-faylni darhol o‘chirish uchun uning amal qilish muddatini o‘tgan sanaga yangilashingiz mumkin.

PHP da seanslarning maqsadi nima?
Seanslar bir nechta veb-sahifalardagi qiymatni davom ettirish va unga kirish uchun ishlatiladi.

Mashqlar:

  1. Seans va cookie o'rtasidagi farq nima?
  2. Seansni qanday boshlaysiz?
  3. Seans o'zgaruvchisini qanday o'rnatasiz?
  4. Seansni qanday yo'q qilish mumkin?
  5. Cookie faylini qanday o'rnatasiz?
  6. Cookie qiymatini qanday qilib olasiz?
  7. Cookie sozlamalarini qanday bekor qilasiz?

Javoblar:

  1. Seans ma'lumotlarni serverda saqlash usuli, cookie esa mijozning kompyuterida ma'lumotlarni saqlash usulidir. Seanslar odatda autentifikatsiya va avtorizatsiya uchun ishlatiladi, cookie-fayllar esa foydalanuvchi imtiyozlari va kuzatish uchun ishlatiladi.
  2. PHP da sessiyani boshlash uchun session_start() funksiyasidan foydalaning.
  3. PHP da sessiya oʻzgaruvchisini oʻrnatish uchun $_SESSION superglobal massividan foydalaning, masalan: $_SESSION['variable_name'] = 'value';
  4. PHP-da sessiyani yo'q qilish uchun session_destroy() funksiyasidan foydalaning.
  5. PHPda cookie faylini o'rnatish uchun setcookie() funksiyasidan foydalaning, masalan: setcookie('cookie_name', 'value', time() + (86400 * 30), '/');
  6. PHPda cookie faylining qiymatini olish uchun $_COOKIE superglobal massividan foydalaning, masalan: echo $_COOKIE['cookie_name'];
  7. PHP-da cookie-faylni o'chirish uchun o'tmishdagi amal qilish muddati bilan setcookie() funksiyasidan foydalaning, masalan: setcookie('cookie_name', ", time() – 3600);
PHP da HTTP so'rov usullari
PHP da fayllar bilan ishlash
en English
X
Top o'ting