我正在运行WAMP服务器3.1.9(PHP 7.2.18,Apache 2.4.39),并且关于PHP会话存在以下问题。 考虑以下代码:
test1.php:
<?php
session_start();
$_SESSION['test'] = 1;
echo $_SESSION['test']." set";
?>
test2.php:
<?php
session_start();
echo $_SESSION['test'];
$_SESSION['test'] = 2;
?>
当我使用浏览器并加载test1.php时,得到的输出“ 1 set”与预期的一样。但是,当我立即加载test2.php时,我得到的是“ 2”而不是“ 1”。就像test2.php已经执行了两次,第二次允许输出一样。我不确定是什么原因导致了这种现象。请帮忙。
答案 0 :(得分:-3)
会话密钥$_SESSION['test']
与之相同,因此在浏览器中不起作用。如果在不同的浏览器中打开这些文件,那么它将起作用,除了您需要同时使用不同的密钥,这意味着如果将会话设置为名为test
,则不能在另一个会话中使用“测试”密钥。
使用会话就像在编码中看到的那样
test1.php:
<?php
session_start();
$_SESSION['test'] = 1;
echo $_SESSION['test']." set";
?>
test2.php:
<?php
session_start();
echo $_SESSION['another-test'];
$_SESSION['another-test'] = 2;
?>
如果要使用相同的密钥,则需要销毁使用函数...存储的上一个会话。
session_destroy();
或
unset($_SESSION['test']);