1

您好,这一切都是对上一个问题的跟进,正如我所解释的,我已经使用 PHP 和单选按钮创建了一个考试。我已经成功地传递了变量,因此使用 GET 方法和回显提示计算并显示在屏幕上。

我的问题是当新用户查看该页面时,我收到一条错误消息,提示变量 totalscore 未定义。我知道发生这种情况是因为此变量当前不存在,因为 GET 方法没有变量。我试图在有结果时达到“总分:20%”,但在没有结果时为空白。

我研究过我应该使用 isset 和 SESSION 命令来创建一个 if 语句:

<? $totalScore=$_GET['totalscore']; ?>

<? if (isset($_SESSION['totalscore']))

{
echo "Total Score";
echo $totalScore;
echo "&#37;";
}
else
{}
?> 

如果这段代码完全错误,请原谅我,我的理解是,如果会话中有一个变量“totalscore”,页面会回显信息,如果没有,则不会显示任何内容。

亲切的问候

4

3 回答 3

1

您可以禁用通知,或者:

<?php $totalScore = isset($_GET['totalscore']) ? $_GET['totalscore'] : false; ?>

你也应该做类似 if($totalScore) { 做任何事情 }

:)

于 2013-03-01T16:45:52.427 回答
1

第一页

if (isset($_GET['totalscore'])) {
    // grab data
    $totalScore = $_GET['totalscore'];
    // store in session
    $_SESSION['totalscore'] = $totalScore;
}

第二页或同一页

// check the session and use
if (isset($_SESSION['totalscore'])) {
    echo "Total Score";
    echo $_SESSION['totalscore'];
    echo "&#37;";
} else {
    // session not exists
}
于 2013-03-01T16:46:20.927 回答
0

防止会话劫持,您必须 <? session_start(); ?> 在开头添加:

还学会保护会话

于 2013-03-01T16:46:26.007 回答