http://vietjack.com/php/index.jsp Copyright © vietjack.com Cookie PHP Cookie text file lưu giữ Client chúng giữ với mục đích theo dõi PHP hỗ trợ HTTP Cookie Có bước để xác định người dùng trả về: Script phía Server gửi tập Cookie cho trình duyệt Ví dụ: tên, tuổi, … Trình duyệt lưu trữ thơng tin máy local để sử dụng tương lại Lần trình duyệt gửi yêu cầu cho Web Server, gửi thơng tin Cookie cho Server Server sử dụng thơng tin để xác định người dùng Chương bạn cách thiết lập Cookie, cách truy cập vào chúng cách xóa chúng Cấu trúc Cookie Cookie thường thiết lập HTTP header (mặc dù JavaScript thiết lập Cookie trực tiếp trình duyệt) Một PHP script thiết lập Cookie gửi header trơng giống sau: 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 thấy, header Cookie chứa cặp name/value, GMT date, đường dẫn path, tên miền (domain) Tên giá trị URL mã hóa Trường expires lệnh cho trình duyệt “quên” Cookie sau thời gian cho Nếu trình duyệt định cấu hình để lưu trữ Cookie, giữ thông tin đến hết hạn sử dụng Nếu người dùng trỏ tới trang có đường dẫn path domain giống với Cookie, gửi Cookie đến Server Header trình duyệt thấy sau: GET / HTTP/1.0 Connection: Keep-Alive http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/php/index.jsp Copyright © vietjack.com 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 đó, PHP script có quyền truy cập vào Cookie biến môi trường $_COOKIE $HTTP_COOKIE_VARS[], mà giữ tất name value Cookie Cookie truy cập cách sử dụng $HTTP_COOKIE_VARS["name"] Thiết lập Cookie PHP PHP cung cấp hàm setCookie() để thiết lập Cookie Hàm yêu cầu đến tham số nên gọi trước thẻ Với Cookie, hàm phải gọi riêng biệt setcookie(name, value, expire, path, domain, security); Chi tiết tham số: Name − Thiết lập tên Cookie lưu trữ biến mơi trường HTTP_COOKIE_VARS Biến sử dụng truy cập vào Cookie Value − Thiết lập giá trị biến name nội dung mà bạn thực muốn lưu trữ Expiry − Chỉ hạn sử dụng Cookie Thời gian tính giây từ 1/1/1970 Sau thời gian này, Cookie truy cập Nếu tham số khơng thiết lập Cookie tự động hết hiệu lực trình duyệt bị đóng Path − Xác định thư mục mà Cookie có hiệu lực Một ký tự dấu gạch chéo (/) cho phép Cookie có hiệu lực đối tất thư mục Domain − Xác định tên miền Tất Cookie có hiệu lực cho tên miền đưa Security − Nó thiết lập thành để Cookie gửi truyền dẫn an toàn sử dụng HTTPS, ngược lại thiết lập thành 0, có nghĩa Cookie gửi HTTP thơng thường Ví dụ sau tạo Cookie name age, hết hạn sau http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/php/index.jsp Copyright © vietjack.com Setting Cookies with PHP Truy cập Cookie PHP PHP cung cấp nhiều cách để truy cập vào Cookie Cách đơn giản sử dụng biến $_COOKIE $HTTP_COOKIE_VARS Ví dụ sau truy cập tất Cookie thiết lập ví dụ Accessing Cookies with PHP Bạn sử dụng hàm isset() để kiểm tra xem Cookie thiết lập hay chưa Accessing Cookies with PHP Xóa Cookie PHP Để xóa Cookie bạn nên gọi hàm setCookie() với tham số name khơng phải lúc hoạt động tốt http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/php/index.jsp Copyright © vietjack.com Các an tồn để thiết lập Cookie với date mà hết hạn sử dụng Deleting Cookies with PHP http://vietjack.com/ Trang chia sẻ học online miễn phí Page ... iso-8859-1,*,utf-8 Cookie: name=xyz Sau đó, PHP script có quyền truy cập vào Cookie biến mơi trường $ _COOKIE $HTTP _COOKIE_ VARS[], mà giữ tất name value Cookie Cookie truy cập cách sử dụng $HTTP _COOKIE_ VARS["name"]... 0); setcookie("age", "36", time()+3600, "/", "", 0); ?> Setting Cookies with PHP< /title> < ?php echo "Set Cookies"?> Truy cập Cookie PHP PHP cung... $HTTP _COOKIE_ VARS["name"] Thiết lập Cookie PHP PHP cung cấp hàm setCookie() để thiết lập Cookie Hàm yêu cầu đến tham số nên gọi trước thẻ Với Cookie, hàm phải gọi riêng biệt setcookie(name, value, expire,