Phiên làm việc PHP giúp lưu trữ thông tin người dùng ở phía máy khách, có thể được truy cập trên nhiều trang
Mục lục
Phiên trong PHP là gì?
Khi người dùng lướt trên internet, máy chủ web không biết người dùng là ai và anh ta làm gì. Vì vậy, các biến phiên được sử dụng để xác định người dùng bằng cách lưu trữ thông tin của người dùng sẽ được sử dụng trên nhiều trang
Tuy nhiên, các biến Phiên sẽ tự động mất dữ liệu sau khi người dùng đóng trình duyệt. Ngoài ra, các biến Phiên giữ thông tin về người dùng đang hoạt động hiện tại, đây là thông tin điển hình cho tất cả các trang
Trong PHP, chúng ta có thể truy cập và sửa đổi các phiên thông qua biến $_SESSION
đọc thêm. Phiên Vs Cookies trong PHP
$_SESSION trong PHP là gì?
$_SESSION là một hằng số toàn cầu trong PHP. Chúng tôi có thể đặt và truy cập dữ liệu phiên thông qua biến $_SESSION. Trong PHP $_SESSION hoàn toàn phân biệt chữ hoa chữ thường, chúng ta không thể sử dụng $_session hoặc $_Session. Trước khi thiết lập một phiên, chúng ta phải bắt đầu một phiên
Làm cách nào để bắt đầu phiên PHP?
hàm session_start[] được sử dụng để bắt đầu phiên làm việc trong PHP. Phương thức này phải được viết ở đầu tệp PHP trước bất kỳ phương thức bao gồm hoặc yêu cầu nào
cú pháp
session_start[]
Ví dụ
Ghi chú. Thời gian chờ mặc định của phiên PHP trong cấu hình apache là 30 phút sau khi phiên bắt đầu. Nó có thể được sửa đổi thông qua một php. ini hoặc tệp HTACCESS
Làm cách nào để sử dụng $ _SESSION để đặt phiên trong PHP?
Trong các bước sau, chúng ta sẽ tìm hiểu cách bắt đầu một phiên và đặt biến phiên trong PHP với một ví dụ
Bước 1. Đặt phiên
Hãy tạo một trang “create_session. php. ” Ở đây chúng tôi tạo các biến phiên và đưa một số dữ liệu vào các biến
tạo_session. php
Bước 2. Nhận giá trị của các biến phiên
Tiếp theo, chúng tôi tạo một trang khác, “getdata_session. php. ”
Ở đây, chúng tôi truy xuất các giá trị của biến phiên mà chúng tôi đã đặt trên trang của mình “create_session. php. ”
Ở đây chúng ta sẽ sử dụng biến toàn cục $_SESSION để lấy dữ liệu của tất cả các biến phiên. Một điểm cần thiết khác là chúng tôi không chuyển các giá trị của biến phiên trên mỗi trang. Thay vào đó, chúng tôi truy xuất các biến phiên sau khi bắt đầu phiên bằng hàm session_start[]
getdata_session. php
đầu ra
Name is NICK
Email is [email protected]
Bước 3. Sửa đổi dữ liệu phiên
Chúng tôi có thể sửa đổi các biến phiên bằng cách ghi đè lên các giá trị ban đầu của nó
Hãy tạo trang “modify_session. php” để thay đổi các biến phiên
sửa_session. php
đầu ra
TEST
Bước 4. Hủy hoặc bỏ đặt phiên
Trong PHP, hàm session_destroy[] hủy hoàn toàn tất cả các phiên. Nhưng session_unset[] xóa tất cả các biến phiên. Tuy nhiên, cả hai đều có tác dụng tương tự nhau.
Ví dụ
cũng đọc. Hàm MySQLi trong PHP
Phần kết luận
Tôi hy vọng bây giờ bạn đã hiểu đầy đủ về 'Session trong PHP là gì với ví dụ. ' Hơn nữa, các phiên PHP khá dễ thực hiện
Một cách khác để làm cho dữ liệu có thể truy cập được trên các trang khác nhau của toàn bộ trang web là sử dụng Phiên PHP
Một phiên tạo một tệp trong một thư mục tạm thời trên máy chủ nơi các biến phiên đã đăng ký và giá trị của chúng được lưu trữ. Dữ liệu này sẽ có sẵn cho tất cả các trang trên trang web trong lần truy cập đó
Vị trí của tệp tạm thời được xác định bởi cài đặt trong tệp php. ini được gọi là phiên. Lưu đường dẫn. Trước khi sử dụng bất kỳ biến phiên nào, hãy đảm bảo rằng bạn đã thiết lập đường dẫn này
Khi một phiên được bắt đầu, những điều sau đây sẽ xảy ra -
Trước tiên, PHP tạo một mã định danh duy nhất cho phiên cụ thể đó là một chuỗi ngẫu nhiên gồm 32 số thập lục phân, chẳng hạn như 3c7foj34c3jj973hjkop2fc937e3443
Cookie có tên PHPSESSID được tự động gửi đến máy tính của người dùng để lưu trữ chuỗi nhận dạng phiên duy nhất
Một tệp được tạo tự động trên máy chủ trong thư mục tạm thời được chỉ định và mang tên của mã định danh duy nhất có tiền tố là sess_ tức là sess_3c7foj34c3jj973hjkop2fc937e3443
Khi một tập lệnh PHP muốn truy xuất giá trị từ một biến phiên, PHP sẽ tự động lấy chuỗi mã định danh phiên duy nhất từ cookie PHPSESSID và sau đó tìm trong thư mục tạm thời của nó để tìm tệp mang tên đó và có thể thực hiện xác thực bằng cách so sánh cả hai giá trị
Một phiên kết thúc khi người dùng mất trình duyệt hoặc sau khi rời khỏi trang web, máy chủ sẽ kết thúc phiên sau một khoảng thời gian định trước, thường là 30 phút
Bắt đầu một phiên PHP
Một phiên PHP có thể dễ dàng bắt đầu bằng cách gọi hàm session_start[]. Trước tiên, chức năng này kiểm tra xem một phiên đã bắt đầu chưa và nếu chưa có phiên nào bắt đầu thì nó sẽ bắt đầu một phiên. Bạn nên gọi hàm session_start[] ở đầu trang
Các biến phiên được lưu trữ trong mảng kết hợp có tên $_SESSION[]. Các biến này có thể được truy cập trong suốt thời gian tồn tại của phiên
Ví dụ sau bắt đầu một phiên, sau đó đăng ký một biến có tên là bộ đếm được tăng lên mỗi khi trang được truy cập trong phiên
Sử dụng hàm isset[] để kiểm tra xem biến phiên đã được đặt hay chưa
Đặt mã này trong một bài kiểm tra. php và tải tệp này nhiều lần để xem kết quả –
________số 8Nó sẽ tạo ra kết quả sau -
You have visited this page 1in this session.
Phá hủy phiên PHP
Phiên PHP có thể bị hủy bởi hàm session_destroy[]. Hàm này không cần bất kỳ đối số nào và một lệnh gọi có thể hủy tất cả các biến phiên. Nếu bạn muốn hủy một biến phiên thì bạn có thể sử dụng hàm unset[] để hủy đặt một biến phiên
Đây là ví dụ để hủy đặt một biến duy nhất -
0Đây là cuộc gọi sẽ hủy tất cả các biến phiên -
0Bật phiên tự động
Bạn không cần gọi hàm start_session[] để bắt đầu phiên khi người dùng truy cập trang web của bạn nếu bạn có thể đặt phiên. biến auto_start thành 1 trong php. tập tin ini
Phiên không có cookie
Có thể xảy ra trường hợp người dùng không cho phép lưu trữ cookie trên máy của họ. Vì vậy, có một phương pháp khác để gửi ID phiên tới trình duyệt
Ngoài ra, bạn có thể sử dụng hằng số SID được xác định nếu phiên bắt đầu. Nếu khách hàng không gửi cookie phiên thích hợp, nó sẽ có dạng session_name=session_id. Mặt khác, nó mở rộng thành một chuỗi rỗng. Do đó, bạn có thể nhúng nó vô điều kiện vào các URL
Ví dụ sau minh họa cách đăng ký một biến và cách liên kết chính xác đến một trang khác bằng SID