ฟังก์ชัน setcookie() ส่งคุกกี้ HTTP ไปยังไคลเอนต์
คุกกี้คือตัวแปรที่เซิร์ฟเวอร์ส่งไปยังเบราว์เซอร์ โดยทั่วไปคุกกี้คือไฟล์ข้อความขนาดเล็กที่เซิร์ฟเวอร์ฝังอยู่ในคอมพิวเตอร์ของผู้ใช้ คุกกี้นี้จะถูกส่งทุกครั้งที่คอมพิวเตอร์เครื่องเดียวกันร้องขอเพจผ่านเบราว์เซอร์
ชื่อของคุกกี้จะถูกกำหนดให้กับตัวแปรที่มีชื่อเดียวกันโดยอัตโนมัติ ตัวอย่างเช่น หากคุกกี้ที่ถูกส่งชื่อ "ผู้ใช้" ตัวแปรชื่อ $user จะถูกสร้างขึ้นโดยอัตโนมัติโดยมีค่าของคุกกี้
ต้องกำหนดคุกกี้ก่อนที่จะส่งเอาต์พุตอื่นไปยังไคลเอนต์
หากสำเร็จ ฟังก์ชันจะส่งกลับ TRUE ส่งคืน FALSE เมื่อเกิดความล้มเหลว
setcookie (ชื่อ ค่า หมดอายุ เส้นทาง โดเมน ปลอดภัย)
พารามิเตอร์ | อธิบาย |
---|---|
ชื่อ | ที่จำเป็น. ระบุชื่อของคุกกี้ |
ค่า | ที่จำเป็น. ระบุค่าคุกกี้ |
หมดอายุ | ไม่จำเป็น. ระบุเวลาหมดอายุของคุกกี้ time()+3600*24*30 จะตั้งเวลาหมดอายุของคุกกี้เป็น 30 วัน หากไม่ได้ตั้งค่าพารามิเตอร์นี้ คุกกี้จะหมดอายุโดยอัตโนมัติหลังจากเซสชันสิ้นสุดลง (นั่นคือเมื่อปิดเบราว์เซอร์) |
เส้นทาง | ไม่จำเป็น. ระบุเส้นทางเซิร์ฟเวอร์สำหรับคุกกี้ หากตั้งค่าเส้นทางเป็น "/" คุกกี้จะใช้งานได้ภายในชื่อโดเมนทั้งหมด หากตั้งค่าเส้นทางเป็น "/test/" คุกกี้จะใช้งานได้ภายใต้ไดเร็กทอรีทดสอบและไดเร็กทอรีย่อยทั้งหมด ค่าพาธเริ่มต้นคือไดเร็กทอรีปัจจุบันซึ่งมีคุกกี้อยู่ |
โดเมน | ไม่จำเป็น. ระบุชื่อโดเมนของคุกกี้ เพื่อให้คุกกี้ใช้งานได้ในโดเมนย่อยทั้งหมดของ example.com คุณต้องตั้งชื่อโดเมนของคุกกี้เป็น ".example.com" เมื่อคุณตั้งชื่อโดเมนของคุกกี้เป็น www.example.com คุกกี้นั้นจะใช้ได้เฉพาะในโดเมนย่อย www เท่านั้น |
ปลอดภัย | ไม่จำเป็น. ระบุว่าจำเป็นต้องส่งคุกกี้ผ่านการเชื่อมต่อ HTTPS ที่ปลอดภัยหรือไม่ ตั้งค่าเป็น TRUE หากจำเป็นต้องส่งคุกกี้ผ่านการเชื่อมต่อ HTTPS ที่ปลอดภัย ค่าเริ่มต้นคือ FALSE |
เคล็ดลับ: ค่าของคุกกี้ชื่อ "user" สามารถเข้าถึงได้ผ่านทาง $HTTP_COOKIE_VARS["user"] หรือ $_COOKIE["user"]
หมายเหตุ: เมื่อส่งคุกกี้ ค่าคุกกี้จะถูกเข้ารหัส URL โดยอัตโนมัติ การถอดรหัส URL จะดำเนินการโดยอัตโนมัติเมื่อได้รับ หากคุณไม่ต้องการสิ่งนี้ คุณสามารถใช้ setrawcookie() แทนได้
ตั้งค่าและส่งคุกกี้:
<?php$value = "my cookie value";// ส่ง cookieetcookie("TestCookie",$value);?><html><body>......
<?php$value = "my cookie value";// ส่งคุกกี้ที่จะหมดอายุใน 24 ชั่วโมงsetcookie("TestCookie",$value, time()+3600*24);?><html><body>... ...
วิธีต่างๆ ในการดึงค่าคุกกี้ (หลังจากตั้งค่าคุกกี้แล้ว):
<html><body><?php// พิมพ์คุกกี้แต่ละรายการecho $_COOKIE["TestCookie"];echo "<br />";echo $HTTP_COOKIE_VARS["TestCookie"];echo "<br />";// พิมพ์ คุกกี้ทั้งหมดprint_r($_COOKIE);?></body></html>
รหัสข้างต้นจะส่งออก:
ค่าคุกกี้ของฉัน ค่าคุกกี้ของฉัน Array ([TestCookie] => ค่าคุกกี้ของฉัน)
ลบคุกกี้โดยการตั้งค่าวันหมดอายุเป็นวันที่/เวลาในอดีต:
<?php// กำหนดวันหมดอายุเป็นหนึ่งชั่วโมง agosetcookie ("TestCookie", "", time() - 3600);?><html><body>......
สร้างอาร์เรย์ของคุกกี้:
<?phpsetcookie("cookie[three]", "cookiethree"); setcookie ("cookie [two]", "cookietwo"); setcookie ("cookie [one]", "cookieone"); // พิมพ์คุกกี้ (หลัง กำลังโหลดหน้าใหม่) if (isset($_COOKIE["cookie"])) { foreach ($_COOKIE["cookie"] as $name => $value) { echo "$name : $value <br />"; }?><html><body>......
รหัสข้างต้นจะส่งออก:
สาม : cookiethreetwo : cookietwoone : cookieone