کوکی ها (Cookies)
«کوکی (Cookie)» فایل کوچکی روی مرورگر است. سرور آن را می سازد و مرورگر هر بار همراه درخواست می فرستد. با «کوکی PHP» می توان کاربر را شناسایی کرد. الآن خیلی ساده می سازیم، می خوانیم، و حذف می کنیم.
ساخت کوکی با setcookie()
تابع setcookie() یک کوکی می سازد. فقط «name» اجباری است. بقیه اختیاری هستند.
<?php
$cookie_name = "user";
$cookie_value = "John Doe";
$expire = time() + (86400 * 30);
$path = "/";
setcookie($cookie_name, $cookie_value, $expire, $path);
?>
نکته: تابع setcookie() باید قبل از تگ <html> باشد.
ساخت و خواندن کوکی
پس از ساخت کوکی، مقدار را با آرایه سراسری $_COOKIE می خوانیم. همچنین با isset() بررسی می کنیم که کوکی ساخته شده است.
<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
if (!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!\n";
echo "Value is: " . $_COOKIE[$cookie_name] . "\n";
}
?>
نکته: مقدار کوکی هنگام ارسال «URLEncoded» می شود. برای جلوگیری، از setrawcookie() استفاده کن.
تغییر مقدار کوکی
برای تغییر، دوباره همان نام را با مقدار جدید setcookie() کن.
<?php
$cookie_name = "user";
$cookie_value = "Alex Porter";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
if (!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!\n";
echo "Value is: " . $_COOKIE[$cookie_name] . "\n";
}
?>
حذف کوکی
برای حذف، تاریخ انقضا را به گذشته بده. سپس مرورگر آن را پاک می کند.
<?php
$past = time() - 3600;
setcookie("user", "", $past);
echo "Cookie 'user' is deleted.";
?>
بررسی فعال بودن کوکی ها
یک کوکی تست بساز. سپس تعداد $_COOKIE را چک کن. اگر بیشتر از صفر بود، کوکی فعال است.
<?php
setcookie("test_cookie", "test", time() + 3600, "/");
if (count($_COOKIE) > 0) {
echo "Cookies are enabled.";
} else {
echo "Cookies are disabled.";
}
?>
گام های عملی سریع
- با
setcookie()یک کوکی بساز. - با
isset()وجودش را چک کن. - با
$_COOKIEمقدار را نمایش بده. - برای حذف، تاریخ انقضا را گذشته بگذار.
جمع بندی سریع
- کوکی PHP برای شناسایی کاربر است.
setcookie()قبل از<html>بیاید.$_COOKIEمقدار را می دهد.- حذف با انقضای گذشته انجام می شود.
لینک های داخلی
پس از «کوکی PHP»، بخش جلسات (Sessions) را ببین. همچنین برای آپلود فایل به آپلود فایل (File Upload) سر بزن.