توابع 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