Cookie trong PHP

Cookie là mẩu tin bé dại được lưu ở máy người dùng (cụ thể là tại Browser, trình duyệt), Cookie áp dụng với mục tiêu để theo dõi, lưu lại chuyển động truy cập. Ví dụ như nhớ tên người tiêu dùng truy cập vào website tất cả thể vận động qua các bước như sau:

server gửi các cookie đến browser (ví dụ tên bạn dùng: username) ... Browser lưu lại lại thông tin này (cookie) Lần sau truy cập URL thuộc domain (tên miền) browser đang gửi ngược những Cookie này lên Server và Server sẽ nhận ra Cookie, tự đó xác minh được thông tin (như username) ...

Nên lưu giữ Cookie được cất giữ ở Browser, tiếp nối mỗi lần nhờ cất hộ yêu mong đến hệ thống nó sẽ tự động hóa gửi tin tức này mang đến Server

Thiết lập, lưu Cookie

Từ PHP tất cả thể thiết lập Cookie bằng hàm setcookie (nhớ nên gọi trước những dòng code xuất html).

Bạn đang xem: Session php là gì

setcookie($name, $value, $expire = 0, $path="", $domain = "", $security = false, $httponly = false); name là tên cookie, thương hiệu này được sử dụng để truy cập vào trở thành $_COOKIE để lấy thông tin value cực hiếm gán cho cookie path đường dẫn mà cookie bao gồm hiệu lực. áp dụng / cho thấy thêm cookie có hiệu lực thực thi hiện hành ở lever domain - rất nhiều URL nằm trong domain, nếu thiết lập cấu hình là /foo/ thì Cookie chỉ có hiệu lực thực thi hiện hành với những URL dạng /foo/ và những con của chính nó như /foo/abc/... Giả dụ để cực hiếm mặc định "" thì có hiệu lực thực thi theo đường dẫn lúc này domain thương hiệu miền security = true nếu thực hiện HTTPS để truyền tài liệu (mặc định false) $httponly mang định là false, giả dụ true thì chỉ chất nhận được cookie với giao thức HTTP Ví dụ:

setcookie.php

Đoạn mã trên thiết lập cấu hình lưu Cookie với thương hiệu name, cực hiếm là XUANNTHULAB, quá hạn sử dụng sau 10 phút (tức 600 giây)

Bạn có thể chạy lệnh

php -S 0.0.0.0:8080 setcookie.phpSau kia truy cập địa chỉ http://localhost:8080 để kiểm tra, ví dụ cần sử dụng Chrome

*

Khi truy nã cập, phần header trả về có thông tin về thiết lập cấu hình Cookie, trái lại nếu đã bao gồm Cookie khi trìnhduyệt giữ hộ yêu mong - nó tùy chỉnh giá trị cookie vào phần header của request

Hoặc cần sử dụng lệnh curl giúp xem header trả về:

*

Truy cập - hiểu - Cookie

bạn dùng đổi thay $_COOKIE là 1 mảng để truy cập thông tin cookie bởi vì trình duyệt gửi lên. Y như Session bạn nên dùng isset() để bình chọn sự mãi sau của COOKIE.

readcookie.php

Xóa Cookie

Để yêu ước trình phê 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 tài liệu từ trang này qua trang khác (giữa 2 request) thì làm như thế nào? lấy ví dụ như nếu người tiêu dùng đã đăng nhập, thì thông tin đăng nhập được giữ giàng và chuyển cho các trang không giống nhau trong phiên thao tác để tránh mỗi lần gửi request lại bắt buộc đăng nhập, hay người dùng chọn đựa món đồ vào giỏ hàng thì đề nghị nhớ để chuyển đến trang thanh toán ... PHP có cơ chế để triển khai việc này đó chính là SESSION

Session là tin tức về phiên thao tác cho từng khách truy cập, trong PHP nó sinh sản một tệp tin trong thư mục tạm thời (thư mục này thiết đặt ở php.ini : session.save_path) nhằm lưu tin tức này, tin tức này được dùng chung cho toàn bộ các trang nhưng khách truy nã cập. Mỗi khách hàng truy cập, dựa vào thông tin trình duyệt gửi lên nó tạo (hoặc phục hồi) một Session riêng đến khách đó.

Sự thao tác làm việc của Session có thể vắn tắt như sau:

