在我的代碼下面,爲什麼它不是每次遞增一個整數?例如,假設我在提交表單時有1 OF 5
。提交後,它應該是2 OF 5
,但相反,它顯示5 OF 5
。即使我將最大值從5更改爲3,也會發生這種情況;它開始於1 OF 3
並立即跳轉到3 OF 3
。這是爲了顯示.. OF ..
爲什麼此代碼不能正確增加計數器?
<h1><?php echo $sessionMinus ?> OF <?php echo $_SESSION['initial_count'] ?></h1>
下面的代碼是將應當由一個每次遞增值的代碼:
if(isset($_POST['sessionNum'])){
//Declare my counter for the first time
$_SESSION['initial_count'] = $_POST['sessionNum'];
$_SESSION['sessionNum'] = $_POST['sessionNum'];
$_SESSION['sessionCount'] = 1;
}
else if ($_SESSION['sessionCount'] < $_SESSION['sessionNum']) {
$_SESSION['sessionCount']++;
}
$sessionMinus = $_SESSION['sessionCount'];
是否確定代碼未被多次調用,例如,如果重寫規則使頁面加載多次,可能會發生這種情況? –
我覺得這是一段非常混亂的代碼。你的代碼似乎有意義,看起來完全正確。爲什麼不嘗試在代碼中使用'exit($ sessionMinus)''來取消任何其他代碼的運行? – Luceos
你確定'$ _SESSION ['sessionNum']'是一個整數嗎?如果不是這樣,比較是無關緊要的。 –