ฟังก์ชัน 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