Php $\u会话不接受数据

Php $\u会话不接受数据,php,Php,我正试图将一些数据设置为会话$\u,但由于某些奇怪的原因,无法将任何数据输入会话。下面是我的函数,它假定将项$name和$value放入会话,但它似乎只是被忽略了,没有放入任何值 我在echo中给出的两个值都是输出字符串,所以应该可以正常工作……对吗 我不确定我还需要提交哪些其他信息,但请让我知道需要什么 public static function put($name, $value) { echo $name . "<br>" . $value; return $

我正试图将一些数据设置为会话$\u,但由于某些奇怪的原因,无法将任何数据输入会话。下面是我的函数,它假定将项$name和$value放入会话,但它似乎只是被忽略了,没有放入任何值

我在echo中给出的两个值都是输出字符串,所以应该可以正常工作……对吗

我不确定我还需要提交哪些其他信息,但请让我知道需要什么

public static function put($name, $value) {
    echo $name . "<br>" . $value;
    return $_SESSION[$name] = $value;
}
还有我的构造函数,它最终调用会话类中的put

这是我的登录函数,我在这里调用
put

public function login($username = null, $password = null) {
    $user = $this->find($username);
    if($user) {
        if($this->data()->password === substr(Hash::make($password), 0, 32)) {
            Session::put($this->_sessionName, $this->data()->id);
            var_dump($_SESSION);
            return true;
        }
        }
        return false;
    }
最后是会话的get方法

public static function get($name) {
            return $_SESSION[$name];    
        }
我的方法也存在

public static function exists() {
        return (isset($_SESSION[$name])) ? true : false;
    }

找到了解决办法。问题在于我的方法。我没有设置函数的变量

这就是我所拥有的:

public static function exists() {
    return (isset($_SESSION[$name])) ? true : false;
}
这也是我所改变的:

public static function exists($name) {
    return (isset($_SESSION[$name])) ? true : false;
}

找到了解决办法。问题在于我的方法。我没有设置函数的变量

这就是我所拥有的:

public static function exists() {
    return (isset($_SESSION[$name])) ? true : false;
}
这也是我所改变的:

public static function exists($name) {
    return (isset($_SESSION[$name])) ? true : false;
}

我没有看到
session_start()我放置会话_start();在我的init.php文件中,我在每个页面上“包含一次”。但是,我不确定会话是否实际启动。添加
echo session_id()到你的页面,如果你得到一个id,那么一个会话正在启动,如果没有,你需要找到原因。好的,得到一个长字符串。我猜它开始了…你能看到我在哪里缺少了一些东西来启动上面代码中的值吗?@EternalHour你不需要
,加上这将使文本
$name
不是一个变量。我没有看到
session_start()我放置会话_start();在我的init.php文件中,我在每个页面上“包含一次”。但是,我不确定会话是否实际启动。添加
echo session_id()到你的页面,如果你得到一个id,那么一个会话正在启动,如果没有,你需要找到原因。好的,得到一个长字符串。我猜它开始了……你能看到我在哪里遗漏了一些东西来启动上面代码中的值吗?@EternalHour你不需要
”,而且这会使文本
$name
不是一个变量。你给出的证据表明你还有很多问题。如果启用了错误报告,为什么要花45分钟才能发现一些明显的错误?为了便于将来参考,您可以将函数更改为
return isset($\u SESSION[$name]),从而稍微简化函数而不是使用三元运算符。你给出的证据表明你还有很多问题。如果启用了错误报告,为什么要花45分钟才能发现一些明显的错误?为了便于将来参考,您可以将函数更改为
return isset($\u SESSION[$name]),从而稍微简化函数而不是使用三元运算符。