dùng Session và Cookie trong PHP

Bài viết dùng Session và Cookie trong PHP thuộc chủ đề về Hỏi đáp thắc mắt đang được rất nhiều bạn lưu tâm đúng không nào !! Hôm nay, Hãy cùng sotaythongthai.vn tìm hiểu dùng Session và Cookie trong PHP trong bài viết hôm nay nha !

Các bạn đang xem bài viết : “dùng Session và Cookie trong PHP”


  • Khái niệm Cookie
  • Lưu Cookie
  • Đọc Cookie
  • PHP Cookie
  • Khái niệm về Session PHP
  • dùng Session
  • Hủy Session

Cookie trong PHP

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

  • Server gửi các cookie cho browser (ví dụ tên người dùng: username) …
  • Browser lưu lại thông tin này (cookie)
  • Lần sau truy cập URL cùng domain (tên miền) browser sẽ gửi ngược các Cookie này lên Server và Server sẽ nhận được Cookie, từ đó xác định được thông tin (như username) …

Nên nhớ Cookie được lưu lại ở Browser, sau đó mỗi lần gửi bắt buộc đến Server nó sẽ tự động gửi thông tin này đến Server

Bạn đang xem: session php la gi

Thiết lập, lưu Cookie

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

setcookie($name, $value, $expire = 0, $path=””, $domain = “”, $security = false, $httponly = false);

  • name là tên cookie, tên này được dùng để truy cập vào biến $_COOKIE để lấy thông tin
  • value tổng giá trị gán cho cookie
  • expire Thời điểm hết hạn (hủy) của cookie, thời gian dạng Unix timestamp, khả năng dùng hàm time() để lấy Unix timestamp. Sau thời điểm này Cookie bị hủy lưu tại trình duyệt. Nếu thiết lập là 0 thì cookie hủy khi đóng trình duyệt
  • path đường dẫn mà cookie có hiệu lực. dùng / cho biết cookie có hiệu lực ở cấp độ domain – mọi URL thuộc domain, nếu thiết lập là /foo/ thì Cookie chỉ có hiệu lực với các URL dạng /foo/ và các con của nó như /foo/abc/… Nếu để tổng giá trị mặc định “” thì có hiệu lực theo đường dẫn hiện nay
  • domain tên miền
  • security = true nếu dùng HTTPS để truyền dữ liệu (mặc định false)
  • $httponly mặc định là false, nếu true thì chỉ cho phép cookie với giao thức HTTP

Ví dụ:

setcookie.php

<?php setcookie(“name”, “XUANTHULAB”, time() + 600, “/”); echo “Set cookie”; ?>

Đoạn mã trên thiết lập lưu Cookie với tên name, tổng giá trị là XUANNTHULAB, hết hạn sau 10 phút (tức 600 giây)

Bạn khả năng chạy lệnh

php -S 0.0.0.0:8080 sentayho.com.vn

Sau đó truy cập địa chỉ http://localhost:8080 để kiểm tra, ví dụ dùng Chrome

php

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 bắt buộc – nó thiết lập tổng giá trị cookie vào phần header của request

Hoặc dùng lệnh curl để xem header trả về:

php

Truy cập – đọc – Cookie

Tham khảo thêm: Photobucket – Lưu trữ và chia sẻ ảnh trực tuyến miễn phí

Bạn dùng biến $_COOKIE là một mảng để truy cập thông tin cookie do trình duyệt gửi lên. Giống như Session bạn nên dùng isset() để kiểm tra sự tồn tại của COOKIE.

readcookie.php

<?php if( isset($_COOKIE[“name”])) echo “Welcome ” . $_COOKIE[“name”]; else echo “Không có tên”; ?>

Xóa Cookie

Để bắt buộc trình duyệt xóa cookie bạn 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

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 ở sentayho.com.vn : sentayho.com.vn_path) để lưu thông tin này, thông tin này được dùng chung cho tất cả các trang mà khách truy cập. Mỗi khách truy cập, dựa vào thông tin trình duyệt gửi lên nó tạo (hoặc hồi phục) một Session riêng cho khách đó.

Sự làm việc của Session khả năng vắn tắt như sau:

  • Khi khách lần đầu truy cập, PHP tự động tạo ra một định danh duy nhất cho khách đó, định danh này là một chuỗi ngẫu nhiên – duy nhất. Nó là tham số để xác định tên file dữ liệu session.
  • Một mẩu tin nhỏ Cookie gọi là PHPSESSID (là ánh xạ đến định danh ở trên) sẽ được gửi đến trình duyệt và trình duyệt lưu giữ PHPSESSID này, để sau đó mỗi lần trình duyệt truy cập nó gửi lại PHPSESSID cho PHP.
  • PHP dựa vào PHPSESSID gửi đến để hồi phục – lấy lại dữ liệu từ file là thông tin của SESSION.
  • Session bị hủy – mất khi trình duyệt bị đóng lại, thông thường PHP cũng có tham số ấn định thời gian tồn tại của SESSION, ví dụ như 30 phút.

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

