คำแนะนำหลักสูตร

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