Làm cách nào để đặt cookie ở dạng đăng nhập trong PHP?

Ví dụ sau tạo 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, hãy chọn thư mục bạn muốn)

Sau đó, chúng tôi truy xuất giá trị của cookie "người dùng" (sử dụng biến toàn cục $_COOKIE). Chúng tôi cũng sử dụng chức năng isset() để tìm hiểu xem cookie có được đặt


$cookie_name = "người dùng";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() +
?>

nếu(. isset($_COOKIE[$cookie_name])) {
    echo "Cookie name '". $cookie_name. "' không được đặt. ";
} other {
    echo "Cookie '". $cookie_name. "' được thiết lập.
";
    echo "Giá trị là. ". $_COOKIE[$cookie_name];
}
?>


Tự mình thử »

Định nghĩa và cách sử dụng

Hàm setcookie() xác định một cookie sẽ được gửi cùng với phần còn lại của các tiêu đề HTTP

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 khi cùng một máy tính yêu cầu một trang có 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ên của cookie được tự động gán cho một biến cùng tên. Ví dụ: nếu một cookie được gửi với tên "người dùng", một biến được tạo tự động có tên là $user, chứa giá trị cookie

Ghi chú. Hàm setcookie() phải xuất hiện TRƯỚC thẻ

Ghi chú. Giá trị của cookie được tự động mã hóa URL khi gửi cookie và tự động giải mã khi nhận được (để ngăn mã hóa URL, thay vào đó hãy sử dụng setrawcookie())

cú pháp

setcookie(tên, giá trị, hết hạn, đường dẫn, tên miền, bảo mật, chỉ http);

Giá trị tham số

Thông sốTên mô tảBắt buộc. Chỉ định tên của cookievalueOptional. Chỉ định giá trị của cookieexpireOptional. Chỉ định khi cookie hết hạn. Giá trị. time()+86400*30, sẽ đặt cookie hết hạn sau 30 ngày. Nếu tham số này bị bỏ qua hoặc được đặt thành 0, cookie sẽ hết hạn vào cuối phiên (khi đóng trình duyệt). Mặc định là 0pathTùy chọn. Chỉ định đường dẫn máy chủ của cookie. Nếu được đặt thành "/", cookie sẽ khả dụng trong toàn bộ miền. Nếu được đặt thành "/php/", cookie sẽ chỉ khả dụng trong thư mục php và tất cả các thư mục con của php. Giá trị mặc định là thư mục hiện tại mà cookie đang được đặt indomainOptional. Chỉ định tên miền của cookie. Để làm cho cookie có sẵn trên tất cả các tên miền phụ của ví dụ. com, đặt tên miền thành "ví dụ. com". Đặt nó thành www. ví dụ. com sẽ làm cho cookie chỉ khả dụng trong tên miền phụ wwwsecureOptional. Chỉ định có hay không cookie chỉ được truyền qua kết nối HTTPS an toàn. TRUE chỉ ra rằng cookie sẽ chỉ được đặt nếu tồn tại kết nối an toàn. Mặc định là FALSEhttponlyTùy chọn. Nếu được đặt thành TRUE, cookie sẽ chỉ có thể truy cập được thông qua giao thức HTTP (cookie sẽ không thể truy cập được bằng ngôn ngữ tập lệnh). Cài đặt này có thể giúp giảm hành vi trộm cắp danh tính thông qua các cuộc tấn công XSS. Mặc định là SAI

chi tiết kỹ thuật

Giá trị trả về. ĐÚNG về thành công. FALSE trên failPhiên bản PHP. 4+Nhật ký thay đổi PHP. PHP5. 5 - Thuộc tính Max-Age được bao gồm trong tiêu đề Set-Cookie được gửi tới ứng dụng khách
PHP 5. 2 - Tham số httponly đã được thêm vào

Thêm ví dụ

Ví dụ

Một số ngày hết hạn cho cookie

$value = "Xin chào thế giới. “;

// cookie sẽ hết hạn khi đóng trình duyệt
setcookie("myCookie", $value);

// cookie sẽ hết hạn sau 1 giờ nữa
setcookie("myCookie", $value, time() + 3600);

// cookie sẽ hết hạn sau 1 giờ và sẽ chỉ khả dụng
// trong thư mục php + tất cả các thư mục con của php
setcookie("myCookie", $value, time() + 3600, "/php/");
?>

một số mã


Tự mình thử »

Ví dụ

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

$cookie_name = "người dùng";
$cookie_value = "Alex Porter";
setcookie($cookie_name, $cookie_value, time() +
?>

nếu(. isset($_COOKIE[$cookie_name])) {
    echo "Cookie name '". $cookie_name. "' không được đặt. ";
} other {
    echo "Cookie '". $cookie_name. "' được thiết lập.
";
    echo "Giá trị là. ". $_COOKIE[$cookie_name];
}
?>


Tự mình thử »

Ví dụ

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

// đặt ngày hết hạn thành một giờ trước
setcookie("user", "", time() - 3600);
?

echo "Cookie 'người dùng' đã bị xóa. ";
?>


Tự mình thử »

Ví dụ

Tạo một tập lệnh nhỏ để kiểm tra xem cookie có được bật hay không. Đầu tiên, hãy thử tạo một cookie thử nghiệm với hàm setcookie(), sau đó đếm biến mảng $_COOKIE

Tạo một Biểu mẫu PHP đơn giản với tên người dùng (trường văn bản), mật khẩu (trường mật khẩu), ghi nhớ (hộp kiểm) & nút Đăng nhập (gửi). Nếu người dùng chọn chức năng 'ghi nhớ', hãy lưu tên người dùng và mật khẩu vào cookie. Khi Biểu mẫu đăng nhập tải, hiển thị tên người dùng và mật khẩu đã lưu gần đây từ cookie
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 khi cùng một máy tính yêu cầu một trang có 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.
PHP Nhớ tôi Cookie . Bạn có thể đặt cookie bằng hàm setcookie() . PHP hỗ trợ cookie HTTP một cách minh bạch, vì vậy setcookie() phải được gọi trước khi bất kỳ đầu ra nào được gửi tới trình duyệt.