Tôi không thể sử dụng các biến phiên trên một trang khác với trang mà chúng được đặt, IOW chúng hoạt động như các biến không phải phiên. Tôi đã tìm thấy một câu hỏi tương tự được đăng trong một nửa tá tương tự khác fora, nhưng câu trả lời trong những trường hợp khác luôn luôn quay ra không áp dụng.Biến số phiên PHP Không được bảo quản
Dưới đây là tác phẩm của tôi:
sess1.php
<?php
session_start();
session_register("userid");
session_register("textvar");
$_SESSION['userid'] = 10333 ;
$_SESSION['textvar'] = TextVariable ;
echo "<p>User ID is: " . $_SESSION['userid'] . "</p>" ;
echo "<p>Another variable is: " . $_SESSION['textvar'] . "</p>" ;
?>
<p>Go to the <a href="sess2.php">next page</a>.</p>
và sess2.php
<?php
session_start();
echo "<p>The userid session variable is: " . $_SESSION['userid'] . "</p>";
echo "<p>The other session variable is: " . $_SESSION['newvar']. "</p> ";
?>
Sản lượng trình duyệt trong mỗi trường hợp là:
sess1.php
User ID là: 10333
biến khác là: TextVariable
Chuyển đến [Trang tiếp theo].
và sess2.php
Biến phiên userid là:
Biến session khác là:
Chuyển đến [Trang cuối].
Một vài điều đó là KHÔNG:
- Tôi có session_start() ở phía trên cùng của cả hai tập tin.
- Thư mục biến có thể ghi và các biến phiên được hiển thị ở đó. (Tôi có khoảng một trăm tập tin nhỏ gọi là sess_b62, có cái này bên trong: 'userid | i: 10333; textvar | s: 12: "TextVariable";'.)
- phpinfo() cho tôi biết rằng tệp php.ini đang được đọc chính xác và thời gian tồn tại được đặt thành mặc định, 0, tức là cho đến khi trình duyệt được đóng lại.
Tôi sắp kết thúc. Bất kỳ đề xuất?
Cảm ơn rất nhiều.
Bạn đã kiểm tra xem có sử dụng cùng một ID phiên không? – Gumbo
Có phải một trong các trang qua SSL không? –
Bạn đang chạy phiên bản PHP nào? (từ phpinfo() là tốt) –