Làm cách nào tôi có thể nhận cookie trong PHP?

Cookie là một tệp nhỏ có kích thước tối đa là 4KB mà máy chủ web lưu trữ trên máy khách

Khi cookie đã được đặt, tất cả các yêu cầu trang theo sau sẽ trả lại tên và giá trị cookie

Cookie chỉ có thể được đọc từ tên miền mà nó đã được phát hành từ đó. Ví dụ: bộ cookie sử dụng tên miền www. gu99. com không thể được đọc từ sự nghiệp tên miền. gu99. com

Hầu hết các trang web trên internet hiển thị các yếu tố từ các lĩnh vực khác như quảng cáo. Các miền phục vụ các phần tử này cũng có thể đặt cookie của riêng chúng. Chúng được gọi là cookie của bên thứ ba

Cookie do người dùng tạo chỉ có thể hiển thị với họ. Người dùng khác không thể nhìn thấy giá trị của nó

Hầu hết các trình duyệt web đều có tùy chọn tắt cookie, cookie của bên thứ ba hoặc cả hai

Nếu trường hợp này xảy ra thì PHP sẽ phản hồi bằng cách chuyển mã thông báo cookie vào URL

Sơ đồ hiển thị bên dưới minh họa cách thức hoạt động của cookie

Làm cách nào tôi có thể nhận cookie trong PHP?

Nơi đây,

1) Người dùng yêu cầu trang lưu trữ cookie

2) Máy chủ đặt cookie trên máy tính của người dùng

3) Các yêu cầu trang khác từ người dùng sẽ trả lại tên và giá trị cookie

Trong hướng dẫn này, bạn sẽ học-

Tại sao và khi nào nên sử dụng Cookies?

  • Http là một giao thức không trạng thái; . Đường dẫn cookie được lưu trữ tùy thuộc vào trình duyệt. Internet Explorer thường lưu trữ chúng trong thư mục Tệp Internet tạm thời
  • Cá nhân hóa trải nghiệm người dùng – điều này đạt được bằng cách cho phép người dùng chọn tùy chọn của họ. Trang được yêu cầu theo dõi được cá nhân hóa dựa trên các tùy chọn đã đặt trong cookie
  • Theo dõi các trang được truy cập bởi người dùng

Bây giờ hãy xem cú pháp cơ bản được sử dụng để tạo cookie

boxhoidap.com, [secure], [httponly]);

?>

NƠI ĐÂY,

  • Php“setcookie” là hàm PHP dùng để tạo cookie
  • “cookie_name” là tên của cookie mà máy chủ sẽ sử dụng khi truy xuất giá trị của nó từ biến mảng $_COOKIE. Nó bắt buộc
  • “cookie_value” là giá trị của cookie và giá trị bắt buộc của nó
  • “[expiry_time]” là tùy chọn; . Thời gian được đặt bằng cách sử dụng các hàm time() của PHP cộng hoặc trừ một số giây lớn hơn 0 i. e. time() + 3600 trong 1 giờ
  • “[cookie_path]” là tùy chọn; . Dấu gạch chéo lên “/” có nghĩa là cookie sẽ được cung cấp trên toàn bộ miền. Các thư mục con giới hạn quyền truy cập cookie vào tên miền phụ
  • “[miền]” là tùy chọn, nó có thể được sử dụng để xác định hệ thống phân cấp truy cập cookie i. e.
    0 có nghĩa là toàn bộ miền trong khi 
    1 giới hạn quyền truy cập cookie đối với 
    1 và các miền phụ của nó. Lưu ý rằng có thể có tên miền phụ của tên miền phụ miễn là tổng số ký tự không vượt quá 253 ký tự
  • “[secure]” là tùy chọn, giá trị mặc định là sai. Nó được sử dụng để xác định xem cookie có được gửi qua https nếu nó được đặt thành true hay http nếu nó được đặt thành false
  • “[Httponly]” là tùy chọn. Nếu nó được đặt thành true, thì chỉ các ngôn ngữ kịch bản phía máy khách i. e. JavaScript không thể truy cập chúng

Ghi chú. chức năng cookie đặt php phải được thực thi trước thẻ mở HTML

Bây giờ hãy xem một ví dụ sử dụng cookie

Chúng tôi sẽ tạo một chương trình cơ bản cho phép chúng tôi lưu trữ tên người dùng trong cookie sẽ hết hạn sau mười giây

Đoạn mã dưới đây cho thấy việc triển khai ví dụ “cookies” ở trên. php”

đầu ra

the cookie has been set for 60 seconds

Tạo một tệp khác có tên “cookies_read. php” với đoạn mã sau

đầu ra

Array ( [PHPSESSID] => h5onbf7pctbr0t68adugdp2611 [user_name] => Guru99 )

Ghi chú. $_COOKIE là một PHP được xây dựng trong biến siêu toàn cầu

Nó chứa tên và giá trị của tất cả các cookie đã đặt

Số giá trị mà

Mảng $_COOKIE có thể chứa tùy thuộc vào kích thước bộ nhớ được đặt trong php. ban đầu

Giá trị mặc định là 1GB

Kiểm tra ứng dụng của chúng tôi

Giả sử bạn đã lưu các tệp PHP của mình trong thư mục phptus

  • Bước 1 – mở trình duyệt web của bạn và nhập URL http. //localhost/phptuts/cookies_read. php

Làm cách nào tôi có thể nhận cookie trong PHP?

Ghi chú. Chỉ một mảng trống đã được hiển thị

  • Bước 2 – Trình duyệt đến URL http. //localhost/phptuts/cookie. php

Làm cách nào tôi có thể nhận cookie trong PHP?

  • Bước 3 – Chuyển về tab đầu tiên, sau đó nhấp vào nút làm mới

Làm cách nào tôi có thể nhận cookie trong PHP?

Đợi một phút rồi nhấp lại vào nút làm mới. Bạn đã nhận được kết quả gì?

Xóa Cookies

  • Nếu bạn muốn hủy cookie trước khi hết hạn, thì bạn đặt thời gian hết hạn thành thời gian đã trôi qua
  • Tạo một trường mới có tên hủy cookie. php với đoạn mã sau
________số 8_______
  • Lặp lại các bước từ 1 đến 3 từ phần trên để truy xuất các giá trị cookie
  • Mở địa chỉ http. //localhost/phptuts/cookie_destroy. php
  • Chuyển sang URL http. //localhost/phptuts/cookies_read. php nó hiển thị kết quả gì?

Phiên là gì?

  • Phiên là một biến toàn cầu được lưu trữ trên máy chủ
  • Mỗi phiên được gán một id duy nhất được sử dụng để truy xuất các giá trị được lưu trữ
  • Bất cứ khi nào một phiên được tạo, một cookie chứa id phiên duy nhất sẽ được lưu trữ trên máy tính của người dùng và được trả về với mọi yêu cầu tới máy chủ. Nếu trình duyệt máy khách không hỗ trợ cookie, id phiên php duy nhất sẽ được hiển thị trong URL
  • Phiên có khả năng lưu trữ dữ liệu tương đối lớn so với cookie
  • Các giá trị phiên sẽ tự động bị xóa khi đóng trình duyệt. Nếu bạn muốn lưu trữ các giá trị vĩnh viễn, thì bạn nên lưu trữ chúng trong cơ sở dữ liệu
  • Cũng giống như biến mảng $_COOKIE, các biến phiên được lưu trữ trong biến mảng $_SESSION. Giống như cookie, phiên phải được bắt đầu trước bất kỳ thẻ HTML nào

Tại sao và khi nào nên sử dụng Phiên?

  • Bạn muốn lưu trữ thông tin quan trọng như id người dùng một cách an toàn hơn trên máy chủ nơi những người dùng độc hại không thể kiểm soát chúng
  • Bạn muốn chuyển giá trị từ trang này sang trang khác
  • Bạn muốn thay thế cookie trên các trình duyệt không hỗ trợ cookie
  • Bạn muốn lưu trữ các biến toàn cục theo cách hiệu quả và an toàn hơn so với việc chuyển chúng vào URL
  • Bạn đang phát triển một ứng dụng như giỏ hàng phải lưu trữ thông tin tạm thời với dung lượng lớn hơn 4KB

Tạo một phiên

Để tạo một phiên, trước tiên bạn phải gọi hàm session_start của PHP và sau đó lưu các giá trị của bạn vào biến mảng $_SESSION

Giả sử chúng ta muốn biết số lần một trang đã được tải, chúng ta có thể sử dụng một phiên để làm điều đó

Chỉ cần gọi tài liệu. cookie để truy xuất 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.
Tất cả tên cookie được lưu trữ trong $_COOKIE dưới dạng "Tên" => "giá trị". Chỉ cần xuất các khóa của mảng $_COOKIE và bạn sẽ có tên của mình. ) Lưu câu trả lời này.
Hàm setcookie() trong PHP được sử dụng để đặt cookie với phản hồi HTTP. Khi cookie được đặt, bạn có thể truy cập nó bằng biến siêu toàn cầu $_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()).