setrawcookie
تابع «setrawcookie» کوکی خام می سازد. خام یعنی بدون «URLEncoding». مرورگر آن را ذخیره می کند. سپس در درخواست بعدی می فرستد. مثل برچسب نام روی دفتر که همیشه همراهت است.
setrawcookie در PHP چیست؟
تابع «setrawcookie(name, value, expire, path, domain, secure)» کوکی را همراه هدرها تعریف می کند. «expire» زمان انقضاست. «path» محدوده مسیر است. «domain» دامنه مجاز است. «secure» فقط روی HTTPS می فرستد.
هشدار: setrawcookie باید قبل از برچسب <html> اجرا شود. وگرنه هدرها قبلاً ارسال شده اند.
ساخت کوکی خام
<?php
$cookie_name = "user";
$cookie_value = "John";
setrawcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
echo "Cookie is set.";
?>
</body>
</html>
خواندن مقدار کوکی
<html>
<body>
<?php
$cookie_name = "user";
if (!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' does not exist!";
} else {
echo "Cookie is named: " . $cookie_name . "<br>Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
ویرایش مقدار کوکی
<?php
$cookie_name = "user";
$cookie_value = "Alex";
setrawcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
$cookie_name = "user";
if (!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' does not exist!";
} else {
echo "Cookie is named: " . $cookie_name . "<br>Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
حذف کوکی خام
<?php
$cookie_name = "user";
unset($_COOKIE[$cookie_name]);
$deleted = setrawcookie($cookie_name, "", time() - 3600);
?>
<html>
<body>
<?php
echo "Cookie 'user' is deleted.";
?>
</body>
</html>
بررسی فعال بودن کوکی ها
<?php
setrawcookie("test_cookie", "test", time() + 3600, "/");
?>
<html>
<body>
<?php
if (count($_COOKIE) > 0) {
echo "Cookies are enabled";
} else {
echo "Cookies are disabled";
}
?>
</body>
</html>
نکات کاربردی و تفاوت با setcookie
- setrawcookie مقدار را «کدگذاری URL» نمی کند.
- برای کدگذاری خودکار، از setcookie استفاده کن.
- setrawcookie در PHP همین صفحه است.
گام های عملی سریع
- نام و مقدار کوکی را تعیین کن.
- اختیاری: expire، path، domain و secure را بده.
- دستور را قبل از <html> اجرا کن.
- با $_COOKIE مقدار را بررسی کن.
- برای حذف، expire گذشته تنظیم کن.
جمع بندی سریع
- setrawcookie کوکی خام می سازد.
- قبل از <html> باید اجرا شود.
- secure فقط روی HTTPS فعال است.
- برای URLEncoding از setcookie استفاده کن.