คำแนะนำหลักสูตร
PHP setrawcookie() ฟังก์ชัน
การระบุและการใช้งาน
setrawcookie() ฟังก์ชันไม่ทำการ URL encode ต่อค่า cookie และส่ง HTTP cookie
cookie คือตัวแปรที่เซิร์ฟเวอร์ส่งไปยังเครื่องกลับ. cookie ทั่วไปเป็นแบบข้อความเล็กที่เซิร์ฟเวอร์ใส่ในคอมพิวเตอร์ของผู้ใช้. ในทุกครั้งที่คอมพิวเตอร์ที่มีบราวเซอร์ของผู้ใช้เรียกขอหน้าเว็บ จะส่ง cookie นี้
cookie จะถูกกำหนดชื่อตามตัวแปรที่มีชื่อเดียวกัน ตัวอย่าง ถ้า cookie ที่ส่งไปมีชื่อ "name" จะทำการสร้างตัวแปร $user ที่มีค่าของ cookie
จำเป็น. ต้องตั้งค่า cookie ก่อนที่จะส่งออกข้อมูลอื่นใด
ถ้าประสบความสำเร็จ ฟังก์ชันนี้จะกลับค่า true และถ้าไม่ประสบความสำเร็จจะกลับค่า false
การใช้งานnamesetcookie(valuesetcookie(expiresetcookie(pathsetcookie(domainsetcookie(secure,
) | รายละเอียด |
---|---|
name | จำเป็น. กำหนดชื่อของ cookie |
value | จำเป็น. กำหนดค่าของ cookie |
expire | เลือกตั้งได้. กำหนดอายุของ cookie |
path | เลือกตั้งได้. กำหนดพาธของเซิร์ฟเวอร์สำหรับ cookie |
domain | เลือกตั้งได้. กำหนดโดเมนของ cookie |
secure | เลือกตั้งได้. กำหนดว่าจะโอน cookie ผ่านทาง HTTPS ที่มีความปลอดภัยหรือไม่ |
คำแนะนำและหมายเหตุ
หมายเหตุ:สามารถเข้าถึงค่า cookie ที่มีชื่อ "user" ด้วย $HTTP_COOKIE_VARS["user"] หรือ $_COOKIE["user"]
หมายเหตุ:setrawcookie() และ setcookie() เกือบเท่ากัน แต่ต่างกันคือจะไม่ทำการ URL encode ต่อค่า cookie ในขณะที่ส่งไปยังเครื่องกลับ
ตัวอย่าง
ตัวอย่าง 1
ตั้งค่าและส่ง cookie:
<?php $value = "my cookie value"; // ส่ง cookie ที่เรียบง่าย setrawcookie("TestCookie",$value); ?> <html> <body> ... ...
<?php $value = "my cookie value"; // ส่ง cookie ที่หมดอายุหลังจาก 24 ชั่วโมง setrawcookie("TestCookie",$value, time()+3600*24); ?> <html> <body> ... ...
ตัวอย่าง 2
ค้นหาวิธีต่าง ๆ ในการค้นหาค่า cookie:
<html> <body> <?php // ออกสัญญาณ cookie แยกตัว 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 // การตั้งค่าวันที่หมดอายุเป็นเวลาหนึ่งชั่วโมงก่อน setrawcookie ("TestCookie", "", time() - 3600); ?> <html> <body> ... ...
ตัวอย่าง 4
สร้างตัวแปรแบบมассив cookie:
<?php setrawcookie("cookie[three]","cookiethree"); setrawcookie("cookie[two]","cookietwo"); setrawcookie("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