การใช้งาน Cookie เบื้องต้น
เวลาเราจะเก็บข้อมูลเล็กๆ น้อยเกี่ยวกับผู้เยี่ยมชมคนนั้น ซึ่งข้อมูลดังกล่าวอาจจะไม่ได้เป็นข้อมูลที่มีความสำคัญมาก เราสามารถใช้ cookie ในการเก็บข้อมูลของผู้เยี่ยมชมคนนั้นได้ เช่นเราอาจจะเก็บว่า ผู้เยี่ยมชมคนนั้น ชอบเนื้อหาภาษาอะไร เป็นต้น ในบทความนี้เราจะมาเรียนรู้วิธีการเก็บข้อมูลกันครับ ด้วย Cookie กันครับ
Cookie คืออะไร?
Cookie คือ ข้อมูลส่วนหนึ่ง ซึ่งถูกส่งจากเครื่องเซิร์ฟเวอร์ สู่บราวเซอร์ แล้วบราวเซอร์ก็จะส่งข้อมูลดังกล่าวกลับไปให้เซิร์ฟเวอร์ และด้วยการใช้ Cookie จะช่วยให้เว็บเพจที่คุณเข้าไปเยี่ยมชมนั้นสามารถจดจำได้ว่าคุณเคยเลือกค่าใดๆ ยกตัวอย่างเช่น เว็บไซต์ฟังเพลงออนไลน์ คุณสามารถเลือกเพลงที่ต้องการฟัง แล้วเก็บไว้ใน Playlist ได้เป็นต้น อีกทั้ง Cookie ยังสามารถใช้ในการเก็บข้อมูลเกี่ยวกับ log-in data, การตั้งค่าของผู้ใช้ได้อีกด้วย เป็นต้น
คำอธิบายง่ายๆ style nattster : สมมติว่าเราเก็บข้อมูลเกี่ยวกับผู้ใช้ไว้ในตัวแปร เราสามารถส่งตัวแปรนั้นลงไปเก็บไว้ในเครื่องผู้ใช้ แล้วเวลาผู้ใช้กลับเข้ามาที่เว็บเราอีก เราก็สามารถดึงค่าของตัวแปรดังกล่าวมาคำนวณได้ เป็นต้น
Cookie ใน php
ในภาษา php มีคำสั่งที่สำคัญเกี่ยวกับ cookie อยู่ 1 คำสั่ง คือ setcookie() และตัวแปรที่สำคัญอีกตัวหนึ่ง คือ $_COOKIE เราจะมาลองศึกษาดูครับ ว่าแต่ละตัว ใช้งานอย่างไร
การใช้ setcookie : การเก็บข้อมูลด้วย Cookie ครับ
เราจะใช้คำสั่ง setcookie เมื่อเราต้องการเก็บค่าไว้ เพื่อใช้ในการคำนวณครั้งต่อไป
รูปแบบคำสั่ง
setcookie( ชื่อ cookie, ค่าที่ต้องการบันทึก , เวลาหมดอายุ )
ตัวอย่างการใช้
setcookie('name', 'Mr.Foo'); // เป็นการ สร้าง cookie ชื่อ name โดยกำหนดให้มีค่าเท่ากับ Mr.Foo
setcookie('lastname', 'Bar', time()+3600); // เป็นการสร้าง cookie ชื่อ lastname โดยกำหนดให้มีค่าเท่ากับ Bar
//และ Cookie นี้มีอายุ 3600 วินาที หรือ 1 ชั่วโมงนั่นเองโดยปกติ ในการสร้าง cookie เราจะกำหนดอายุของ cookie ด้วย ในกรณีที่ cookie ดังกล่าวเก็บข้อมูลที่ค่อนข้างเป็นส่วนตัวเพื่อรักษาความปลอดภัยครับ
ตัวแปร $_COOKIE : การเรียกค่าคืนกลับมา
เมื่อเราเก็บค่าด้วย cookie แล้ว เราสามารถดึงค่าดังกล่าวกลับมาใช้ได้อีก เพื่อการคำนวณใดๆ หรือการแสดงผลใดๆ
echo 'สวัสดีครับ คุณ'.$_COOKIE['name']; // เป็นการนำค่าใน cookie ที่ชื่อ name มาแสดงครับ
การตรวจสอบว่า มี cookie นั้นอยู่รึเปล่า?
เราสามารถ check ว่า ผู้ใช้คนนั้นมี cookie ที่ชื่อ name อยู่รึเปล่า เราสามารถใช้คำสั่ง isset มาประยุกต์ใช้ได้ครับ
if (isset($_COOKIE['name'])) {
echo 'สวัสดีครับ คุณ'.$_COOKIE['name'];
} else {
echo 'กรุณากรอกชื่อของคุณด้วยครับ';
}สรุปง่ายๆ
เราสามารถใช้ cookie ในการเก็บค่าได้เหมือนกับตัวแปรตัวหนึ่ง เพียงแต่ว่า เวลาเราจะใช้คำสั่ง setcookie เราจะต้องสั่งไว้ที่หัวกระดาษ ก่อนที่จะ มีการแสดง tag ใดๆ ในหน้าเว็บ เพราะ cookie จะถูกรวมเข้ากับ header ซึ่งจะต้องถูกส่งไปยัง browser ก่อนที่เนื้อหาใดๆ จะถูกส่งไป ครับ
Post new comment