Khi bạn làm việc với một ứng dụng, bạn mở ứng dụng đó, thực hiện một số thay đổi rồi đóng ứng dụng đó. Điều này giống như một Phiên. Máy tính biết bạn là ai. Nó biết khi nào bạn bắt đầu ứng dụng và khi nào bạn 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
Biến phiên giải quyết vấn đề này bằng cách lưu trữ thông tin người dùng sẽ được sử dụng trên nhiều trang [e. g. tên người dùng, màu sắc yêu thích, v.v.]. Theo mặc định, các biến phiên kéo dài cho đến khi người dùng đóng trình duyệt
Cho nên;
Mẹo. Nếu bạn cần lưu trữ vĩnh viễn, bạn có thể muốn lưu trữ dữ liệu trong cơ sở dữ liệu
Bắt đầu một phiên PHP
Một phiên được bắt đầu với chức năng session_start[]
Các biến phiên được đặt với biến toàn cục PHP. $_SESSION
Bây giờ, hãy tạo một trang mới có tên "demo_session1. php". Trong trang này, chúng tôi bắt đầu một phiên PHP mới và đặt một số biến phiên
Ví dụ
// Bắt đầu phiên
session_start[];
?>
// Đặt biến phiên
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat . ";
echo "Session variables are set.";
?>
Ghi chú. Hàm session_start[]
phải là thứ đầu tiên trong tài liệu của bạn. Trước bất kỳ thẻ HTML nào
Nhận các giá trị biến phiên PHP
Tiếp theo, chúng tôi tạo một trang khác có tên "demo_session2. php". Từ trang này, chúng tôi sẽ truy cập thông tin phiên mà chúng tôi đã đặt trên trang đầu tiên ["demo_session1. php"]
Lưu ý rằng các biến phiên không được chuyển riêng lẻ cho từng trang mới, thay vào đó chúng được truy xuất từ phiên mà chúng tôi mở ở đầu mỗi trang [_______1]
Cũng lưu ý rằng tất cả các giá trị biến phiên được lưu trữ trong biến $_SESSION toàn cầu
Ví dụ
session_start[];
?>
// Echo các biến phiên đã được đặt ở trang trước
echo "Favorite color is ". $_SESSION["màu yêu thích"]. ".
";
echo "Con vật yêu thích là ". $_SESSION["favanimal"]. ". ";
?>
Một cách khác để hiển thị tất cả các giá trị biến phiên cho phiên người dùng là chạy đoạn mã sau
Ví dụ
session_start[];
?>
print_r[$_SESSION];
?>
Làm thế nào nó hoạt động?
Hầu hết các phiên đặt khóa người dùng trên máy tính của người dùng trông giống như thế này. 765487cf34ert8dede5a562e4f3a7e12. Sau đó, khi một phiên được mở trên một trang khác, nó sẽ quét máy tính để tìm khóa người dùng. Nếu khớp thì truy cập phiên đó, nếu không thì bắt đầu phiên mới
Ví dụ
Đặt và truy xuất cặp tên/giá trị sessionStorage
sessionStorage. setItem["họ", "Smith"];
sessionStorage. getItem["họ"];
Thêm ví dụ bên dưới
Định nghĩa và cách sử dụng
Đối tượng sessionStorage
cho phép bạn lưu trữ các cặp khóa/giá trị trong trình duyệt
Ghi chú
Đối tượng sessionStorage
lưu trữ dữ liệu chỉ trong một phiên
[Dữ liệu bị xóa khi đóng trình duyệt]
Xem thêm
Đối tượng localStorage lưu trữ dữ liệu không có ngày hết hạn
[Dữ liệu không bị xóa khi đóng trình duyệt và có sẵn trong các phiên sau]
cú pháp
Hoặc chỉLưu dữ liệu vào bộ nhớ phiên
phiênStorage. setItem["key", "value"];
Đọc dữ liệu từ lưu trữ phiên
để họ = sessionStorage. getItem["key"];
Xóa dữ liệu khỏi bộ nhớ phiên
phiênStorage. removeItem["key"];
Xóa tất cả [Xóa bộ nhớ phiên]
Thông số
Khóa mô tả tham sốBắt buộc.Tên khóa. giá trịbắt buộc.
Giá trị của khóa.
Giá trị trả về
TypeDescriptionObjectA đối tượng sessionStorageThêm ví dụ
Đếm số lần người dùng đã nhấp vào nút
if [sessionStorage. số lần nhấp] {
sessionStorage. số lần nhấp = Số [sessionStorage. clickcount] + 1;
} other {
sessionStorage. số lần nhấp = 1;
}
Hỗ trợ trình duyệt
window.sessionStorage
được hỗ trợ trong tất cả các trình duyệt
AFAIK - bạn không thể đặt biến phiên từ Javascript. Bạn sẽ cần gửi biểu mẫu và đặt nó trong mã xử lý PHP của mình hoặc tạo tập lệnh AJAX sẽ gọi tệp PHP và cập nhật biến phiên
Đã được trả lời bởi migcosta 13 trong một
xin lỗi. nhưng tôi dường như không hiểu vấn đề của bạn.
…
tại sao bạn không sử dụng JScript để tính toán và cập nhật ngày, và php để thay đổi các biến phiên?
bạn tạo một biểu mẫu nhập liệu ẩn cho phiên mới .
Tất cả 5 câu trả lời
Update
0 0
Chia sẻ
conord 0 Áp phích dành cho người mới
12 năm trướcAFAIK - bạn không thể đặt biến phiên từ Javascript. Bạn sẽ cần gửi biểu mẫu và đặt nó trong mã xử lý PHP của mình hoặc tạo tập lệnh AJAX sẽ gọi tệp PHP và cập nhật biến phiên
0 0
Chia sẻ
migcosta 13 Áp phích trẻ
12 năm trướcxin lỗi. nhưng tôi dường như không hiểu vấn đề của bạn.
tại sao bạn không sử dụng JScript để tính toán và cập nhật ngày, và php để thay đổi các biến phiên?
bạn tạo một biểu mẫu nhập liệu ẩn cho phiên mới .
giữ cho nó đơn giản;]
1 0
Chia sẻ
diafol
12 năm trướcxin lỗi. nhưng tôi dường như không hiểu vấn đề của bạn.
tại sao bạn không sử dụng JScript để tính toán và cập nhật ngày, và php để thay đổi các biến phiên?
bạn tạo một biểu mẫu nhập liệu ẩn cho phiên mới .giữ cho nó đơn giản;]
Đồng ý - lợi thế duy nhất tôi có thể thấy khi gửi biểu mẫu tới tập lệnh js là nếu bạn có nhiều js tương tác khác đang diễn ra - vì vậy bạn cần sử dụng Ajax. Nếu không, chỉ cần sử dụng hành động biểu mẫu cho tập lệnh/trang php để xử lý cập nhật
Bạn có thể đặt biến phiên PHP trong JavaScript không?
Làm cách nào để chuyển giá trị phiên trong JavaScript trong PHP?
session_start[]; if[ isset[$_POST['Submit']]] { if[ $_SESSION['security_code'] == $_POST['security_code'] && !