Làm thế nào cookie được tạo ra trong PHP?

Cookie là các tệp văn bản được lưu trữ trên máy khách và chúng được lưu giữ cho mục đích theo dõi việc sử dụng. PHP hỗ trợ cookie HTTP một cách minh bạch

Có ba bước liên quan đến việc xác định người dùng cũ –

  • Tập lệnh máy chủ gửi một bộ cookie tới trình duyệt. Ví dụ: tên, tuổi hoặc số nhận dạng, v.v.

  • Trình duyệt lưu trữ thông tin này trên máy cục bộ để sử dụng trong tương lai

  • Khi trình duyệt lần sau gửi bất kỳ yêu cầu nào đến máy chủ web thì nó sẽ gửi những thông tin cookie đó đến máy chủ và máy chủ sẽ sử dụng thông tin đó để nhận dạng người dùng

Chương này sẽ hướng dẫn bạn cách đặt cookie, cách truy cập và xóa chúng

Giải phẫu của một Cookie

Cookie thường được đặt trong tiêu đề HTTP [mặc dù JavaScript cũng có thể đặt cookie trực tiếp trên trình duyệt]. Một tập lệnh PHP đặt cookie có thể gửi các tiêu đề giống như thế này -

HTTP/1.1 200 OK
Date: Fri, 04 Feb 2000 21:03:38 GMT
Server: Apache/1.3.9 [UNIX] PHP/4.0b3
Set-Cookie: name=xyz; expires=Friday, 04-Feb-07 22:03:38 GMT; 
                 path=/; domain=tutorialspoint.com
Connection: close
Content-Type: text/html

Như bạn có thể thấy, tiêu đề Set-Cookie chứa một cặp giá trị tên, ngày GMT, đường dẫn và miền. Tên và giá trị sẽ được mã hóa URL. Trường hết hạn là hướng dẫn để trình duyệt "quên" cookie sau ngày và giờ đã cho

Nếu trình duyệt được định cấu hình để lưu trữ cookie, thì trình duyệt sẽ giữ thông tin này cho đến ngày hết hạn. Nếu người dùng trỏ trình duyệt vào bất kỳ trang nào khớp với đường dẫn và tên miền của cookie, trình duyệt sẽ gửi lại cookie đến máy chủ. Tiêu đề của trình duyệt có thể trông giống như thế này -

GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 [X11; I; Linux 2.2.6-15apmac ppc]
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz

Sau đó, một tập lệnh PHP sẽ có quyền truy cập vào cookie trong các biến môi trường $_COOKIE hoặc $HTTP_COOKIE_VARS[] chứa tất cả các tên và giá trị cookie. Có thể truy cập cookie trên bằng cách sử dụng $HTTP_COOKIE_VARS["name"]

Đặt Cookies với PHP

PHP cung cấp hàm setcookie[] để đặt cookie. Hàm này yêu cầu tối đa sáu đối số và phải được gọi trước thẻ. Đối với mỗi cookie, chức năng này phải được gọi riêng

setcookie[name, value, expire, path, domain, security];

Đây là chi tiết của tất cả các đối số -

  • Tên - Cái này đặt tên của cookie và được lưu trữ trong một biến môi trường có tên là HTTP_COOKIE_VARS. Biến này được sử dụng khi truy cập cookie

  • Giá trị - Điều này đặt giá trị của biến được đặt tên và là nội dung mà bạn thực sự muốn lưu trữ

  • Hết hạn - Điều này chỉ định thời gian trong tương lai tính bằng giây kể từ 00. 00. 00 GMT ngày 1 tháng 1 năm 1970. Sau thời gian này, cookie sẽ không thể truy cập được. Nếu thông số này không được đặt thì cookie sẽ tự động hết hạn khi đóng Trình duyệt web

  • Đường dẫn - Điều này chỉ định các thư mục mà cookie hợp lệ. Một ký tự gạch chéo về phía trước cho phép cookie hợp lệ đối với tất cả các thư mục

  • Tên miền - Điều này có thể được sử dụng để chỉ định tên miền trong các miền rất lớn và phải chứa ít nhất hai dấu chấm để hợp lệ. Tất cả cookie chỉ hợp lệ đối với máy chủ lưu trữ và tên miền đã tạo ra chúng

  • Bảo mật - Có thể đặt giá trị này thành 1 để chỉ định rằng cookie chỉ được gửi bằng cách truyền an toàn bằng HTTPS nếu không được đặt thành 0, nghĩa là cookie có thể được gửi bằng HTTP thông thường

