Cookie là gì?
Một cookie thường được sử dụng để xác định người dùng. Cookie là một tệp nhỏ mà máy chủ nhúng vào máy tính của người dùng. Mỗi lần cùng một máy tính yêu cầu một trang với trình duyệt, nó cũng sẽ gửi cookie. Với PHP, bạn có thể tạo và truy xuất các giá trị cookie.
Tạo cookie với PHP
Một cookie được tạo với chức năng setcookie[]
.
Cú pháp
setCookie [tên, giá trị, hết hạn, đường dẫn, tên miền, an toàn, httponly];
Chỉ cần tham số tên. Tất cả các tham số khác là tùy chọn.
PHP tạo/truy xuất cookie
Ví dụ sau đây tạo ra một cookie có tên "Người dùng" với giá trị "John Doe". Cookie sẽ hết hạn sau 30 ngày [86400 * 30]. "/" Có nghĩa là cookie có sẵn trong toàn bộ trang web [nếu không, chọn thư mục bạn thích].
Sau đó, chúng tôi lấy giá trị của cookie "người dùng" [sử dụng biến toàn cầu $ _cookie]. Chúng tôi cũng sử dụng chức năng isset[]
để tìm hiểu xem cookie có được đặt không:
Thí dụ
4].
Lưu ý: Tất cả các đối số ngoại trừ tên là tùy chọn. Bạn cũng có thể thay thế một đối số bằng một chuỗi trống [""] để bỏ qua đối số đó, tuy nhiên để bỏ qua đối số hết hạn sử dụng số 0 [0], vì nó là một số nguyên. All the arguments except the name are optional. You may also replace an argument with an empty string [""] in order to skip that argument, however to skip the expire argument use a zero [0] instead, since it is an integer.
CẢNH BÁO: Không lưu trữ dữ liệu nhạy cảm trong cookie vì nó có khả năng bị người dùng độc hại thao túng. Để lưu trữ các phiên sử dụng dữ liệu nhạy cảm thay thế. Don't store sensitive data in cookies since it could potentially be manipulated by the malicious user. To store the sensitive data securely use sessions instead.
Truy cập giá trị cookie
Biến Superglobal PHP
5 được sử dụng để lấy giá trị cookie. Nó thường là một mảng kết hợp có chứa danh sách tất cả các giá trị cookie được gửi bởi trình duyệt trong yêu cầu hiện tại, được khóa bởi tên cookie. Giá trị cookie riêng lẻ có thể được truy cập bằng ký hiệu mảng tiêu chuẩn, ví dụ để hiển thị Cookie tên người dùng được đặt trong ví dụ trước, bạn có thể sử dụng mã sau.
Mã PHP trong ví dụ trên tạo ra đầu ra sau.
John Carter
Đó là một thực tế tốt để kiểm tra xem cookie có được đặt hay không trước khi truy cập giá trị của nó. Để làm điều này, bạn có thể sử dụng chức năng PHP isset[]
, như thế này:
Bạn có thể sử dụng chức năng
7 như
8 để xem cấu trúc của mảng liên kết
5 này, giống như bạn với các mảng khác.Loại bỏ cookie
Bạn có thể xóa cookie bằng cách gọi cùng một hàm setcookie[]
với tên cookie và bất kỳ giá trị nào [chẳng hạn như chuỗi trống] tuy nhiên lần này bạn cần đặt ngày hết hạn trong quá khứ, như trong ví dụ dưới đây:
Mẹo: Bạn nên vượt qua chính xác cùng một đường dẫn, miền và các đối số khác mà bạn đã sử dụng khi lần đầu tiên tạo cookie để đảm bảo rằng cookie chính xác bị xóa. You should pass exactly the same path, domain, and other arguments that you have used when you first created the cookie in order to ensure that the correct cookie is deleted.