ตัวอย่าง
ตัวอย่างต่อไปนี้สร้างคุกกี้ด้วย PHP คุกกี้เป็นชื่อ "user" และความคุ้มค่าที่จะเป็น "John Doe" ค่าคุกกี้จะไม่เป็น URL ที่เข้ารหัส คุกกี้จะหมดอายุหลังจาก 30 วัน (86400 * 30) การใช้ "/" หมายความว่าคุกกี้มีอยู่ในเว็บไซต์ทั้งหมด (otherwise, select the directory you prefer) :
<?php
$cookie_name = "user";
$cookie_value = "John";
setrawcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
//
86400 = 1 day
?>
<html>
<body>
<?php
echo "Cookie is set.";
?>
</body>
</html>
?>
ตัวอย่างเช่นเรียกใช้» ความหมายและการใช้งาน
setrawcookie() ฟังก์ชั่นกำหนดคุกกี้ (without URL encoding) ที่จะถูกส่งไปพร้อมกับส่วนที่เหลือของส่วนหัว HTTP ที่
คุกกี้มักจะถูกนำมาใช้เพื่อระบุผู้ใช้ คุกกี้เป็นไฟล์ขนาดเล็กว่าเซิร์ฟเวอร์ฝังในเครื่องคอมพิวเตอร์ของผู้ใช้ แต่ละครั้งที่คอมพิวเตอร์เครื่องเดียวกันร้องขอหน้าเว็บเบราว์เซอร์จะส่งคุกกี้เกินไป ด้วย PHP คุณทั้งสองสามารถสร้างและเรียกค่าคุกกี้
ชื่อของคุกกี้จะถูกกำหนดให้กับตัวแปรที่มีชื่อเดียวกันโดยอัตโนมัติ ตัวอย่างเช่นถ้าคุกกี้ถูกส่งตัวที่มีชื่อ "user" ตัวแปรโดยอัตโนมัติสร้างขึ้นเรียกใช้ $ มีค่าคุกกี้
Note: setrawcookie() ฟังก์ชั่นจะต้องปรากฏก่อน <html> แท็ก
Note: หากต้องการโดยอัตโนมัติเข้ารหัส URL ค่าคุกกี้เมื่อมีการส่งโดยอัตโนมัติและถอดรหัสเมื่อได้รับใช้ setcookie() ฟังก์ชั่นแทน
วากยสัมพันธ์
setrawcookie( name,value,expire,path,domain,secure );
พารามิเตอร์ | ลักษณะ |
---|---|
name | จำเป็นต้องใช้ ระบุชื่อของคุกกี้ |
value | ไม่จำเป็น. ระบุค่าของคุกกี้ |
expire | ไม่จำเป็น. ระบุเมื่อคุกกี้หมดอายุ มูลค่า: time() + 86400 * 30 จะตั้งค่าคุกกี้จะหมดอายุใน 30 วัน ถ้าพารามิเตอร์นี้ไม่ได้ตั้งค่าคุกกี้จะหมดอายุในสิ้นเซสชั่น (when the browser closes) |
path | ไม่จำเป็น. ระบุเส้นทางเซิร์ฟเวอร์ของคุกกี้ หากการตั้งค่า "/" คุกกี้จะสามารถใช้ได้ภายในทั้งโดเมน หากการตั้งค่า "/php/" คุกกี้เท่านั้นที่จะสามารถใช้ได้ภายในไดเรกทอรี PHP และทุกไดเรกทอรีย่อยของ PHP ค่าเริ่มต้นคือไดเรกทอรีปัจจุบันว่าคุกกี้จะถูกตั้งอยู่ใน |
domain | ไม่จำเป็น. ระบุชื่อโดเมนของคุกกี้ ที่จะทำให้คุกกี้ที่มีอยู่บนโดเมนย่อยทั้งหมดของ example.com ตั้งโดเมน ".example.com" การตั้งค่าให้ www.example.com จะทำให้คุกกี้ใช้ได้เฉพาะในโดเมนย่อย www |
secure | ไม่จำเป็น. ระบุหรือไม่ว่าคุกกี้ควรจะส่งผ่านการเชื่อมต่อ HTTPS ที่ปลอดภัย TRUE บ่งชี้ว่าคุกกี้จะได้รับการตั้งค่าถ้าเชื่อมต่อที่ปลอดภัยที่มีอยู่ เริ่มต้นเป็นเท็จ |
รายละเอียดทางเทคนิค
กลับค่า: | TRUE ในความสำเร็จ FALSE กับความล้มเหลว |
---|---|
PHP เวอร์ชัน: | 5+ |
ตัวอย่างอื่น ๆ
ตัวอย่าง
เรียกค่าของคุกกี้ที่มีชื่อ "user" (โดยใช้ $ _COOKIE ตัวแปรทั่วโลก) นอกจากนี้ยังใช้ isset() ฟังก์ชั่นเพื่อดูว่าคุกกี้ที่มีอยู่:
<html>
<body>
<?php
$cookie_name = "user";
if(!isset($_COOKIE[$cookie_name]))
{
echo "Cookie named '" . $cookie_name . "' does not
exist!";
} else {
echo "Cookie is named: " . $cookie_name
. "<br>Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
ตัวอย่างเช่นเรียกใช้» ตัวอย่าง
หากต้องการแก้ไขคุกกี้เพิ่งตั้ง (again) คุกกี้โดยใช้ setrawcookie() ฟังก์ชั่น:
<?php
$cookie_name = "user";
$cookie_value = "Alex";
setrawcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
$cookie_name = "user";
if(!isset($_COOKIE[$cookie_name]))
{
echo "Cookie named '" . $cookie_name . "' does not
exist!";
} else {
echo "Cookie is named: " . $cookie_name
. "<br>Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
ตัวอย่างเช่นเรียกใช้» ตัวอย่าง
ในการลบคุกกี้ใช้ setrawcookie() ฟังก์ชั่นที่มีวันหมดอายุในอดีตที่ผ่านมา:
<?php
$cookie_name = "user";
unset($_COOKIE[$cookie_name]);
// empty value and expiration one hour
before
$res = setrawcookie($cookie_name, '', time() - 3600);
?>
<html>
<body>
<?php
echo "Cookie 'user'
is deleted.";
?>
</body>
</html>
ตัวอย่างเช่นเรียกใช้» ตัวอย่าง
สร้างสคริปต์ขนาดเล็กที่จะตรวจสอบว่า cookies จะเปิดใช้งาน ครั้งแรกที่พยายามที่จะสร้างคุกกี้ทดสอบกับ setrawcookie() ฟังก์ชั่นแล้วนับตัวแปรอาร์เรย์ $ _COOKIE นี้:
<?php
setrawcookie("test_cookie", "test" , time() + 3600, '/');
?>
<html>
<body>
<?php
if(count($_COOKIE) > 0) {
echo "Cookies are enabled";
} else {
echo "Cookies
are disabled";
}
?>
</body>
</html>
ตัวอย่างเช่นเรียกใช้» <PHP HTTP อ้างอิง