0

在 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 = 'infopenaltymarks.php'; 

    }elseif($sessionMinus != $_SESSION['initial_session']){ 

        $action = $_SERVER['PHP_SELF']; 

    }

$assessment = $_SESSION['id'] . $sessionConcat;

现在对于页面的标题,我正在使用以下代码:

<h1>INDIVIDUAL MARKS FOR EACH ANSWER: ASSESSMENT (<?php echo $assessment ?>) <?php echo $sessionMinus ?> OF <?php echo $_SESSION['initial_session'] ?></h1>

现在假设Session数据库中的表如下所示:

SessionId  SessionName
1          AAA1
2          AAA2
3          AAB

现在,如果您查看上面的表格,我有多个考试AAA1AAA2而我只有一个考试AAB

现在假设我正在研究 Exam AAA1,它将显示如下标题:

每个答案的单独分数:评估 (AAA1) 1 / 2

上面的标题是正确的,因为它显示了正确的考试名称,并且它说明了它是两个AAA考试 中的第一个

当我提交页面时,它将更改标题以进行第二次AAA考试,如下所示:

每个答案的个人分数:评估 (AAA2) 2 / 2

再次,上面的标题是正确的。

我遇到的问题是,如果我有一个单一的考试,或者在这种情况下是一个考试AAB,因为它是一个单一的考试,它在考试名称的末尾不包含一个数字,所以它只是AAB在数据库中显示。

但是当我输出标题时,它会在下面显示:

每个答案的单独分数:评估 (AAB1) 1 / 1

现在您可以看到上面的标题不正确,因为它不是考试AAB1,它应该AAB在括号之间。所以我的问题是,如果考试是1 OF 1或者换句话说只是一个考试,我如何从括号之间的考试名称末尾删除数字 1 以便将其显示为AAB而不是AAB1

4

1 回答 1

0

仅当大于 1 时才添加会话计数

$assessment = $_SESSION['id'];
if ($_SESSION['initial_session'] > 1) {
    $assessment .= $sessionConcat;
}

在打印线之前修复

<?php
if ($_SESSION['initial_session'] == 1) {
    $assessment = substr($assessment, 0, -1);
}
?>
<h1>INDIVIDUAL MARKS FOR EACH ANSWER: ASSESSMENT (<?php echo $assessment ?>) <?php echo $sessionMinus ?> OF <?php echo $_SESSION['initial_session'] ?></h1>
于 2012-11-16T03:18:14.777 回答