คำสั่งอย่างง่ายในการ กำหนดตัวแปร cookie ด้วย php มีรูปแบบ ดังนี้
setcookie("cookie1", "cookie1",time()+3600);
รูปแบบ
setcookie("ชื่อตัวแปร", "ค่าตัวแปร",วันที่หมดอายุ เป็น เวลา Unix timestamp);
ตัวอย่างเงื่อนไข
- ต้องการสร้างตัวแปร cookie ชื่อ cookie1
- เก็บค่าตัวแปร เท่ากับ ทดสอบ
- และให้ตัวแปร cookie ที่สร้างมีอายุ หรือมีค่าคงอยู่ เป็นเวลา 1 ชั่วโมง หลังจาก กำหนดตัวแปรแล้ว
เริ่มต้นเขียนโค้ด
การกำหนดตัวแปร cookie โดย php จะต้องเขียนโค้ดไว้ด้านบนสุดของ ไฟล์
และจะต้องไม่มีช่องว่าง ก่อนโค้ดคำสั่ง ไม่เช่นนั้น โค้ดการกำหนดตัวแปรจะไม่ทำงาน
<?php if(!isset($_COOKIE["cookie1"])){ // เช็คว่ามีตัวแปรนี้อยู่ก่อนแล้วหรือไม่ setcookie("cookie1", "ทดสอบ",time()+3600); // กำหนดตัวแปร } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body> </body> </html>
หมายเหตุ:
เมื่อมีการกำหนดตัวแปร cookie ด้วย php ในไฟล์ใดๆ แล้ว ค่าตัวแปร cookie จะสามารถเรียกใช้งาน ผ่านรูปแบบตัวแปร $_COOKIE["ชื่อตัวแปร"] ในตัวอย่างด้านบนคือ $_COOKIE["cookie1"] โดยสามารถเรียกใช้งานได้ในทุกๆ โฟลเดอร์ ของโดเมนนั้นๆ
ตัวอย่างการเรียกใช้งาน
<?php echo $_COOKIE["cookie"]; // ผลลัพธ์ แสดงคำว่า ทดสอบ ?>
การกำหนดตัวแปร cookie ด้วย php โดยกำหนดคำสั่งไว้ด้านบน ของไฟล์ ดังกล่าวข้างต้น ค่าตัวแปร จะเกิดขึ้นหลังจากมีการรันไฟล์ หรือเปิดไฟล์นั้นแล้ว 1 ครั้ง
ดังนั้นถ้ากำหนดค่าด้านบน แล้ว ให้แสดงค่าเลย ในครั้งแรก ค่าตัวแปรจะไม่แสดง แต่จะแสดงอีกครั้งเมื่อทำการรีเฟรสหน้าเพจนั้นๆ อีกครั้ง
<?php if(!isset($_COOKIE["cookie1"])){ // เช็คว่ามีตัวแปรนี้อยู่ก่อนแล้วหรือไม่ setcookie("cookie1", "ทดสอบ",time()+3600); // กำหนดตัวแปร } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <?php echo $_COOKIE["cookie"]; // ผลลัพธ์ แสดงคำว่า ทดสอบ ?> </body> </html>