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 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)