ล่าสุดการพัฒนาเว็บบทเรียน
×

PHP เกี่ยวกับการสอน

PHP บ้าน PHP แนะนำ PHP ติดตั้ง PHP วากยสัมพันธ์ PHP ตัวแปร PHP Echo / พิมพ์ PHP ชนิดข้อมูล PHP เงื่อนไข PHP ค่าคงที่ PHP ผู้ประกอบการ PHP If...Else...Elseif PHP Switch PHP ในขณะที่ลูป PHP สำหรับลูป PHP ฟังก์ชั่น PHP แถว PHP เรียงลำดับอาร์เรย์ PHP Superglobals

PHP การจัดการ

PHP ฟอร์ม การจัดการ PHP ฟอร์ม การตรวจสอบ PHP ฟอร์ม จำเป็นต้องใช้ PHP ฟอร์ม URL/E-mail PHP ฟอร์ม สมบูรณ์

PHP สูง

PHP อาร์เรย์หลายมิติ PHP วันและเวลา PHP ประกอบด้วย PHP ไฟล์ การจัดการ PHP ไฟล์ เปิด / อ่าน PHP ไฟล์ สร้าง / เขียน PHP ไฟล์ อัปโหลด PHP Cookies PHP Sessions PHP ฟิลเตอร์ PHP Filters สูง PHP ผิดพลาด การจัดการ PHP ข้อยกเว้น

MySQL Database

MySQL ฐานข้อมูล MySQL สัมพันธ์ MySQL Create DB MySQL Create ตาราง MySQL Insert Data MySQL รับ ID เข้าครั้งสุดท้าย MySQL ใส่หลาย MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML parsers PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX แนะนำ AJAX PHP AJAX ฐานข้อมูล AJAX XML AJAX ค้นหาสด AJAX RSS Reader AJAX โพลล์

PHP Examples

PHP ตัวอย่าง PHP ทดสอบ PHP ใบรับรอง

PHP การอ้างอิง

PHP แถว PHP ปฏิทิน PHP วันที่ PHP ไดเรกทอรี PHP ผิดพลาด PHP ระบบแฟ้ม PHP กรอง PHP FTP PHP HTTP PHP Libxml PHP จดหมาย PHP คณิตศาสตร์ PHP อื่น ๆ PHP MySQLi PHP SimpleXML PHP เชือก PHP XML PHP Zip PHP ช่วงเวลา

 

PHP setcookie() Function

<PHP HTTP อ้างอิง

ตัวอย่าง

ตัวอย่างต่อไปนี้สร้างคุกกี้ที่มีชื่อว่า "user" มีค่า "John Doe" คุกกี้จะหมดอายุหลังจาก 30 วัน (86400 * 30) "/" หมายความว่าคุกกี้ที่มีอยู่ในเว็บไซต์ทั้งหมด (otherwise, select the directory you prefer)

จากนั้นเราจะเรียกค่าของคุกกี้ "user" (โดยใช้ตัวแปรทั่วโลก $ _COOKIE) นอกจากนี้เรายังใช้ isset() ฟังก์ชั่นเพื่อดูว่าคุกกี้จะถูกตั้ง:

<!DOCTYPE html>
<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>
<html>
<body>

<?php
if(!isset($_COOKIE[$cookie_name])) {
    echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
    echo "Cookie '" . $cookie_name . "' is set!<br>";
    echo "Value is: " . $_COOKIE[$cookie_name];
}
?>

</body>
</html>
ตัวอย่างเช่นเรียกใช้»

ความหมายและการใช้งาน

setcookie() ฟังก์ชั่นกำหนดคุกกี้จะถูกส่งไปพร้อมกับส่วนที่เหลือของส่วนหัว HTTP ที่

คุกกี้มักจะถูกนำมาใช้เพื่อระบุผู้ใช้ คุกกี้เป็นไฟล์ขนาดเล็กว่าเซิร์ฟเวอร์ฝังในเครื่องคอมพิวเตอร์ของผู้ใช้ แต่ละครั้งที่คอมพิวเตอร์เครื่องเดียวกันร้องขอหน้าเว็บเบราว์เซอร์จะส่งคุกกี้เกินไป ด้วย PHP คุณทั้งสองสามารถสร้างและเรียกค่าคุกกี้

ชื่อของคุกกี้จะถูกกำหนดให้กับตัวแปรที่มีชื่อเดียวกันโดยอัตโนมัติ ตัวอย่างเช่นถ้าคุกกี้ถูกส่งตัวที่มีชื่อ "user" ตัวแปรโดยอัตโนมัติสร้างขึ้นเรียกใช้ $ มีค่าคุกกี้

Note: setcookie() ฟังก์ชั่นจะต้องปรากฏก่อน <html> แท็ก

Note: ค่าของคุกกี้ที่มี urlencoded โดยอัตโนมัติเมื่อมีการส่งคุกกี้และถอดรหัสเมื่อได้รับโดยอัตโนมัติ (เพื่อป้องกันการ URLEncoding ใช้ setrawcookie() แทน)

