Blog

Trong 2 bài trước chúng ta đã cùng nhau ôn tập lại kiến thức qua 2 bài viết về Đăng ký thành viên và Đăng nhập/Đăng xuất trong Codeigniter, bài viết số 16 này Công ty thiết kế website OTVINA sẽ tiếp tục cùng các bạn tìm hiểu thêm các Thư viện và Helper khác.

Ở bài này chúng ta sẽ cùng nhau tìm hiểu về Helper Cookie trong Codeigniter là 1 helper giúp khởi tạo, lưu trữ và sử dụng Cookie cho website của bạn hay gặp ở 1 số trường hợp các bạn phải lưu trữ dữ liệu trong 1 khoảng thời gian nhất định nào đó như: Nhớ mật khẩu,…

Load helper

Do cookie là 1 helper nên trước khi sử dụng để thiết kế website các bạn đừng quên việc đầu tiên là load helper nhé!

$this->load->helper('cookie');

Tạo cookie

Sau khi đã load helper thành công, mỗi khi cần sử dụng cookie việc tiếp theo bạn cần làm là tạo ra cookie, sau khi cookie được tạo ra nó sẽ được lưu trữ trên máy tính người dùng, mỗi khi tải trang web dữ liệu cookie sẽ được đẩy lại website.

Cú pháp:

set_cookie($name[, $value = ''[, $expire = ''[, $domain = ''[, $path = '/'[, $prefix = ''[, $secure = FALSE[, $httponly = FALSE]]]]]]]]);

Để tạo cookie chúng ta chỉ cần sử dụng function set_cookie(); các tham số có ý nghĩa tương tự như Cookie trong PHP thuần nên Công ty làm website OTVINA sẽ không nói lại phần nội dung này nữa.

Ví dụ:

set_cookie('remember',$username,180*24*60*60);//đơn vị thời gian lưu mật khẩu trong 6 tháng

Vậy là chúng ta đã tạo xong cookie nhớ mật khẩu, việc sau này khi làm đăng nhập là kiểm tra sự tồn tại cookie thì sẽ không yêu cầu người dùng đăng nhập nữa mà sẽ tạo session luôn.

Lấy dữ liệu cookie

Để lấy dữ liệu cookie các bạn sử dụng hàm:

get_cookie($index[, $xss_clean = NULL]])

Trong đó:

  • $index: Là tên của cookie
  • $xss_clean: Kiểu bool, có thể có hoặc không, nếu để TRUE thì dữ liệu cookie sẽ qua bộ lọc xss.

Ví dụ: Phần kiểm tra nếu người dùng đã chọn Nhớ mật khẩu.

$remember= get_cookie('remember');
//Nếu đã có cookie này thì sẽ tạo luôn session cho người dùng để không phải login
if(isset($remember)){
$userdata=array(
'username'=>$username,
'is_member'=>true
);
$this->session->set_userdata('userdata',$userdata);
}

 Xóa cookie

Để xóa cookie bạn sử dụng cú pháp:

delete_cookie($name[, $domain = ''[, $path = '/'[, $prefix = '']]]])

Trong đó: $name là tên cookie muốn xóa, các tham số còn lại là tùy chọn không bắt buộc tương tự như khi tạo cookie.

Như vậy chúng ta đã xong bài học tiếp theo về cookie rồi, mọi thắc mắc các bạn có thể comment bên dưới để nhận được sự trợ giúp kịp thời nhất từ Công ty thiết kế web OTVINA

Cảm ơn các bạn đã theo dõi bài viết <3