khi khách đầu tiên truy cập, PHP auto tạo ra một định danh duy nhất mang lại khách đó, định danh này là một chuỗi bất chợt - duy nhất. Nó là thông số để xác định tên file dữ liệu session. Một mẩu tin bé dại Cookie gọi là PHPSESSID (là ánh xạ đến định danh ngơi nghỉ trên) sẽ tiến hành gửi mang lại trình xem xét và trình duyệt lưu giữ PHPSESSID này, để sau đó mỗi lần trình duyệt truy vấn nó giữ hộ lại PHPSESSID đến PHP. PHP phụ thuộc PHPSESSID gửi mang lại để phục hồi - đem lại dữ liệu từ file là tin tức của SESSION. Session bị diệt - mất khi trình chu đáo bị đóng lại, thông thường PHP cũng đều có tham số ấn định thời hạn tồn tại của SESSION, ví như 30 phút.

Như vậy SESSION là cơ chế tàng trữ và hồi phục thông tin mang đến phiên làm việc (truy cập) của khách, nhằm mục tiêu trao đổi tin tức khi phê duyệt từ page này lịch sự page khác. Để Session vận động thì còn liên quan tới cung ứng COOKIE từ bỏ trình duyệt. Lấy ví dụ như trong Chrome bạn block Cookie từ facebook, thì chúng ta không thể đăng nhập được facebook.

Chạy Session - tàng trữ và lấy thông tin

Session vào PHP ban đầu hoạt hễ sau khi chúng ta gọi hàm session_start(), hàm này sẽ phục sinh dữ liệu SESSION nếu vẫn có, nếu không nó sẽ khởi tạo ra SESSION mới cho bạn. Để áp dụng khuyên nên gọi hàm này tức thì khi ban đầu của Page. Một bí quyết khác mà không cần xem xét gọi session_start() kia là tùy chỉnh cấu hình cho PHP auto chạy hàm này bàng giải pháp session.auto_start = một trong các php.ini

Khi mà khối hệ thống session trong PHP được chạy, khoác định nó đang gửi về trình phê chuẩn một Cookie với chi phí tố PHPSESSID,tất nhiên gồm thể biến hóa tiền tố này vào php.ini

Ví dụ trang kiểm tra Session

startsession.php

Kiểm tra bạn thấy có Cookie giữ hộ về, cookie này dùng làm phục hồi dữ liệu Session

*

Biến toàn thể $_SESSION: giao diện mảng là địa điểm SESSION lưu trữ thông tin - cũng chính là dữ liệu phục hồi được giữa những trang, bạn truy cập biến này trong veo vòng đời của session nhằm lấy, tàng trữ thông tin. Chúng ta cũng buộc phải dùng hàm isset() để khám nghiệm một trở nên session nào này đã có xuất xắc chưa. Ví dụ sau dùng SESSION để đếm mốc giới hạn một khách truy cập vào website.

Ví dụ đếm lượng truy cập trang của một khách

countaccess.php

Bạn là vào truy vấn ". $_SESSION<'counter'> . ' lần vào trang

'; echo $msg;?>

Bạn là vào truy cập 1 lần vào trangTrong đoạn code trên có áp dụng if (session_id() === "") để kiểm soát xem Session bao gồm tồn tại tốt chưa, nếu tất cả rồi mà bạn gọi session_start() có thể PHP sẽ cảnh báo lỗi Warning

Khi tất cả chạy Session thì tài liệu trả về mang lại trình chăm chú nó gửi kèm một mẩu tin bé dại ở phần Header,dữ liệu này là Cookie tương quan đến ID của Session, nhằm request trình chăm nom lưu trữ, request tiếp theonó sẽ gửi dữ liệu này mang đến Server với PHP sẽ phục sinh Session theo Cookie này.

Xem thêm: Keo Epoxy Là Gì ? Sử Dụng Trong Những Ứng Dụng Nào? Keo Epoxy Là Gì

Hủy Session

Bạn hoàn toàn có thể hủy một biến, quý hiếm ... Sẽ lưu vào Session:

Để hủy một trở thành nào đó tàng trữ trong Session thì sử dụng lệnh unset lấy ví dụ như unset($_SESSION<"counter">); Để hủy cục bộ Session thì dùng lệnh session_destroy()

Từ nắm rõ Cookie và Session là cửa hàng để thi công lên các khối hệ thống như mang lại phépuser singin vào website, xây dựng vận dụng giỏ hàng đặt đơn hàng ...