送信に問題があります。2つの評価があるとしましょう。
- FGTRE1
- FGTRE2
ユーザーが最初に評価1を完了し、評価1を送信してから、同じページに移動しますが、今回は評価2の詳細が表示されます。評価がどのように変更されるかを知るために、このコード行があります。ページの見出しを表示します。
<h1>ASSESSMENT (<?php echo $assessment ?>) <?php echo $sessionMinus ?> OF <?php echo $_SESSION['initial_session'] ?></h1>
したがって、最初の評価ではこれが表示されます。
評価(FGTRE1)1/2
そして、2番目の評価は次のように表示されます。
評価(FGTRE2)2/2
私が抱えている問題は、ユーザーが最初の評価を正常に送信すると、2番目の評価が表示されず、最初の評価の詳細が表示されることです。
以下のコードを見て私の質問は、最初の評価の送信が成功した後、ページが2番目の評価コンテンツをロードせず、代わりに最初の評価コンテンツを表示するのはなぜですか?
私はphpエラーレポートを含めましたが、phpエラーはなく、エラーコンソールにもjavascriptエラーはありません。
PHP:
<?php
session_start();
if (isset($_POST['id'])) {
$_SESSION['id'] = $_POST['id'];
}
if(isset($_SESSION['sessionNum'])){
//Declare my counter for the first time
$_SESSION['initial_session'] = $_SESSION['sessionNum'];
$_SESSION['sessionNumber'] = intval($_SESSION['sessionNum']);
$_SESSION['sessionCounting'] = 1;
} elseif (isset($_POST['submitMarks']) && $_SESSION['sessionCounting'] < $_SESSION['sessionNumber']) {
$_SESSION['sessionCounting']++;
}
$sessionMinus = $_SESSION['sessionCounting'];
$sessionConcat = $_SESSION['sessionCounting'];
if ($sessionMinus == $_SESSION['initial_session']){
$action = 'penalty.php';
} elseif($sessionMinus != $_SESSION['initial_session']){
$action = $_SERVER['PHP_SELF'];
}
$assessment = $_SESSION['id'];
if ($_SESSION['initial_session'] > 1) {
$assessment .= $sessionConcat;
}
?>
HTML:
<body>
<form id="Marks" action="<?php echo htmlentities($action); ?>" method="post">
<h1>ASSESSMENT (<?php echo $assessment ?>) <?php echo $sessionMinus ?> OF <?php echo $_SESSION['initial_session'] ?></h1>
<input id="submitBtn" name="submitMarks" type="submit" value="Submit Marks" />
</form>
</body>
Jquery:
$(function() {
...
myClickHandler = function(e) {
var ng = $('#num_groups').val();
for (var group = 1; group <= ng; group++) {
if (!validation(group)) return false;
}
if (confirm("Are you sure you want to Proceed?" + "\n")) {
$.ajax({
url: "insertmarks.php",
data: $("#Marks").serialize(),
async: false,
type: "POST"
});
return true;
} else {
return false;
}
};
$('#Marks').submit(myClickHandler);
});
});