توابع setcookie() PHP

تعریف و استفاده

توابع setcookie() کوکی HTTP را به مشتری ارسال می‌کند.

کوکی متغیری است که سرور به مرورگر ارسال می‌کند. کوکی معمولاً یک فایل متنی کوچک است که سرور به رایانه کاربر پیوند می‌دهد. هر بار که رایانه از طریق مرورگر درخواست یک صفحه می‌کند، این کوکی ارسال می‌شود.

نام کوکی باید به عنوان یک متغیر با نام مشابه مشخص شود. به عنوان مثال، اگر کوکی ارسالی نام "name" داشته باشد، به طور خودکار متغیری به نام $user ایجاد می‌شود که شامل ارزش کوکی است.

باید کوکی را قبل از ارسال هرگونه خروجی دیگر تنظیم کنید.

اگر موفق باشد، این تابع به درستی true را برمی‌گرداند، در غیر این صورت false را برمی‌گرداند.

نحوه استفاده

setcookie(name,value,expire,path,domain,secure)
پارامترها توضیحات
name ضروری. مشخص کنید نام کوکی.
value ضروری. مشخص کنید ارزش کوکی.
expire اختیاری. مشخص کنید مدت اعتبار کوکی.
path اختیاری. مشخص کنید مسیر سرور کوکی.
domain اختیاری. مشخص کنید دامنه کوکی.
secure اختیاری. مشخص کنید آیا کوکی باید از طریق ارتباط امن HTTPS ارسال شود یا خیر.

توضیحات و نظرات

توضیحات:می‌توانید از $HTTP_COOKIE_VARS["user"] یا $_COOKIE["user"] برای دسترسی به ارزش کوکی با نام "user" استفاده کنید.

توضیحات:در هنگام ارسال کوکی، ارزش کوکی به صورت خودکار URL رمزگذاری می‌شود. در هنگام دریافت، URL رمزگشایی می‌شود. اگر این کار را نمی‌خواهید، می‌توانید از setrawcookie() جایگزین.

مثال

مثال 1

تنظیم و ارسال کوکی:

<?php
$value = "my cookie value";
// ارسال یک کوکی ساده
setcookie("TestCookie",$value);
?>
<html>
<body>
...
...
<?php
$value = "my cookie value";
// ارسال یک کوکی که 24 ساعت بعد منقضی می‌شود
setcookie("TestCookie",$value, time()+3600*24);
?>
<html>
<body>
...
...

مثال 2

جستجوی روش‌های مختلف برای ارزش کوکی:

<html>
<body>
<?php
// 输出个别的 cookie
echo $_COOKIE["TestCookie"];
echo "<br />";
echo $HTTP_COOKIE_VARS["TestCookie"];
echo "<br />";
// Output all cookies
print_r($_COOKIE);
?>
</body>
</html>

Output:

my cookie value
my cookie value
Array ([TestCookie] => my cookie value)

Example 3

// Delete a cookie by setting the expiration date to a past date/time

<?php
// Set expiration date to one hour ago
setcookie ("TestCookie", "", time() - 3600);
?>
<html>
<body>
...
...

Example 4

Create an array cookie:

<?php
setcookie("cookie[three]","cookiethree");
setcookie("cookie[two]","cookietwo");
setcookie("cookie[one]","cookieone");
// Output cookie (after page reload)
if (isset($_COOKIE["cookie"]))
  {
  foreach ($_COOKIE["cookie"] as $name => $value)
    {
    echo "$name : $value <br />";
    }
  }
?>
<html>
<body>
...
...

Output:

three : cookiethree
two : cookietwo
one : cookieone