ฟังก์ชัน setcookie() ของ PHP

การระบุและการใช้งาน

ฟังก์ชัน setcookie() ส่งคุกกี้ HTTP ไปยังลูกค้า

คุกกี้เป็นตัวแปรที่เซิร์ฟเวอร์ส่งไปยังเบราว์เซอร์ คุกกี้เป็นไฟล์ข้อความเล็กที่เซิร์ฟเวอร์ทำให้ฝังในคอมพิวเตอร์ผู้ใช้ ทุกครั้งที่คอมพิวเตอร์ขอหน้าเว็บผ่านเบราว์เซอร์ คุกกี้จะถูกส่ง

ชื่อคุกกี้จะกำหนดโดยตัวแปรที่มีชื่อเดียวกัน ตัวอย่าง ถ้าคุกกี้ที่ส่งมีชื่อ "name" จะทำให้เกิดตัวแปร $user ที่มีค่าคุกกี้

คุณจะต้องตั้งค่าคุกกี้ก่อนที่จะส่งออกทุกข้อความอื่น

ถ้าสำเร็จ ฟังก์ชันนี้จะกลับค่า true หรือ false ถ้าไม่สำเร็จ

การใช้งาน

setcookie(name,value,expire,path,domain,secure)
ตัวแปร รายละเอียด
name จำเป็น กำหนดชื่อคุกกี้
value จำเป็น กำหนดค่าคุกกี้
expire ตัวเลือก กำหนดอายุคุกกี้
path ตัวเลือก กำหนดพาธของเซิร์ฟเวอร์ของคุกกี้
domain ตัวเลือก กำหนดโดเมนของคุกกี้
secure ตัวเลือก กำหนดว่าคุณต้องการส่งคุกกี้ผ่านการเชื่อมต่อ HTTPS ที่มีความปลอดภัยหรือไม่

ข้อความและหมายเหตุ

หมายเหตุ:คุณสามารถเข้าถึงค่าคุกกี้ที่มีชื่อ "user" ด้วย $HTTP_COOKIE_VARS["user"] หรือ $_COOKIE["user"]

หมายเหตุ:ในขณะที่ส่งคุกกี้ ค่าคุกกี้จะถูก URL encode อัตโนมัติ ระหว่างที่รับจะถูก URL decode ถ้าคุณไม่ต้องการนี้ คุณสามารถใช้ 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
// ออกสตริงคุกกี้แยกตัวเดียว
echo $_COOKIE["TestCookie"];
echo "<br />";
echo $HTTP_COOKIE_VARS["TestCookie"];
echo "<br />";
// การแสดงผลทุก cookie
print_r($_COOKIE);
?>
</body>
</html>

การแสดงผล:

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

ตัวอย่าง 3

// ลบ cookie โดยตั้งค่าวันที่หมดอายุเป็นวัน/เวลาที่ผ่านมา

<?php
// ตั้งค่าวันที่หมดอายุเป็นเวลาหนึ่งชั่วโมงก่อน
setcookie ("TestCookie", "", time() - 3600);
?>
<html>
<body>
...
...

ตัวอย่าง 4

สร้างตัวแปรแบบมัณฑน์ cookie:

<?php
setcookie("cookie[three]","cookiethree");
setcookie("cookie[two]","cookietwo");
setcookie("cookie[one]","cookieone");
// การแสดงผล cookie (หลังจากการโหลดเว็บไซต์ใหม่)
if (isset($_COOKIE["cookie"]))
  {
  foreach ($_COOKIE["cookie"] as $name => $value)
    {
    echo "$name : $value <br />";
    }
  }
?>
<html>
<body>
...
...

การแสดงผล:

three : cookiethree
two : cookietwo
one : cookieone