大家好,这是对上一个问题的跟进,正如我所解释的那样,我使用PHP和单选按钮创建了一个考试。我已成功传递变量,因此使用GET方法和echo提示计算并显示它们。
我的问题是当新用户查看页面时,我收到一条错误消息,提示变量totalscore未定义。我知道发生这种情况是因为此变量目前不存在,因为GET方法没有变量。当有结果时,我试图达到“总分:20%”,但是当没有结果时我是空白。
我研究过我应该使用isset和SESSION命令创建一个if语句:
<? $totalScore=$_GET['totalscore']; ?>
<? if (isset($_SESSION['totalscore']))
{
echo "Total Score";
echo $totalScore;
echo "%";
}
else
{}
?>
请原谅我,如果这段代码完全错误,我的理解是,如果会话中有一个变量'totalscore',页面将回显信息,如果没有,将显示任何内容。
亲切的问候
答案 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 "%";
} else {
// session not exists
}
答案 2 :(得分:0)
要prevent session hijacking,您必须添加:
<?
session_start();
?>
在开头
还学会保护会话