Hướng dẫn how we can get the cookie values in php? - làm thế nào chúng ta có thể nhận được các giá trị cookie trong php?


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ế).




Function session_name sẽ cung cấp cho bạn hàm băm mà bạn định danh định số phiên. Có vẻ như bạn muốn có tên người dùng được lưu trữ trong phiên, phải không? Trong trường hợp đó, bạn nên sử dụng mảng $ _Session.

Ví dụ về mã:

setcookie($_SESSION['USERNAME'],'HAMZA',1,
      isset($params['path']),
      isset($params['domain']),
      isset($params['secure']),
      isset($params['httponly']));

Và bạn có thể hiểu như thế này:

$myCookie = $_COOKIE[$_SESSION['USERNAME']];

Nhưng từ mã thứ hai của bạn, không rõ những gì bạn muốn nhận được. Nếu bạn muốn yêu cầu $ _Cookie ['Tên người dùng'] và nhận 'Hamza' thì bạn nên đặt nó như thế này:

setcookie('USERNAME','HAMZA',1,
      isset($params['path']),
      isset($params['domain']),
      isset($params['secure']),
      isset($params['httponly']));

Và khi bạn truy xuất nó $ name == 'Tên người dùng' không có ý nghĩa, bởi vì nó sẽ giống như $ name == 'Hamza':

$NAME=$_COOKIE['USERNAME'];
echo $_COOKIE['USERNAME'];

if(isset($NAME))
{
      if($NAME=='HAMZA')
      {
          echo "success";
      }
      else
     {
          echo "error";       
     }    
 }

Chỉ cần gọi Document.Cookie để lấy giá trị hiện tại của tất cả các cookie. Sau đó, bạn có thể lưu trữ giá trị này trong một biến để thao tác thêm.call document. cookie to retrieve the current value of all cookies. You can then store this value in a variable for further manipulation.
Cookie sẽ được gửi mỗi khi cùng một máy yêu cầu một trang thông qua trình duyệt. Giá trị cookie có thể được tạo và lấy bằng cookie trong PHP. Cookies là các tệp văn bản được lưu trên máy khách cho mục đích giám sát. PHP chấp nhận cookie HTTP vô hình.Cookie values can be created and retrieved using cookies in PHP. Cookies are text files that are saved on the client computer for the purpose of monitoring. PHP accepts HTTP cookies invisibly.
Nếu bạn muốn xóa cookie thì hãy đặt ngày hết hạn cookie thành thời gian hiện tại.Nếu bạn muốn hiển thị cookie thì bạn có thể lặp lại cookie bằng $ _cookie ['name'] và nó sẽ in chi tiết cookie.set the cookie expiry date to the current time. If you want to display the cookie then you can echo the cookie by $_cookie['name'] and it will print the cookie details.
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.