PHP – کوکی‌ها (Cookies)

کوکی‌ها در PHP

کوکی چیست؟

کوکی (Cookie) برای شناسایی کاربران به کار می‌رود. کوکی یک فایل کوچک است که سرور بر روی رایانه کاربر قرار می‌دهد. هر بار که همان رایانه صفحه‌ای را با مرورگر درخواست می‌کند، کوکی نیز ارسال می‌شود. با PHP، می‌توانید هم کوکی‌ها را ایجاد کنید و هم مقادیر آن‌ها را بازیابی کنید.

ایجاد کوکی‌ها با PHP

یک کوکی با استفاده از تابع setcookie() ایجاد می‌شود.

نحوه استفاده

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

تنها پارامتر name الزامی است. سایر پارامترها اختیاری هستند.

ایجاد و بازیابی کوکی

مثال زیر یک کوکی به نام “user” با مقدار “John Doe” ایجاد می‌کند. این کوکی بعد از ۳۰ روز منقضی می‌شود (86400 * 30). علامت “/” به این معنی است که کوکی در کل وبسایت در دسترس است (در غیر این صورت، دایرکتوری مورد نظر خود را انتخاب کنید).

سپس مقدار کوکی “user” را با استفاده از متغیر جهانی $_COOKIE بازیابی می‌کنیم. همچنین از تابع isset() برای بررسی اینکه آیا کوکی تنظیم شده است یا خیر استفاده می‌کنیم:

<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 روز
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name])) {
  echo "کوکی با نام '" . $cookie_name . "' تنظیم نشده است!";
} else {
  echo "کوکی '" . $cookie_name . "' تنظیم شده است!<br>";
  echo "مقدار آن: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>

توجه: تابع setcookie() باید قبل از تگ <html> قرار گیرد.

توجه: مقدار کوکی به طور خودکار هنگام ارسال URLencode می‌شود و به طور خودکار هنگام دریافت Decoded می‌شود (برای جلوگیری از URLencoding، از setrawcookie() استفاده کنید).

تغییر مقدار کوکی

برای تغییر مقدار یک کوکی، کافی است که کوکی را دوباره با استفاده از تابع setcookie() تنظیم کنید:

<?php
$cookie_name = "user";
$cookie_value = "Alex Porter";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name])) {
  echo "کوکی با نام '" . $cookie_name . "' تنظیم نشده است!";
} else {
  echo "کوکی '" . $cookie_name . "' تنظیم شده است!<br>";
  echo "مقدار آن: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>

حذف کوکی

برای حذف یک کوکی، از تابع setcookie() با تاریخ انقضا در گذشته استفاده کنید:

<?php
// تاریخ انقضا را به یک ساعت پیش تنظیم کنید
setcookie("user", "", time() - 3600);
?>
<html>
<body>
<?php
echo "کوکی 'user' حذف شد.";
?>
</body>
</html>

بررسی اینکه آیا کوکی‌ها فعال هستند یا خیر

مثال زیر یک اسکریپت کوچک ایجاد می‌کند که بررسی می‌کند آیا کوکی‌ها فعال هستند یا خیر. ابتدا سعی می‌کنیم یک کوکی تست با استفاده از تابع setcookie() ایجاد کنیم، سپس تعداد متغیر آرایه $_COOKIE را شمارش می‌کنیم:

<?php
setcookie("test_cookie", "test", time() + 3600, '/');
?>
<html>
<body>
<?php
if(count($_COOKIE) > 0) {
  echo "کوکی‌ها فعال هستند.";
} else {
  echo "کوکی‌ها غیرفعال هستند.";
}
?>
</body>
</html>

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
Python - محدود کردن داده (MongoDB Limit)

Python – محدود کردن داده (MongoDB Limit)

Python MongoDB محدود کردن نتایج برای محدود کردن نتایج در MongoDB، از متد limit() استفاده می‌کنیم. متد limit() یک...

بیشتر بخوانید
Python - بروزرسانی (MongoDB Update)

Python – بروزرسانی (MongoDB Update)

به‌روزرسانی یک رکورد برای به‌روزرسانی یک رکورد یا سند در MongoDB، از متد update_one() استفاده می‌کنیم. پارامتر اول متد...

بیشتر بخوانید
Python - حذف کالکشن (MongoDB Drop Collection)

Python – حذف کالکشن (MongoDB Drop Collection)

حذف کالکشن شما می‌توانید یک جدول یا کالکشن در MongoDB را با استفاده از متد drop() حذف کنید. مثالحذف...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.