我使用html,jquery,css和php創建了一個表單。 我定義了會話['級別'],每個級別,會話['級別']的值將加1,然後包括下一頁。 但是,我遇到了一個問題。 如果我刷新頁面會話['級別']值保持不變,當我再次點擊「new_form」按鈕跳過級別。 我想要做的是,如果用戶刷新頁面,它將保持在他的水平,而不是返回到index.php,並且將不可能跳過級別。 我該怎麼做? 我很感激你的幫助。謝謝!會話值不重置
<?php
session_start();
?>
<html>
<head>
</head>
<body>
<!--The form is here..-->
<?php
if (!array_key_exists('level', $_SESSION)) {
$_SESSION['level'] = 1;
if(isset($_POST['submit'])) {
include ('page2.php');
}
} elseif ($_SESSION['level'] == 1) {
$_SESSION['level'] = 2;
if (isset($_POST['submit'])) {
include ('page3.php');
}
}elseif ($_SESSION['level'] == 2) {
$_SESSION['level'] = 3;
if (isset($_POST['submit'])) {
include ('page4.php');
}
} elseif ($_SESSION['level'] == 3) {
$_SESSION['level'] = 4;
if (isset($_POST['submit'])) {
include ('page5.php');
}
}
?>
<footer>
<form action="index.php" method="post">
<input type="button" name="new_form" class="btn btn-primary btn-new" onclick="show();" /><br>
<input type="button" class="btn btn-default btn-new" />
</form>
</div>
<img src="footer.png">
</footer>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.2.8/jquery.form-validator.min.js"></script>
<script> $.validate(); </script>
<script>
function show() {
$('#if-1-1').fadeIn(800);
}
</script>
</body>
</html>
你的代碼只是假設頁面的任何負載都是「轉到下一頁」操作。所以任何更新都會前進。您需要指示頁面加載是如何發生的,只有在明確請求下一頁時纔會前進。例如'
'session_start(); if(!empty($ _ SESSION ['level']) { echo $ _SESSION ['level']; }'? – zipzit
Marc BI希望URL在所有級別都是index.php,因爲我使用包括而不是鏈接到按鈕到下一頁 – eliron