会话变量未在函数

时间:2016-02-11 01:12:03

标签: php session-variables

我正在尝试设置一个会话变量来记录人们投票的时间,但PHP拒绝设置它。代码如下:

elseif (isset($_GET['group']) && isset($_GET['vote']))
    {
        include_once(_INC.'otherheader.php');
        groupVotePage($group, $vote);
        $_SESSION[$group] = '1';
        echo $_SESSION[$group];
    }

无。函数groupVotePage将投票添加到数据库并回显感谢消息。 $ group是被投票的组的名称。我有session_start();在页面的顶部,并尝试在调用的函数内声明变量,放入session_start();到处。会话变量在网站的其他地方使用,所以我知道它不是服务器问题,并且在我尝试的所有浏览器上都是一样的。

声明函数内部的会话var有效但仅在函数内 - 它不会全局。

 if(!isset($_SESSION[$group])) {
        $totalVote=$totalVote+$vote;
        $totalNumVotes=$totalNumVotes+1;
        $totalRating=round($totalVote/$totalNumVotes);
        $totalScore=$totalVote*$totalNumVotes;
        ...db stuff...

        $mysqli->query($query);

        echo'Thanks for voting!';
    }

    else {
        echo'You have already voted for this group!';
    }

2 个答案:

答案 0 :(得分:0)

也许您可以使用PHP错误报告代码来找出出错的地方

// Report all errors
error_reporting(E_ALL);

答案 1 :(得分:0)

好的修好了,< !DOCTYPE HTML> section在session_start();之前,当我把它放在代码工作之后。