PHP cookie-fayllar
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
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>
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!
