我正在编写自己的会话处理程序,其中一些基于CodeIgniters会话处理程序。global_registered设置为off,并且我的类的这一部分:
protected $userdata = array();
//in the initialization of the class after the session start i call
$this->userdata =& $this->get_userdata();
public function &get_userdata()
{
// Just return reference to $_SESSION
return $_SESSION;
}
public function userdata($item)
{
return isset($this->userdata[$item]) ? $this->userdata[$item] : NULL;
}
public function unset_userdata($newdata = array())
{
// Wrap single name as array
if (is_string($newdata))
{
$newdata = array($newdata => '');
}
// Unset each item name
if (count($newdata) > 0)
{
foreach (array_keys($newdata) as $key)
{
unset($this->userdata[$key]);
}
}
}
unset不工作。我在php上读了一些关于取消设置和函数问题的文章,但我不清楚如何在全局变量关闭的情况下取消设置函数中的某些内容
由于不允许我发表评论:你在其他地方有session_start()吗?
很抱歉,这个问题不是php或codeigniter,而是文件系统没有正确截断。感谢:)