$ _SESSION ['userid']在一个函数中工作,而不是下一个函数

时间:2010-06-28 13:08:50

标签: php session variables global-variables

我无法理解为什么这不起作用。首先,我有一个这样的函数,用户名出现在:

if(isset($_POST['Commit'])){

if(empty($_POST['crime'])){
echo "You didn't select the type of crime you wish to do.";
}else{

   (...lots of code)

$name = $_SESSION['username'];`

然后我有另一个用户名显示空白的功能:

if(isset($_POST['action'])){

    (...)

if(empty($_POST['car'])){
echo "You didn't select a car.";
}else{


if($row['owner'] != $_SESSION['username']){
echo "This isn't your car.";
}else{

有一些我没有发布的代码,但你们明白了。为什么会这样?我认为$ _SESSION是全球性的,始终可用

我的主要php文件看起来像这样:

require("php functions\page_functions.php"); 
require("php functions\gta_functions.php");

session_start();

class gtapage extends Page
{

        public function display()
        {

        displayGta();
        }
}

其中displayGta();是我第一篇文章的功能

1 个答案:

答案 0 :(得分:5)

在使用第二个函数的脚本中调用session_start()了吗? $_SESSION仅适用于已打开会话的网页。