dousa1630 2013-12-26 21:40
浏览 26
已采纳

如何检查会话中的变量是否被声明? [重复]

I am trying to figure something out. I am using CodeIgniter and I am storing some information in the session so I can access it everywhere. I need to check if a variable has been already set, but the code I am using is not working (controller break apart)

This is how I store the data in the session:

$this->session->set_userdata('myvalue', 'x');

And this is how I am trying to check if the variable has been declared:

if (isset($this->session->userdata('myvalue'))) //doesn't work

In advance thanks for reading and replying ;)

BTW: I need this function, because if I know that the var hasn't been declared it means the session has expired and has been destroyed. So I want to forward the user to a view where I tell him he has been inactive for too long and has been automatically logged out, etc.

</div>
  • 写回答

2条回答 默认 最新

  • douli7841 2013-12-26 21:43
    关注

    This is how to check if a specific value is set in CodeIgniter's sessions:

    if ( $this->session->userdata('myvalue') ) {
        // The item 'myvalue' exists in the session
    } else {
        // The item 'myvalue' does not exist in the session
    }
    

    This is how CodeIgniter's userdata() function works, in system/libraries/Session.php:

    function userdata($item)
    {
        return (!isset($this->userdata[$item])) ? FALSE : $this->userdata[$item];
    }
    

    If the item doesn't exist in the session, FALSE is returned, otherwise the item is.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
  • ¥30 ppOCRLabel导出识别结果失败
  • ¥15 Centos7 / PETGEM
  • ¥15 csmar数据进行spss描述性统计分析
  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题