วากยสัมพันธ์

setcookie( name,value,expire,path,domain,secure,httponly );

พารามิเตอร์ ลักษณะ
name จำเป็นต้องใช้ ระบุชื่อของคุกกี้
value ไม่จำเป็น. ระบุค่าของคุกกี้
expire ไม่จำเป็น. ระบุเมื่อคุกกี้หมดอายุ มูลค่า: time() + 86400 * 30 จะตั้งค่าคุกกี้จะหมดอายุใน 30 วัน ถ้าพารามิเตอร์นี้จะถูกละเว้นหรือตั้งค่าเป็น 0, คุกกี้จะหมดอายุในสิ้นเซสชั่น (when the browser closes) เริ่มต้นเป็น 0
path ไม่จำเป็น. ระบุเส้นทางเซิร์ฟเวอร์ของคุกกี้ หากการตั้งค่า "/" คุกกี้จะสามารถใช้ได้ภายในทั้งโดเมน หากการตั้งค่า "/php/" คุกกี้เท่านั้นที่จะสามารถใช้ได้ภายในไดเรกทอรี PHP และทุกไดเรกทอรีย่อยของ PHP ค่าเริ่มต้นคือไดเรกทอรีปัจจุบันว่าคุกกี้จะถูกตั้งอยู่ใน
domain ไม่จำเป็น. ระบุชื่อโดเมนของคุกกี้ ที่จะทำให้คุกกี้ที่มีอยู่บนโดเมนย่อยทั้งหมดของ example.com ตั้งโดเมน "example.com" การตั้งค่าให้ www.example.com จะทำให้คุกกี้ใช้ได้เฉพาะในโดเมนย่อย www
secure ไม่จำเป็น. ระบุหรือไม่ว่าคุกกี้ควรจะส่งผ่านการเชื่อมต่อ HTTPS ที่ปลอดภัย TRUE บ่งชี้ว่าคุกกี้จะได้รับการตั้งค่าถ้าเชื่อมต่อที่ปลอดภัยที่มีอยู่ เริ่มต้นเป็นเท็จ
httponly ไม่จำเป็น. ถ้าตั้งค่าเป็น TRUE คุกกี้จะสามารถเข้าถึงได้เฉพาะผ่านโปรโตคอล HTTP (the cookie will not be accessible by scripting languages) การตั้งค่านี้สามารถช่วยลดการโจรกรรมผ่านโจมตี XSS เริ่มต้นเป็นเท็จ

รายละเอียดทางเทคนิค

กลับค่า: TRUE ในความสำเร็จ FALSE กับความล้มเหลว
PHP เวอร์ชัน: 4+
PHP การเปลี่ยนแปลง: PHP 5.5 - แอตทริบิวต์ Max-อายุถูกรวมอยู่ในส่วนหัวของคุกกี้ชุดส่งไปยังลูกค้า
PHP 5.2 - พารามิเตอร์ HTTPOnly ถูกเพิ่มเข้ามา

ตัวอย่างอื่น ๆ

ตัวอย่าง

หลายวันหมดอายุสำหรับคุกกี้:

<?php
$value = "Hello world!";

// cookie will expire when the browser close
setcookie("myCookie", $value);

// cookie will expire in 1 hour
setcookie("myCookie", $value, time() + 3600);

// cookie will expire in 1 hour, and will only be available
// within the php directory + all sub-directories of php
setcookie("myCookie", $value, time() + 3600, "/php/");
?>
<html>
<body>

...some code...

</body>
</html>
ตัวอย่างเช่นเรียกใช้»

ตัวอย่าง

หากต้องการแก้ไขคุกกี้เพิ่งตั้ง (again) คุกกี้โดยใช้ setcookie() ฟังก์ชั่น:

<?php
$cookie_name = "user";
$cookie_value = "Alex Porter";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>

<?php
if(!isset($_COOKIE[$cookie_name])) {
    echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
    echo "Cookie '" . $cookie_name . "' is set!<br>";
    echo "Value is: " . $_COOKIE[$cookie_name];
}
?>

</body>
</html>
ตัวอย่างเช่นเรียกใช้»

ตัวอย่าง

ในการลบคุกกี้ใช้ setcookie() ฟังก์ชั่นที่มีวันหมดอายุในอดีตที่ผ่านมา:

<?php
// set the expiration date to one hour ago
setcookie("user", "" , time() - 3600);
?>
<html>
<body>

<?php
echo "Cookie 'user' is deleted.";
?>

</body>
</html>
ตัวอย่างเช่นเรียกใช้»

ตัวอย่าง

สร้างสคริปต์ขนาดเล็กที่จะตรวจสอบว่า cookies จะเปิดใช้งาน ครั้งแรกที่พยายามที่จะสร้างคุกกี้ทดสอบกับ setcookie() ฟังก์ชั่นแล้วนับตัวแปรอาร์เรย์ $ _COOKIE นี้:

<?php
setcookie("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 อ้างอิง