setrawcookie()
PHP setrawcookie() funksiyasi
Misol
Quyidagi misol "John Doe" qiymatiga ega "user" nomli cookie yaratadi. Cookie qiymati URL-kodlanmaydi. Cookie muddati 30 kundan keyin (86400 * 30) tugaydi. "/" dan foydalanish cookie butun veb-saytda mavjud bo‘lishini bildiradi (aks holda, o‘zingiz xohlagan katalogni tanlang):
<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setrawcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
// 86400 = 1 day
?>
<html>
<body>
<?php
echo "Cookie is set.";
?>
</body>
</html>
?>
Ta’rif va qo‘llanilishi
setrawcookie() funksiyasi qolgan HTTP sarlavhalari bilan birga yuboriladigan cookie’ni (URL-kodlashsiz) belgilaydi.
Eslatma: setrawcookie() funksiyasi <html> tegidan OLDIN kelishi shart, chunki cookie’lar HTTP sarlavhasining bir qismidir.
Cookie nomi avtomatik ravishda xuddi shu nomdagi o‘zgaruvchiga tayinlanadi. Masalan, agar cookie "user" nomi bilan yuborilgan bo‘lsa, cookie qiymatini o‘z ichiga olgan $user nomli o‘zgaruvchi avtomatik yaratiladi.
Cookie qiymatini olish uchun
$_COOKIE superglobal o‘zgaruvchisidan foydalaning.
Eslatma: Cookie qiymatini yuborishda avtomatik URL-kodlash va qabul qilishda avtomatik dekodlash uchun uning o‘rniga setcookie() funksiyasidan foydalaning.
Sintaksis
setrawcookie(name, value, expire, path, domain, secure);
Parametr qiymatlari
| Parametr | Tavsif |
|---|---|
| name | Majburiy. Cookie nomini belgilaydi |
| value | Ixtiyoriy. Cookie qiymatini belgilaydi |
| expire | Ixtiyoriy. Cookie muddati qachon tugashini belgilaydi. time()+86400*30 qiymati cookie muddatini 30 kundan keyin tugaydigan qilib o‘rnatadi. Agar bu parametr o‘rnatilmasa, cookie muddati seans oxirida (brauzer yopilganda) tugaydi |
| path | Ixtiyoriy. Cookie’ning serverdagi yo‘lini belgilaydi. Agar "/" ga o‘rnatilsa, cookie butun domen doirasida mavjud bo‘ladi. Agar "/php/" ga o‘rnatilsa, cookie faqat php katalogi va uning barcha ichki kataloglarida mavjud bo‘ladi. Standart qiymat: cookie o‘rnatilayotgan joriy katalog |
| domain | Ixtiyoriy. Cookie’ning domen nomini belgilaydi. Cookie example.com ning barcha subdomenlarida mavjud bo‘lishi uchun domain ni ".example.com" ga o‘rnating. Uni www.example.com ga o‘rnatish cookie’ni faqat www subdomenida mavjud qiladi |
| secure | Ixtiyoriy. Cookie faqat xavfsiz HTTPS ulanishi orqali uzatilishi kerakmi yoki yo‘qligini belgilaydi. TRUE cookie faqat xavfsiz ulanish mavjud bo‘lganda o‘rnatilishini bildiradi. Standart qiymat: FALSE. |
Texnik tafsilotlar
| Qaytariladigan qiymat: | Muvaffaqiyatli bo‘lsa TRUE. Muvaffaqiyatsiz bo‘lsa FALSE |
|---|---|
| PHP versiyasi: | 5+ |
Ko‘proq misollar
Misol
"user" nomli cookie qiymatini ($_COOKIE global o‘zgaruvchisi yordamida) oling. Shuningdek, cookie mavjudligini bilish uchun isset() funksiyasidan foydalaning:
<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setrawcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
// 86400 = 1 day
?>
<html>
<body>
<?php
if(isset($_COOKIE[$cookie_name])) {
echo "Cookie is named: " . $cookie_name . "<br>Value is: " . $_COOKIE[$cookie_name];
} else {
echo "Cookie named '" . $cookie_name . "' does not exist!";
}
?>
</body>
</html>
Misol
Cookie’ni o‘zgartirish uchun uni setrawcookie() funksiyasi yordamida shunchaki (qaytadan) o‘rnating:
<?php
$cookie_name = "user";
$cookie_value = "Alex";
setrawcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
$cookie_name = "user";
if(isset($_COOKIE[$cookie_name])) {
echo "Cookie is named: " . $cookie_name . "<br>Value is: " . $_COOKIE[$cookie_name];
} else {
echo "Cookie named '" . $cookie_name . "' does not exist!";
}
?>
</body>
</html>
Misol
Cookie’ni o‘chirish uchun setrawcookie() funksiyasini o‘tgan vaqtdagi amal qilish muddati bilan ishlating:
<?php
// set the expiration date to one hour ago
setrawcookie("user", ""', time() - 3600);
?>
<html>
<body>
<?php
echo "Cookie 'user' is deleted.";
?>
</body>
</html>
Misol
Cookie’lar yoqilganligini tekshiradigan kichik skript yarating. Avval setrawcookie() funksiyasi yordamida sinov cookie’sini yaratishga harakat qiling, so‘ng $_COOKIE massiv o‘zgaruvchisini sanang:
<?php
setrawcookie("test_cookie", "test", time() + 3600, '/');
?>
<html>
<body>
<?php
if(count($_COOKIE) > 0) {
echo "Cookies are enabled";
} else {
echo "Cookies are disabled";
}
?>
</body>
</html>
❮ PHP tarmoq ma’lumotnomasi
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
