CI session中的userdata删除Array[session]变量的 BUG.
本帖最后由 lihao812 于 2009-10-23 15:50 编辑文件名:Session.php
* Delete a session variable from the "userdata" array
*
* @access array
* @return void
*/
function unset_userdata($newdata = array())
{
if (is_string($newdata))
{
$newdata = array($newdata => '');
}
if (count($newdata) > 0)
{
foreach ($newdata as $key => $val)
{
unset($this->userdata[$val]);
//unset($this->userdata[$key]);原版,删除不了值,改成$val ,解决.
}
}
$this->sess_write();
}
-_- userdata 里就是按 key 存的吧? = . = LZ你把key和val弄反了,原版是对的 本帖最后由 lihao812 于 2009-10-26 11:44 编辑
$this->session->set_userdata(array('WorkNum'=>$this->input->post('WorkNum'),'password'=>@md5($this->input->post('password')));
//这样不对? 先变量名字,再值.
$sessionArr = array('WorkNum','password');
$this->session->unset_userdata($sessionArr);
//这样子删的,有什么问题?????
//因为之前用手册上的例子,删不了..
//手册上是这么讲的:
$sessionArr = array('WorkNum'=>'','password'=>'');
$this->session->unset_userdata($sessionArr);
//结果就是删不掉 ... 注意一下 CI 版本,还有这个是 cookie 实现的,要下一次请求才有效果,不是立即生效的。 怎么获取最新的session因为我要做这个欢迎您 admin但是每次都是admin我已经换名字了
页:
[1]