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