Cookies

کوکی (Cookie) یک فایل کوچک متنی است که در مرورگر کاربر ذخیره می‌شود.
از کوکی‌ها معمولاً برای ذخیره اطلاعات موقت کاربر مثل:

  • نام کاربری

  • تنظیمات سایت

  • وضعیت ورود (Login State)
    استفاده می‌کنیم.

🔹 ساخت کوکی با ()setcookie

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

ساختار:

setcookie(name, value, expire, path, domain, secure, httponly);
  • name → نام کوکی

  • value → مقدار کوکی

  • expire → زمان انقضا (به صورت timestamp یونیکس)

  • path → مسیر دسترسی (اختیاری)

  • domain → دامنه (اختیاری)

  • secure → فقط روی HTTPS ارسال شود (اختیاری)

  • httponly → فقط از سمت سرور قابل دسترس باشد (اختیاری)

🔹 مثال: ایجاد کوکی

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

📌 خروجی:

Cookie 'user' is set! Value is: John Doe

🔹 دسترسی به کوکی‌ها

تمام کوکی‌ها در آرایه $_COOKIE ذخیره می‌شوند:

echo $_COOKIE["user"];

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

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

setcookie("user", "Alex", time() + (86400 * 30), "/");

🔹 حذف کوکی

برای حذف کوکی زمان انقضا را در گذشته قرار می‌دهیم:

setcookie("user", "", time() - 3600, "/");

📌 این کد کوکی "user" را حذف می‌کند.

✅ نکات مهم

  • کوکی‌ها باید قبل از ارسال هر خروجی HTML تنظیم شوند (قبل از <html> یا echo).

  • کوکی‌ها روی مرورگر ذخیره می‌شوند، پس کاربر می‌تواند آن‌ها را تغییر دهد → برای اطلاعات حساس از Session استفاده کنید.

  • می‌توانید با تنظیم گزینه‌های secure و httponly امنیت کوکی‌ها را افزایش دهید.