Hướng dẫn dùng sessoin trong PHP
Trong hướng dẫn này, bạn sẽ học cách lưu trữ một số dữ liệu nhất định trên máy chủ trên cơ sở tạm thời bằng cách sử dụng Session trong PHP. Show Session trong PHP là gì?Mặc dù bạn có thể lưu trữ dữ liệu bằng cookie nhưng nó có một số vấn đề về bảo mật. Vì cookie được lưu trữ trên máy tính của người dùng nên kẻ tấn công có thể dễ dàng sửa đổi nội dung cookie để chèn dữ liệu có thể gây hại vào ứng dụng của bạn và có thể phá vỡ ứng dụng của bạn. Ngoài ra, mỗi khi trình duyệt yêu cầu một URL đến máy chủ, tất cả dữ liệu cookie cho một trang web sẽ tự động được gửi đến máy chủ trong yêu cầu. Có nghĩa là nếu bạn đã lưu trữ 5 cookie trên hệ thống của người dùng, mỗi cookie có kích thước 4KB, trình duyệt cần tải lên 20KB dữ liệu mỗi khi người dùng xem một trang, điều này có thể ảnh hưởng đến hiệu suất trang web của bạn. Bạn có thể giải quyết cả hai vấn đề này bằng cách sử dụng PHP Session. Một PHP Session lưu trữ dữ liệu trên máy chủ chứ không phải máy tính của người dùng. Trong môi trường dựa trên Session, mọi người dùng được xác định thông qua một số duy nhất được gọi là số nhận dạng Session hoặc SID. Session ID duy nhất này được sử dụng để liên kết mỗi người dùng với thông tin của riêng họ trên máy chủ như email, bài đăng, v.v. Mẹo: Session ID được tạo ngẫu nhiên bởi công cụ PHP, điều này hầu như không thể đoán được. Hơn nữa, bởi vì dữ liệu Session được lưu trữ trên máy chủ, nó không phải được gửi theo mọi yêu cầu của trình duyệt. Bắt đầu một PHP SessionTrước khi bạn có thể lưu trữ bất kỳ thông tin nào trong các biến Session, trước tiên bạn phải bắt đầu Session. Để bắt đầu một Session mới, chỉ cần gọi hàm session_start() trong PHP . Nó sẽ tạo một Session mới và tạo một Session ID duy nhất cho người dùng. Mã PHP trong ví dụ dưới đây chỉ đơn giản là bắt đầu một Session mới. Trước tiên hàm Ghi chú: Bạn phải gọi hàm Lưu trữ và truy cập dữ liệu SessionBạn có thể lưu trữ tất cả dữ liệu Session của mình dưới dạng các cặp khóa-giá trị trong mảng siêu toàn cầu (superglobal) Để truy cập dữ liệu Session mà chúng tôi đã đặt trên ví dụ trước của chúng tôi từ bất kỳ trang nào khác trên cùng một miền web - chỉ cần tạo lại Session bằng cách gọi Mã PHP trong ví dụ trên tạo ra kết quả sau. Ghi chú: Để truy cập dữ liệu Session trong cùng một trang, không cần tạo lại Session vì nó đã được bắt đầu trên đầu trang. Hủy một SessionNếu bạn muốn xóa dữ liệu Session nhất định, chỉ cần bỏ đặt khóa tương ứng của mảng kết hợp 0, như được hiển thị trong ví dụ sau:Tuy nhiên, để hủy hoàn toàn một Session, chỉ cần gọi hàm 2. Hàm này không cần bất kỳ đối số nào và một lệnh gọi sẽ hủy tất cả dữ liệu Session.Ghi chú: Trước khi hủy một Session bằng hàm 2, trước tiên bạn cần tạo lại môi trường Session nếu nó chưa có ở đó bằng cách sử dụng hàmsession_start() , để có thứ gì đó mà hủy.Mỗi PHP Session đều có một giá trị thời gian chờ - thời lượng, được đo bằng giây - xác định thời gian một Session sẽ tồn tại trong trường hợp không có bất kỳ hoạt động nào của người dùng. Bạn có thể điều chỉnh khoảng thời gian chờ này bằng cách thay đổi giá trị của biến 5 trong tệp cấu hình PHP (6).
Video hướng dẫn Session Php trong 40 phút miễn phíPhiên làm việc là gì?Phiên là một chu trình người dùng gửi yêu cầu lên server và được server hồi đáp. Sau khi server hồi đáp trả lại trang nó sẽ đóng kết nối. Vậy nên những phiên làm việc sau đó web server không thể kết nối các phiên làm việc với nhau để phục vụ công việc nào đó. Ví dụ bên dưới chúng ta tiến hành kiểm tra
Sau khi chạy đoạn code trên nhiều lần thì kết quả vẫn chỉ xuất lên màn hình giá trị 2.Điều này minh chứng một điều rằng theo mặc định thông thường các dữ liệu trên các phiên làm việc không kết nối với nhau. Session là gì?
Cách sử dụng Session#1. Chuẩn bịĐể sử dụng session bạn cần thêm những hàm bên dưới giúp session khởi động để bắt đầu sử dụng. #2. Lưu thông tin vào session3 nó là một mảng toàn cục nên việc lưu thông tin thao tác như mảng thông thường.$_SESSION[name] = value; Ví dụ: Lưu id người dùng đã login vào session Khi người dùng login vào hệ thống chúng ta muốn lưu lại id để phục vụ cho quá trình xử lý chương trình trong phiên làm việc của user bất kỳ. Để làm điều này bạn có thể lưu trữ đơn giản như bên dưới với giá trị 5$_SESSION['id_login'] = 10; #3. Cách lấy giá trị đã lưu trong SessionSau khi lưu dữ liệu vào session tất nhiên chúng ta cần sử dụng nó phục vụ cho một công việc nào đó trong chương trình. Ví dụ như hiển thị tên người dùng đã đăng nhập, hiển thị danh sách sản phẩm đã mua trong giỏ hàng… 3 bản chất nó là mảng nên cách truy suất lấy thông tin bạn thực hiện theo cách thông thường.
Ví dụ: Hủy sesion của id login unset($_SESSION['id_login']); Tổng kết Qua bài này bạn cần nhớ Session dùng để lưu dữ liệu trên nhiều phiên làm việc lại với nhau. Dữ liệu được lưu trữ trong biến toàn cục $_SESSION nó cũng là kiểu dữ liệu mảng nên cách thao tác như mảng thông thường. Đây là một nội dung rất quan trọng trong quá trình xây dựng website có chức năng đăng nhập thành viên hoặc hệ thống web có giỏ hàng, giúp khách hàng có thể đặt hàng trực tiếp trên hệ thống. Việc của bạn ngay bây giờ cần ghi chép lại những nội dung quan trọng và thực hành lại từng bước những thao tác trên Session để đảm bảo nắm chắc bài học. |