Hướng dẫn dùng cookie count trong PHP
Nội dung chính Show
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 trên 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 một trình duyệt, nó cũng sẽ gửi cookie tới server. Bạn có thể tạo và truy xuất các giá trị cookie trong PHP. Tạo cookie trong PHPHàm setcookie() được sử dụng để tạo cookie: Cú pháp: setcookie(name, value, expire, path, domain, secure, httponly); Chỉ có tham số name là bắt buộc. Tất cả các thông số khác là tùy chọn. Tạo và đọc cookie trong PHPVí dụ sau tạo cookie có tên "user" với giá trị "David Vinh". 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, hãy chọn thư mục bạn thích). Sau đó, chúng ta đọc giá trị của cookie "user" (sử dụng biến toàn cầu $_COOKIE). Chúng ta cũng sử dụng hàm isset() để kiểm tra xem cookie đã được tạo chưa: File: cookie-trong-php-1.php "; echo "Giá trị là: " . $_COOKIE[$cookie_name]; } ?> Kết quả: Cookie 'user' đã được tạo! Giá trị là: David Tèo Chú ý: Có thể bạn phải tại lại trang web này để tạo cookie và đọc cookie. Chú ý: Hàm setcookie() phải đặt TRƯỚC thẻ . Xem kết quả ở tab mới. Sửa đổi giá trị cookie trong PHPĐể sửa đổi một cookie, chỉ cần thiết lập (một lần nữa) cookie bằng cách sử dụng hàm setcookie(): File: cookie-trong-php-2.php "; echo "Giá trị là: " . $_COOKIE[$cookie_name]; } ?> Kết quả: Cookie 'user' đã được tạo! Giá trị là: David Tèo Xem kết quả ở tab mới. Xóa cookie trong PHPĐể xóa cookie, hãy sử dụng hàm setcookie() với ngày hết hạn trong quá khứ: File: cookie-trong-php-3.php Kết quả: Xem kết quả ở tab mới. Kiểm tra xem Cookies có được bật hay khôngVí dụ sau kiểm tra xem cookie có được bật hay không. Trước tiên, hãy thử tạo một cookie bằng hàm setcookie() trong PHP, sau đó đếm số phần tử của mảng mảng $_COOKIE: File: cookie-trong-php-4.php 0) { echo "Cookies đang được bật."; } else { echo "Cookies đang bị tắt."; } ?> Kết quả: Xem kết quả ở tab mới.
Cookie là mẩu tin nhỏ được lưu ở máy người dùng (cụ thể là tại Browser, trình duyệt), Cookie sử dụng với mục đích để theo dõi, lưu lại hoạt động truy cập. Ví dụ nhớ tên người dùng truy cập vào website có thể hoạt động qua các bước như sau:
Nên nhớ Cookie được lưu lại ở Browser, sau đó mỗi lần gửi yêu cầu đến Server nó sẽ tự động gửi thông tin này đến Server Thiết lập, lưu CookieTừ PHP có thể thiết lập Cookie bằng hàm setcookie($name, $value, $expire = 0, $path="", $domain = "", $security = false, $httponly = false);
Ví dụ:
Đoạn mã trên
thiết lập lưu Cookie với tên Bạn có thể chạy lệnh php -S 0.0.0.0:8080 setcookie.php Sau đó truy cập địa chỉ Khi truy cập, phần header trả về có thông tin về thiết lập Cookie, ngược lại nếu đã có Cookie khi trình duyệt gửi yêu cầu - nó thiết lập giá trị cookie vào phần header của request Hoặc dùng lệnh curl để xem header trả về: Truy cập - đọc - Cookie Bạn dùng biến
Xóa CookieĐể yêu cầu trình duyệt xóa cookie bạn sử dụng chính hàm setcookie với thủ thuật đặt thời gian đã hết hạn. Ví dụ: setcookie( "name", "", time()- 60, "/","", 0); Khái niệm về SessionĐể trao đổi dữ liệu từ trang này qua trang khác (giữa 2 request) thì làm như thế nào? Ví dụ nếu người dùng đã đăng nhập, thì thông tin đăng nhập được lưu lại và chuyển cho các trang khác nhau trong phiên làm việc để tránh mỗi lần gửi request lại phải đăng nhập, hay người dùng chọn đựa mặt hàng vào giỏ hàng thì phải nhớ để chuyển đến trang thanh toán ... PHP có cơ chế để làm
việc này đó chính là Session là thông tin về phiên làm việc cho từng khách truy cập, trong PHP nó tạo một file trong thư mục tạm (thư mục này cài đặt ở Sự làm việc của Session có thể vắn tắt như sau:
Như vậy Chạy Session - Lưu trữ và lấy thông tin Session trong PHP bắt đầu hoạt động sau khi bạn gọi hàm Khi mà hệ thống session trong PHP được chạy, mặc định nó sẽ gửi về trình duyệt một Cookie với tiền tố Ví dụ trang chạy thử Session
Từ nắm vững Cookie và Session là cơ sở để xây dựng lên các hệ thống như cho phép user đăng nhập vào website, xây dựng ứng dụng giỏ hàng đặt hàng ... Source code: session_cookie (Git), hoặc tải rphp-sessioncookie |