Session và Cookie dùng để lưu trữ dữ liệu tạm thời. Cả hai tuy có chung chức năng là lưu trữ dữ liệu nhưng bên trong nó lại khác nhau. Session dùng để lưu trữ dữ liệu trên Server. Còn Cookie thì lưu trữ dữ liệu trên máy Client.
Trước khi bạn sử dụng session chúng ta cần đăng ký session bằng session_start() phía trên đầu mỗi file. (Lưu ý là trên đầu file nếu có ký tự trống nào trước nó sẽ gây lỗi)
1 2 3 4 5 6 7 8 9 10 11 |
<?php session_start(); ?> <!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <div>Ví dụ đăng ký session</div> </body> </html> |
Lưu trữ thì đơn giản ví dụ:
1 2 |
$_SESSION['session_name1'] = 'abc'; $_SESSION['session_name2'] = array(1,2,3); |
Nói chung là nó có thể chứa tạm thời các kiểu dữ liệu như string, array…
Cũng cực kỳ đơn giản:
1 2 3 4 5 |
echo $_SESSION['session_name1']; echo implode(" ",$_SESSION['session_name2']); //Kết quả: abc 1 2 3 |
1 2 3 4 5 |
// Xóa session name unset($_SESSION['session_name1']); unset($_SESSION['session_name2']); // Xóa hết session session_destroy(); |
Cookie sẽ không bị mất khi bạn đóng ứng dụng, nó có thời gian lưu trữ do chúng ta định nghĩa ví dụ tôi muốn lưu một mã affiliate 30 ngày chẳn hạng, trừ khi người dùng xóa dữ liệu trình duyệt của họ
Để lưu trữ Cookie ta dùng cú pháp sau và phải đặt trước thẻ html: setcookie($name, $value, $expire, $path, $domain).
Trong đó:
$name: là tên của Cookie
$value: giá trị của Cookie
$expire: thời gian sống của Cookie
$path : đường dẫn lưu trữ Cookie
$domain: tên của domain
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<!DOCTYPE html> <?php //lưu affiliate_id thời hạn 30 ngày kể từ ngày set setcookie('affiliate_id', '12564', time() + (86400 * 30), "/"); ?> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> </body> </html> |
Quá đơn giản ví dụ
1 2 |
echo $_COOKIE['affiliate_id']; //trả về 12564 |
Khi thời hạn nó hết thì nó tự xóa, còn muốn xóa ngay tức khắc thì
1 |
setcookie("affiliate_id", "", time() - 3600); |
Mọi sự sao chép xin ghi rõ nguồn là fcwordpress.net
Chuyên trang về wordpress: hướng dẫn thiết kế theme, plugin, thủ thuật wordpress