کوکی در PHP

کوکی در PHP

کوکی (cookie) به فایلی گفته می شود که توسط زبان php تولید و در سیستم کاربر ذخیره و حاوی اطلاعات خاصی می باشد. از این فایل ها اغلب برای شناسایی کاربر استفاده می شود. به عنوان مثال وقتی با مرورگر، ایمیل خود را بررسی می کنید در مراجعه های بعدی بدون نیاز به نام کاربری و رمز عبور می توانید ایمیل های دریافتی را ببینید. این مسئله به دلیل ذخیره کوکی در مرورگر شما می باشد. با php به راحتی می توان cookie ها را خواند و به آنها دسترسی پیدا کرد.

ساخت کوکی در PHP

کوکی در PHP بوسیله فانکشن setcookie ایجاد می شود. شکل کلی استفاده از این دستور به شکل زیر می باشد.

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

غیر از پارامتر name بقیه پارامترها اختیاری است.

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

به مثال زیر توجه کنید. در این مثال یک کوکی با نام user ساخته ایم و مقدار test را به آن داده ایم. زمان انقضای آن را هم 30 روز یعنی (86400 * 30) در نظر گرفته ایم. و در نهایت “/” به این معنی است که cookie در تمامی صفحات وب سایت، کاربرد خواهد داشت.

جهت بازیابی و خواندن هم با استفاده از فانکشن isset، از ایجاد آن مطمئن شده و مقدار آن را با استفاده از متغیر COOKIE نمایش می دهیم.

 <?php
$cookie_name = "user";
$cookie_value = "test";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>
<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> 

نکته قابل توجه در مثال قبلی این است که فانکشن setcookie باید قبل از تگ <html> استفاده شود.

جهت تغییر مقدار کوکی کافی است مجددا از setcookie استفاده کنید و مجددا مقدار دهی نمایید.

نحوه حذف cookie

برای حذف کوکی کافی است که مجددا آن را مقدار دهی کنید و تاریخ انقضای آن را به تاریخ گذشته وارد نمایید. به مثال زیر توجه کنید.

 <?php
// set the expiration date to one hour ago
setcookie("user", "", time() - 3600);
?>
<html>
<body>

<?php
echo "Cookie 'user' is deleted.";
?>

</body>
</html> 

منبع

دیدگاهتان را بنویسید