0
我正在嘗試爲訪問者爲我的網站制定簡單的導航規則。我想阻止訪問者訪問特定頁面,如果他們以前沒有訪問過其他頁面。 我對這個page1.php中簡單的代碼:使用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"]
後我得到「Hello
」和「3
」。
我只是不明白爲什麼代碼在if語句的兩個塊中執行...我需要它在$_SESSION["currentPage"]
設置爲「2
」後停止。
我運行PHP 28年3月5日
感謝您的回覆,@AlexBlex。但是,當發生以下步驟時會發生這種情況: 1.清除瀏覽器緩存和Cookie 2.訪問page1.php 3.訪問page2.php – pnb1
我懷疑如此。嘗試使用curl重現它:1.'curl -v http://.../ page1.php',2.'curl -v --cookie「...來自以前響應的會話cookie ...」http: //..../ page2.php'並用兩個命令的輸出更新你的問題。 –
,我發現刪除代碼中的'session_cache_limiter('private_no_expire')'行解決了這個問題。對於我來說,這條線在解決與在窗體中導航返回時ERR_CACHE_MISS錯誤的問題。 – pnb1