Ví dụ sau sẽ tạo hai cookie tên và tuổi, các cookie này sẽ hết hạn sau một giờ


   
   
      Setting Cookies with PHP
   
   
   
      
   
   

Truy cập Cookie bằng PHP

PHP cung cấp nhiều cách để truy cập cookie. Cách đơn giản nhất là sử dụng biến $_COOKIE hoặc $HTTP_COOKIE_VARS. Ví dụ sau sẽ truy cập tất cả các cookie được đặt trong ví dụ trên

   
   
      Accessing Cookies with PHP
   
   
   
      
      ";
         
         /* is equivalent to */
         echo $HTTP_COOKIE_VARS["name"]. "
"; echo $_COOKIE["age"] . "
"; /* is equivalent to */ echo $HTTP_COOKIE_VARS["age"] . "
"; ?>

Bạn có thể sử dụng chức năng isset[] để kiểm tra xem cookie có được đặt hay không

   
   
      Accessing Cookies with PHP
   
   
   
      
      ";
         
         else
            echo "Sorry.. Not recognized" . "
"; ?>

Xóa Cookie bằng PHP

Chính thức, để xóa cookie, bạn chỉ nên gọi setcookie[] với đối số tên nhưng điều này không phải lúc nào cũng hoạt động tốt, tuy nhiên, và không nên dựa vào

PHP hỗ trợ cookie HTTP một cách minh bạch. Cookie là cơ chế lưu trữ dữ liệu trong trình duyệt từ xa và do đó theo dõi hoặc xác định người dùng cũ. Bạn có thể đặt cookie bằng hàm setcookie[] hoặc setrawcookie[]. Cookie là một phần của tiêu đề HTTP, 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. Đây là hạn chế tương tự mà header[] có. Bạn có thể sử dụng các chức năng đệm đầu ra để trì hoãn đầu ra tập lệnh cho đến khi bạn quyết định có đặt bất kỳ cookie nào hoặc gửi bất kỳ tiêu đề nào hay không

Bất kỳ cookie nào được gửi đến máy chủ từ máy khách sẽ tự động được đưa vào mảng toàn cầu tự động $_COOKIE nếu biến_order chứa "C". Nếu bạn muốn gán nhiều giá trị cho một cookie, chỉ cần thêm [] vào tên cookie

Để biết thêm chi tiết, bao gồm ghi chú về lỗi trình duyệt, hãy xem hàm setcookie[] và setrawcookie[]

Không có ghi chú nào do người dùng đóng góp cho trang này

Cách cookie được tạo và truy cập trong PHP?

Cookie có thể được truy cập theo nhiều cách khác nhau trong PHP. Phương pháp đơn giản nhất là sử dụng biến $_COOKIE hoặc $HTTP COOKIE VARS . Nó thường là một mảng kết hợp được khóa bởi tên cookie và bao gồm 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ách cookie được tạo và hủy trong PHP?

Ví dụ 1. Bạn có thể tạo cookie bằng cách viết setcookie[] và nhập ngày hết hạn của cookie . Nếu bạn muốn xóa cookie thì đặt ngày hết hạn cookie thành thời điểm 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.

Làm cách nào để lấy cookie trong PHP?

Truy cập Cookie bằng PHP . Ví dụ sau sẽ truy cập tất cả các cookie được đặt trong ví dụ trên. Bạn có thể sử dụng chức năng isset[] để kiểm tra xem cookie có được đặt hay không. use either $_COOKIE or $HTTP_COOKIE_VARS variables. Following example will access all the cookies set in above example. You can use isset[] function to check if a cookie is set or not.

Làm thế nào một cookie có thể được tạo giải thích?

Tạo Cookie bằng JavaScript . thuộc tính cookie with the document.cookie property . Với JavaScript, một cookie có thể được tạo như thế này. tài liệu. cookie = "tên người dùng=John Doe"; .

Chủ Đề