Php 它没有正确提交页面以显示下一次评估的详细信息

Php 它没有正确提交页面以显示下一次评估的详细信息,php,jquery,html,ajax,Php,Jquery,Html,Ajax,我的提交有问题。假设我有两个评估: FGTRE1 FGTRE2 假设用户首先完成评估1,提交评估1,然后导航到同一页面,但这次显示评估2的详细信息。为了了解评估是如何更改的,我有一行代码显示页面标题: <h1>ASSESSMENT (<?php echo $assessment ?>) <?php echo $sessionMinus ?> OF <?php echo $_SESSION['initial_session'] ?></h1

我的提交有问题。假设我有两个评估:

  • FGTRE1
  • FGTRE2
假设用户首先完成评估1,提交评估1,然后导航到同一页面,但这次显示评估2的详细信息。为了了解评估是如何更改的,我有一行代码显示页面标题:

<h1>ASSESSMENT (<?php echo $assessment ?>) <?php echo $sessionMinus ?> OF <?php echo $_SESSION['initial_session'] ?></h1>   
ASSESSMENT()
因此,第一次评估显示:

评估(FGTRE1)第1页,共2页

第二项评估应显示:

评估(FGTRE2)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;
}

?>
<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>
$(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);

});

});

HTML:

<?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;
}

?>
<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>
$(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);

});

});

Jquery:

<?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;
}

?>
<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>
$(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);

});

});
$(函数(){
...
myClickHandler=函数(e){
var ng=$('#num_groups').val();

对于(var group=1;group好的,我想我有问题了。您似乎在
SESSION\u start
中定义了
$\u会话['sessionNum']
,并且只在
else
中检查下一个会话,
$\u会话['sessionNum']
将始终处于活动状态

请尝试以下代码:

if(isset($_SESSION['sessionNum'])){
    //Declare my counter for the first time

    $_SESSION['initial_session'] = $_SESSION['sessionNum'];
    $_SESSION['sessionNumber'] = intval($_SESSION['sessionNum']);
    $_SESSION['sessionCounting'] = 1;
} 

if (isset($_POST['submitMarks']) && $_SESSION['sessionCounting'] < $_SESSION['sessionNumber']) {
    $_SESSION['sessionCounting']++;
}
if(isset($\u SESSION['sessionNum'])){
//第一次申报我的柜台
$_会话['initial_SESSION']=$_会话['sessionNum'];
$_SESSION['sessionNumber']=intval($_SESSION['sessionNum']);
$_SESSION['sessionCounting']=1;
} 
如果(isset($\u POST['submitMarks'])和&$\u会话['sessionCounting']<$\u会话['sessionNumber']){
$\会话['sessionCounting']++;
}

您在哪里定义会话['sessionNum']