PHP使用isset和SESSION在屏幕上显示内容

时间:2013-03-01 16:42:39

标签: php html

大家好,这是对上一个问题的跟进,正如我所解释的那样,我使用PHP和单选按钮创建了一个考试。我已成功传递变量,因此使用GET方法和echo提示计算并显示它们。

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

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

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

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

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

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

亲切的问候

3 个答案:

答案 0 :(得分:1)

您可以停用通知,或:

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

你也应该做像if($ totalScore){do whatever}

这样的事情

:)

答案 1 :(得分: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
}

答案 2 :(得分:0)

prevent session hijacking,您必须添加: <? session_start(); ?> 在开头

还学会保护会话