Cookie trong PHP

Mục Lục:

1. Cookie là gì?

Cookie thường được sử dụng để xác định người dùng. Cookie là một tệp tin nhỏ mà máy chủ được nhúng vào máy tính của người dùng. Mỗi khi 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à lấy các giá trị cookie.

2. Tạo Cookie trong PHP

Cookie được tạo với hàm setcookie().

Cú pháp:

        setcookie(name, value, expire, path, domain, secure, httponly);
    

Chỉ cần tham số name là bắt buộc. Tất cả các thông số khác là tùy chọn.

3. Truy xuất Cookie trong PHP

Ví dụ sau tạo một cookie có tên là "user" với giá trị "John Doe". Cookie sẽ hết hạn sau 30 ngày (86400 * 30).

Sau đó sẽ lấy giá trị của cookie "user" (sử dụng biến toàn cầu $_COOKIE), sử dụng hàm isset() để kiểm tra sự tồn tại của cookie

        $cookie_name = "user";
        $cookie_value = "John Doe";
        setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day

        if(!isset($_COOKIE[$cookie_name])) {
            echo "Cookie named '" . $cookie_name . "' is not set!";
        } else {
            echo "Cookie '" . $cookie_name . "' is set!
"; echo "Value is: " . $_COOKIE[$cookie_name]; }
Xem ví dụ »

4. Cập nhật Cookie trong PHP

Để sửa đổi một cookie, chỉ cần đặt lại cookie bằng hàm setcookie():

        $cookie_name = "user";
        $cookie_value = "Alex Porter";
        setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");

        if(!isset($_COOKIE[$cookie_name])) {
            echo "Cookie named '" . $cookie_name . "' is not set!";
        } else {
            echo "Cookie '" . $cookie_name . "' is set!
"; echo "Value is: " . $_COOKIE[$cookie_name]; }
Xem ví dụ »

5. Xóa Cookie trong PHP

Để xóa cookie, hãy sử dụng hàm setcookie() với một ngày hết hạn trong quá khứ:

        // set the expiration date to one hour ago
        setcookie("user", "", time() - 3600);

        echo "Cookie 'user' is deleted.";
    
Xem ví dụ »

6. Kiểm tra xem Cookies có được bật hay không

Đầu tiên tạo 1 cookie với hàm setcookie (), sau đó đếm mảng $_COOKIE:

        setcookie("test_cookie", "test", time() + 3600, '/');

        if(count($_COOKIE) > 0) {
            echo "Cookies are enabled.";
        } else {
            echo "Cookies are disabled.";
        }
    
Xem ví dụ »