Hướng dẫn what php function is used to read cookies? - hàm php nào được sử dụng để đọc cookie?


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.


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.


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ụ

$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];
}
?>


Chạy ví dụ »

Lưu ý: Hàm setcookie() phải xuất hiện trước thẻ. The setcookie() function must appear BEFORE the tag.

Lưu ý: Giá trị của cookie được tự động được mã hóa khi gửi cookie và tự động được giải mã khi nhận được (để ngăn chặn urlencoding, sử dụng setrawcookie() thay thế). The value of the cookie is automatically URLencoded when sending the cookie, and automatically decoded when received (to prevent URLencoding, use setrawcookie() instead).



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

Thí dụ

$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];
}
?>


Chạy ví dụ »


Lưu ý: Hàm setcookie() phải xuất hiện trước thẻ.

Lưu ý: Giá trị của cookie được tự động được mã hóa khi gửi cookie và tự động được giải mã khi nhận được (để ngăn chặn urlencoding, sử dụng setrawcookie() thay thế).

Thí dụ

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

echo "Cookie 'user' is deleted.";
?>


Chạy ví dụ »


Lưu ý: Hàm setcookie() phải xuất hiện trước thẻ.

Lưu ý: Giá trị của cookie được tự động được mã hóa khi gửi cookie và tự động được giải mã khi nhận được (để ngăn chặn urlencoding, sử dụng setrawcookie() thay thế).

Thí dụ

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

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


Chạy ví dụ »


Lưu ý: Hàm setcookie() phải xuất hiện trước thẻ.

Lưu ý: Giá trị của cookie được tự động được mã hóa khi gửi cookie và tự động được giải mã khi nhận được (để ngăn chặn urlencoding, sử dụng setrawcookie() thay thế).




Trong hướng dẫn này, bạn sẽ tìm hiểu cách lưu trữ một lượng nhỏ thông tin trong bản thân trình duyệt của người dùng bằng cách sử dụng cookie PHP.

Cookie là một tệp văn bản nhỏ cho phép bạn lưu trữ một lượng nhỏ dữ liệu (gần 4kb) trên máy tính của người dùng. Chúng thường được sử dụng để theo dõi thông tin như tên người dùng mà trang web có thể truy xuất để cá nhân hóa trang khi người dùng truy cập trang web vào lần tới.

Mẹo: Mỗi lần trình duyệt yêu cầu một trang đến máy chủ, tất cả dữ liệu trong cookie sẽ tự động gửi đến máy chủ trong yêu cầu. Each time the browser requests a page to the server, all the data in the cookie is automatically sent to the server within the request.

Hàm setcookie() được sử dụng để đặt cookie trong PHP. Đảm bảo bạn gọi hàm setcookie() trước khi bất kỳ đầu ra nào được tạo bởi tập lệnh của bạn nếu không cookie sẽ không được đặt. Cú pháp cơ bản của chức năng này có thể được đưa ra với:

setCookie (tên, giá trị, hết hạn, đường dẫn, tên miền, an toàn);(name, value, expire, path, domain, secure);

Các tham số của hàm setcookie() có ý nghĩa sau:

Tham sốSự mô tả
4
Tên của cookie.
5
Giá trị của cookie. Không lưu trữ thông tin nhạy cảm vì giá trị này được lưu trữ trên máy tính của người dùng.
6
Ngày hết hạn ở định dạng dấu thời gian UNIX. Sau thời gian này, Cookie sẽ không thể tiếp cận được. Giá trị mặc định là 0.
7
Chỉ định đường dẫn trên máy chủ mà cookie sẽ có sẵn. Nếu được đặt thành
8, cookie sẽ có sẵn trong toàn bộ miền.
9
Chỉ định tên miền mà cookie có sẵn cho www.example.com.
0
Trường này, nếu có, chỉ ra rằng cookie chỉ nên được gửi nếu kết nối HTTPS an toàn tồn tại.

Mẹo: Nếu thời gian hết hạn của cookie được đặt thành 0 hoặc bị bỏ qua, cookie sẽ hết hạn vào cuối phiên, tức là khi trình duyệt đóng. If the expiration time of the cookie is set to 0, or omitted, the cookie will expire at the end of the session i.e. when the browser closes.

Dưới đây là một ví dụ sử dụng hàm setcookie() để tạo cookie có tên

2 và gán giá trị giá trị
3 cho nó. Nó cũng chỉ định rằng cookie sẽ hết hạn sau 30 ngày (
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.


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.


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.

Hàm setCookie () định nghĩa một cookie sẽ được gửi cùng với phần còn lại của các tiêu đề HTTP. 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.setcookie() function defines a cookie to be sent along with the rest of the HTTP headers. A cookie is often used to identify a user. A cookie is a small file that the server embeds on the user's computer. Each time the same computer requests a page with a browser, it will send the cookie too.
Đọc cookie trong PHP rất đơn giản.Bạn cần sử dụng biến Superglobal $ _Cookie để đọc cookie có sẵn.Trên thực tế, biến $ _Cookie là một mảng chứa tất cả các cookie.You need to use the $_COOKIE superglobal variable to read available cookies. In fact, the $_COOKIE variable is an array which contains all cookies.
Truy cập giá trị cookie Php $ _cookie Superglobal Biến đượ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.The PHP $_COOKIE superglobal variable is used to retrieve a cookie value. It typically an associative array that contains a list of all the cookies values sent by the browser in the current request, keyed by cookie name.
Cookie luôn được lưu trữ trong máy khách.Đường dẫn chỉ đặt ra các hạn chế đối với những trang từ xa có thể truy cập cookie đã nói.Ví dụ: nếu bạn đặt cookie với đường dẫn "/foo/" thì chỉ các trang trong thư mục "/foo/" và thư mục con của "/foo/" có thể đọc cookie.in the client. The path only sets restrictions to what remote pages can access said cookies. For example, if you set a cookie with the path "/foo/" then only pages in the directory "/foo/" and subdirectories of "/foo/" can read the cookie.