PHP cookie-fayllar


ULASHISH

Cookie nima?

Cookie - bu server foydalanuvchining veb-brauzerida saqlaydigan kichik matnli fayl. Keyin cookie har bir HTTP so‘rovi bilan birga serverga yuboriladi.

Cookie fayllari keyinchalik olinishi mumkin bo‘lgan ma’lumotlarni saqlash uchun ideal. Mana bir nechta misollar:

  • Foydalanuvchi nomi
  • Kirish holatini saqlang
  • Savatcha tarkibi
  • Til afzalliklari
  • Foydalanuvchi faoliyatini kuzatish

PHP yordamida cookie-fayllarni yarating

Cookie setcookie() funksiyasi bilan yaratiladi.

Sintaksis

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

Faqat nom parametri talab qilinadi. Boshqa barcha parametrlar ixtiyoriy.

  • ism - Majburiy. Cookie nomini belgilaydi
  • qiymat - ixtiyoriy. Cookie qiymatini belgilaydi
  • muddati tugaydi - ixtiyoriy. Cookie muddati tugashini belgilaydi
  • yo‘l - ixtiyoriy. Cookie faylining server yo‘lini belgilaydi
  • domen - Majburiy emas. Cookie faylining domen nomini belgilaydi
  • xavfsiz - ixtiyoriy. Cookie faqat xavfsiz HTTPS ulanishi orqali uzatilishi kerakmi yoki yo‘qligini belgilaydi
  • httponly - Majburiy emas. Agar TRUE qiymati o‘rnatilgan bo‘lsa, cookie fayliga faqat HTTP protokoli orqali kirish mumkin bo‘ladi
Eslatma: setcookie() funksiyasi tegidan oldin paydo bo‘lishi kerak, chunki cookie fayllari HTTP sarlavhasining bir qismidir.

Cookie qiymatini olish uchun superglobal o‘zgaruvchidan foydalaning $_COOKIE.


PHP Cookie yaratish va olish

Quyidagi misol "John Doe" qiymati bilan "foydalanuvchi nomi" nomli cookie-faylni yaratadi.

Yaroqlilik muddatini 30 kunga (86400 = 1 kun) belgilab qo‘ydik.

Biz yo‘lni "/" ga o‘rnatdik, ya’ni cookie butun veb-saytda mavjud (aks holda, o‘zingiz yoqtirgan katalogni tanlang).

"Foydalanuvchi nomi" cookie-faylining qiymatini olish uchun $_COOKIE superglobal o‘zgaruvchisidan foydalaning.

Shuningdek, biz cookie fayliga kirishdan oldin uning mavjudligini tekshirish uchun isset() funksiyasidan foydalanamiz:

Misol

<?php $cookie_name = "username"; $cookie_value = "John Doe"; setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day ?> <html> <body> <?php if(isset($_COOKIE[$cookie_name])) {   echo "Cookie '" . $cookie_name . "' is set!<br>";   echo "Value is: " . $_COOKIE[$cookie_name]; } else {   echo "Cookie named '" . $cookie_name . "' is not set!"; } ?> </body> </html>
Eslatma: setcookie() funksiyasi tegidan oldin paydo bo‘lishi kerak.

Eslatma: Cookie-faylning qiymati cookie yuborilganda avtomatik ravishda URL kodlanadi va qabul qilinganda avtomatik ravishda dekodlanadi (URL kodlashni oldini olish uchun setrawcookie() dan foydalaning).



Cookie qiymatini o‘zgartirish

Cookie-faylni o‘zgartirish uchun setcookie() funksiyasidan foydalanib cookie-faylni o‘rnating (qayta):

Misol

<?php $cookie_name = "username"; $cookie_value = "Alex Porter"; setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); ?> <html> <body> <?php if(isset($_COOKIE[$cookie_name])) {   echo "Cookie '" . $cookie_name . "' is set!<br>";   echo "Value is: " . $_COOKIE[$cookie_name]; } else {   echo "Cookie named '" . $cookie_name . "' is not set!"; } ?> </body> </html>

Cookie faylini o‘chirish

Cookie faylini o‘chirish uchun o‘tmishda amal qilish muddati tugagan setcookie() funksiyasidan foydalaning:

Misol

<?php // set the expiration date to one hour ago setcookie("username", "", time() - 3600); ?> <html> <body> <?php echo "Cookie 'username' is deleted."; ?> </body> </html>

Cookie-fayllar yoqilganligini tekshiring

Quyidagi misol cookie fayllari yoqilganligini tekshiradigan kichik skript yaratadi. Birinchidan, setcookie() funksiyasi bilan test cookie faylini yaratishga harakat qiling, so‘ngra $_COOKIE massiv o‘zgaruvchisini hisoblang:

Misol

<?php setcookie("test_cookie", "test", time() + 3600, '/'); ?> <html> <body> <?php if(count($_COOKIE) > 0) {   echo "Cookies are enabled."; } else {   echo "Cookies are disabled."; } ?> </body> </html>

To‘liq PHP tarmoq ma’lumotnomasi

Tarmoq funksiyalari haqida to‘liq ma’lumot olish uchun bizning to‘liq PHP tarmoq ma’lumotnomamizga o‘ting.



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!