Chạy Session – Lưu trữ và lấy thông tin

Session trong PHP bắt đầu vận hành sau khi bạn gọi hàm session_start(), hàm này sẽ hồi phục dữ liệu SESSION nếu đã có, nếu chưa nó sẽ tạo ra SESSION mới cho bạn. Để dùng khuyên nên gọi hàm này ngay khi bắt đầu của Page. Một cách khác mà không cần lưu tâm đến gọi session_start() đó là thiết lập cho PHP tự động chạy hàm này bàng cách sentayho.com.vn_start = 1 trong sentayho.com.vn

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ố PHPSESSID, tất nhiên khả năng thay đổi ngay tiền tố này trong sentayho.com.vn

Ví dụ trang chạy thử Session

Tham khảo thêm: Kiến thức về tài khoản g suite là gì

startsession.php

<?php if (session_id() === ”) session_start(); echo “Session đang chạy”;

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

php

Biến toàn cục $_SESSION: kiểu mảng là nơi SESSION lưu trữ thông tin – cũng chính là dữ liệu hồi phục được giữa các trang, bạn truy cập biến này trong suốt vòng đời của session để lấy, lưu trữ thông tin. Bạn cũng nên dùng hàm isset() để kiểm tra một biến session nào đó đã có hay chưa. Ví dụ sau dùng SESSION để đếm số lần một khách truy cập vào website.

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

countaccess.php

<?php // Khởi tạo session PHP nếu chưa khởi tạo if (session_id() === ”) session_start(); if( isset( $_SESSION[‘counter’] ) ) // Đếm mỗi lần truy cập $_SESSION[‘counter’] += 1; else // Lần đầu truy cập $_SESSION[‘counter’] = 1; $msg = “<p>Bạn là vào truy cập “. $_SESSION[‘counter’] . ‘ lần vào trang</p>’; echo $msg; ?> Bạn là vào truy cập 1 lần vào trang

Trong đoạn code trên có dùng if (session_id() === ”) để kiểm tra xem Session có tồn tại hay chưa, nếu có rồi mà bạn gọi session_start() khả năng PHP sẽ cảnh báo lỗi Warning

Khi có chạy Session thì dữ liệu trả về cho trình duyệt nó gửi kèm một mẩu tin nhỏ ở phần Header, dữ liệu này là Cookie liên quan đến ID của Session, để request trình duyệt lưu trữ, request tiếp theo nó sẽ gửi dữ liệu này đến Server và PHP sẽ hồi phục Session theo Cookie này.

Hủy Session

Bạn khả năng hủy một biến, tổng giá trị … đã lưu vào Session:

  • Để hủy một biến nào đó lưu trữ trong Session thì dùng lệnh unset ví dụ unset($_SESSION[‘counter’]);
  • Để hủy toàn bộ Session thì dùng lệnh session_destroy()

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

Xem thêm: Phân tích báo cáo là gì | Sen Tây Hồ

Bạn thấy bài viết thế nào?

Các câu hỏi về dùng Session và Cookie trong PHP

Team Sổ Tay Thông Thái mà chi tiết là Mỹ Chi đã biên soạn bài viết dựa trên tư liệu sẵn có và kiến thức từ Internet. Dĩ nhiên tụi mình biết có nhiều câu hỏi và nội dung chưa thỏa mãn được bắt buộc của các bạn.

Thế nhưng với tinh thần tiếp thu và nâng cao hơn, Mình luôn đón nhận tất cả các ý kiến khen chê từ các bạn & Quý đọc giả cho bài viêt dùng Session và Cookie trong PHP

Nếu có bắt kỳ câu hỏi thắc mắt nào vê dùng Session và Cookie trong PHP hãy cho chúng mình biết nha, mõi thắt mắt hay góp ý của các bạn sẽ giúp mình nâng cao hơn hơn trong các bài sau nha <3 Chốt lại nhen <3 Bài viết dùng Session và Cookie trong PHP ! được mình và team xem xét cũng như tổng hợp từ nhiều nguồn. Nếu thấy bài viết dùng Session và Cookie trong PHP Cực hay ! Hay thì hãy ủng hộ team Like hoặc share. Nếu thấy bài viết dùng Session và Cookie trong PHP rât hay ! chưa hay, hoặc cần bổ sung. Bạn góp ý giúp mình nha!!

Các Hình Ảnh Về dùng Session và Cookie trong PHP

Sử dụng Session và Cookie trong PHP

Các từ khóa tìm kiếm cho bài viết #Sử #dụng #Session #và #Cookie #trong #PHP

Tìm thêm kiến thức về dùng Session và Cookie trong PHP tại WikiPedia

Bạn khả năng xem thêm thông tin về dùng Session và Cookie trong PHP từ web Wikipedia tiếng Việt.◄

Tham Gia Cộng Đồng Tại

💝 Nguồn Tin tại: https://sotaythongthai.vn/

💝 Xem Thêm Giải Đáp Câu Hỏi tại : https://mangraovat.edu.vn/hoi-dap/

Related Posts

About The Author