Session trong PHP 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 session được đă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 đó. Bài hôm nay chúng ta sẽ tiếp tục tìm hiểu về Session trong PHP là gì? Hướng dẫn code Session trong PHP.
Khi bạn làm việc với một ứng dụng, bạn bắt đầu với việc mở nó, thực hiện một số thay đổi, và sau đó bạn đóng nó lại. Điều bạn vừa thực hiện giống như một session. Máy tính biết bạn là ai, nó biết khi bạn bắt đầu ứng dụng và kết thúc. Nhưng trên internet có một vấn đề: máy chủ web không biết bạn là ai hoặc bạn làm gì, vì địa chỉ HTTP không duy trì trạng thái.
Vậy session sẽ giải quyết vấn đề này giúp bạn bằng cách lưu trữ thông tin người dùng được sử dụng trên nhiều trang (ví dụ: tên người dùng, màu yêu thích,…). Theo mặc định, các biến session sẽ kéo dài cho đến khi người dùng đóng trình duyệt.
Vì thế, biến session trong PHP sẽ lưu giữ thông tin về một người dùng duy nhất và có sẵn cho tất cả các trang trong một ứng dụng.
Một Session trong PHP dễ dàng bắt đầu bằng cách gọi hàm session_start (). Hàm đầu tiên sẽ kiểm tra xem session đã được bắt đầu chưa và nếu không có nào được bắt đầu thì nó bắt đầu một. Bạn nên đặt lệnh gọi session_start () ở đầu trang.
Các biến session được lưu trữ trong mảng kết hợp được gọi là $ _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 một phiên.
Ví dụ sau bắt đầu một session sau đó đăng ký một biến được gọi 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 sessionđã được đặt hay chưa.
Đặt mã này vào tệp test.php và tải tệp này nhiều lần để xem kết quả.
session_start();
if( isset( $_SESSION['counter'] ) ) {
$_SESSION['counter'] += 1;
}else {
$_SESSION['counter'] = 1;
}
$msg = "You have visited this page ". $_SESSION['counter'];
$msg .= "in this session.";
?>
Setting up a PHP session
Nó sẽ tạo ra kết quả sau:
Một session 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 cuộc gọi duy nhất có thể phá hủy tất cả các biến phiên. Nếu bạn muốn hủy một biến session duy nhất thì bạn có thể sử dụng hàm unset () để hủy đặt biến phiên.
Đây là ví dụ để bỏ đặt một biến duy nhất:
unset($_SESSION['counter']);
?>
Đây là cuộc gọi sẽ hủy tất cả các biến session:
session_destroy();
?>
Bạn không cần phải gọi hàm start_session () để bắt đầu một session khi người dùng truy cập trang web của bạn nếu bạn có thể đặt biến session.auto_start thành 1 trong tệp php.ini.
Có thể có 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 session tới trình duyệt.
Ngoài ra, bạn có thể sử dụng SID không đổi được xác định nếu session bắt đầu. Nếu khách hàng không gửi một cookie session thích hợp, nó có dạng session_name = session_id. Nếu không, nó sẽ mở rộng thành một chuỗi rỗng. Vì vậy, bạn có thể nhúng nó vô điều kiện vào URL.
Ví dụ sau đây minh họa cách đăng ký biến và cách liên kết chính xác đến trang khác bằng SID.
session_start();
if (isset($_SESSION['counter'])) {
$_SESSION['counter'] = 1;
}else {
$_SESSION['counter']++;
}
$msg = "You have visited this page ". $_SESSION['counter'];
$msg .= "in this session.";
echo ( $msg );
?>
To continue click following link
Nó sẽ tạo ra kết quả sau:
Hướng dẫn Session trong PHP trên đã giúp các bạn tìm hiểu Session trong PHP là gì, về cách bắt đầu một Session trong PHP, hủy Session trong PHP, bật Session tự động và session không có Cookie. Chúc các bạn thành công!
Một số tài liệu về PHP khác bạn nên học: