Bài viết được sự cho phép của tác giả Thầy Long Web
PHP và cookie nói về việc sử dụng các biến cookie với PHP: Tác dụng của cookie, Tạo biến cookie, lấy giá trị để dùng, xóa biến cookie…
Cookie là gì?
Cookie là nơi lưu các giá trị trong trình duyệt. Các giá trị được lưu trong cookie có thể dùng chung giữa nhiều trang web trong website của bạn. Nghĩa là trong một trang web nào đó bạn lưu một giá trị vào cookie thì các trang web khác cũng có thể truy xuất được giá trị này.
Vùng Cookie nằm trong trình duyệt. Các giá trị được lưu vào cookie được gọi là biến cookie. Vùng Cookie là nơi rất lý tưởng để lưu các giá trị mang lại tiện ích cho người xem web.
Ví dụ một user nọ lần đầu vào trang của bạn. Bạn mời họ chọn ngôn ngữ để hiển thị, lần sau họ vào thì không hỏi nữa mà hiện đúng ngôn ngữ họ đã chọn trước đó. Do bạn đã lưu ngôn ngữ họ chọn vào cookie, giờ lấy ra dùng không hỏi gì nữa.
Cookie khác với session ở chỗ vị trí của nó là “ở client”. Nơi lưu trữ lâu dài các thông tin riêng của user trong quá trình sử dụng website.
Tạo một biến cookie
Để tạo một biến cookie lưu trong trình duyệt thì dùng hàm setcookie. Tham số đầu tiên là tên biến, , tham số thứ hai là giá trị, tham số thứ ba là thời điểm mà biến cookie quá hạn. Nếu tham số thứ ba không có thì thời điểm quá hạn là khi user đóng tag trình duyệt. Ví dụ:
<?php setcookie("tôngmàu", "xanh", time()+ 3600 ); //hết hạn sau 1 giờ setcookie('username', 'teonv', time()+ 3600*24);//quá hạn sau 1 ngày setcookie("đãlogin", 1); //hết hạn khi user đóng tab browser ?>
Sau khi response xong, biến cookie sẽ được tạo ra và lưu trong trình duyệt. Khi quá hạn trình duyệt sẽ tự động xóa biến cookie.
Lấy giá trị của biến cookie
Mảng $_COOKIE thứ quan trọng nhất cần biết trong chủ đề PHP và cookie. Vì mảng $_COOKIE là nơi chứa các biến cookie để bạn lấy ra dùng.
Lấy ra giá trị của 1 biến cookie , dùng cú pháp $_COOKIE[‘tên’]; Ví dụ:
<?php $un = $_COOKIE['username']; $mau = $_COOKIE['tôngmàu']; echo "$un , $mau"; //teonv , xanh ?>
Xóa một biến cookie
Nếu mể xóa 1 biến cookie trong trình duyệt dùng php thì Bạn dùng hàm setcookie nhưng chỉ định thời điểm quá hạn là số âm. Ví dụ:
<?php setcookie("username","",-1 ); //c3.php ?>
Tham khảo việc làm PHP lương cao tại TopDev
Xem các biến cookie trong trình duyệt
Muốn xem các biến cookie trong trình duyệt trình mở Developer Toolbox => vào tab Aplication => chọn mục Cookies bên cột trái => chọn domain website của bạn. Các biến cookie chưa hết hạn sẽ hiện hết ở đây. Và nếu muốn thì bạn có thể xóa hoặc chỉnh sửa giá trị của 1 biến cookue cũng được.
Trình duyệt gửi cookie lên server
Mỗi lần user request lên server , trình duyệt sẽ gửi tất cả các biến cookie mà website bạn đã tạo lên server. Trên server, các biến cookie này được lưu vào mảng $_COOKIE , cho nên bạn mới có mà dùng.
Xử lý biến cookie quá hạn
Các biến cookie có thể tồn tại trong trình duyệt 1 thời gian rất dài. Vài ngày vài tháng chẳng hạn. Khi các biến cookie quá hạn thì sao? Trình duyệt tự động xóa chúng. Bạn không cần phải lo.
Bài viết gốc được đăng tải tại longnv.name.vn
Xem thêm:
- Tìm hiểu về HTTP Cookies
- Xử lý và làm việc với Cookies trong Selenium Webdriver
- Bạn đã biết cách lưu trữ Refresh Token và Access Token an toàn trong trình duyệt chưa?
Xem thêm Việc làm IT hấp dẫn trên TopDev