CodeIgniter - การจัดการคุกกี้
คุกกี้คือข้อมูลชิ้นเล็ก ๆ ที่ส่งจากเว็บเซิร์ฟเวอร์ไปเก็บไว้ในคอมพิวเตอร์ของลูกค้า CodeIgniter มีตัวช่วยหนึ่งที่เรียกว่า“ Cookie Helper” สำหรับการจัดการคุกกี้
Syntax |
set_cookie ( $ name [, $ value = '' [, $ expire = '' [, $ domain = '' [, $ path = '/' [, $ prefix = '' [, $ secure = FALSE [, $ httponly = FALSE ]]]]]]]) |
Parameters |
|
Return Type |
เป็นโมฆะ |
ใน set_cookie()ฟังก์ชันเราสามารถส่งผ่านค่าทั้งหมดโดยใช้สองวิธี ในวิธีแรกสามารถส่งผ่านอาร์เรย์ได้เท่านั้นและในวิธีที่สองสามารถส่งผ่านพารามิเตอร์แต่ละตัวได้
Syntax |
get_cookie ( $ index [, $ xss_clean = NULL ]]) |
Parameters |
|
Return |
ค่าคุกกี้หรือค่า NULL หากไม่พบ |
Return Type |
ผสม |
get_cookie() ฟังก์ชันใช้เพื่อรับคุกกี้ที่ตั้งค่าโดยใช้ฟังก์ชัน set_cookie ()
Syntax |
delete_cookie ( $ name [, $ domain = '' [, $ path = '/' [, $ prefix = '' ]]]) |
Parameters |
|
Return Type |
เป็นโมฆะ |
delete_cookie() ฟังก์ชันใช้ในการลบคุกกี้ ()
ตัวอย่าง
สร้างตัวควบคุมที่เรียกว่า Cookie_controller.php และบันทึกไว้ที่ application/controller/Cookie_controller.php
<?php
class Cookie_controller extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->helper(array('cookie', 'url'));
}
public function index() {
set_cookie('cookie_name','cookie_value','3600');
$this->load->view('Cookie_view');
}
public function display_cookie() {
echo get_cookie('cookie_name');
$this->load->view('Cookie_view');
}
public function deletecookie() {
delete_cookie('cookie_name');
redirect('cookie/display');
}
}
?>
สร้างไฟล์มุมมองที่เรียกว่า Cookie_view.php และบันทึกไว้ที่ application/views/Cookie_view.php
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>CodeIgniter View Example</title>
</head>
<body>
<a href = 'display'>Click Here</a> to view the cookie.<br>
<a href = 'delete'>Click Here</a> to delete the cookie.
</body>
</html>
เปลี่ยนไฟล์ route.php ใน application / config / route.php เพื่อเพิ่มเส้นทางสำหรับคอนโทรลเลอร์ด้านบนและเพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์
$route['cookie'] = "Cookie_controller";
$route['cookie/display'] = "Cookie_controller/display_cookie";
$route['cookie/delete'] = "Cookie_controller/deletecookie";
หลังจากนั้นคุณสามารถเรียกใช้ URL ต่อไปนี้ในเบราว์เซอร์เพื่อดำเนินการตามตัวอย่าง
http://yoursite.com/index.php/cookie
มันจะสร้างผลลัพธ์ดังที่แสดงในภาพหน้าจอต่อไปนี้