我正在为我的网站的访问者制作简单的导航规则。我想阻止访问者访问特定页面,如果他们之前没有访问过其他页面。 我在page1.php上有这个简单的代码:
<?php
session_start();
$_SESSION["currentPage"] = 1;
?>
这个代码在我的page2.php上:
<?php
session_start();
if ($_SESSION["currentPage"] == 1 ) {
$_SESSION["currentPage"] = 2;
$_SESSION["test"] = "Hello";
}else{
$_SESSION["currentPage"] = 3;
}
?>
在访问page1.php然后访问page2.php并回显$_SESSION["currentPage"]
和$_SESSION["test"]
之后,我得到了&#34; Hello
&#34;和&#34; 3
&#34;。
我只是不明白为什么代码会在if语句的两个块中执行...我需要在$_SESSION["currentPage"]
设置为&#34; 2
之后停止#34;
我正在运行PHP 5.3.28
答案 0 :(得分:0)
执行
$_SESSION["currentPage"] = 2;
$_SESSION["test"] = "Hello";
第一次打开page2.php时,
$_SESSION["currentPage"] = 3;
当您刷新页面时,因为$_SESSION["currentPage"]
不再是1
$_SESSION
在请求中保持不变。清除Cookie并重试。