icewating 发表于 2011-11-28 10:41:58

关于人人连接的session问题

我的网站将本地账号与人人账号进行连接。在绑定前网站的相关信息存在session中,可是与人人连接后,本地的session数据读不出来了。请问怎么回事。
还有,我想问一下,如何判断,session中是否存在某个值。
如,$this->session->set_userdata('user_id',123);怎么判断user_id存在、是否未定义?是用empty,isset,还是is_null谢谢

qingbofish 发表于 2011-11-29 00:12:37

CI的session本身就是cookie。最保险的方法就是在session和cookie里面都保存这。
        function set_session($str, $value) {
                if($this->is_ie()){
                        //delete_cookie($str+"!!!!!!!!!!!");
                        $time = time()+3600*10;
                        $this->setCookie($str, $value,$time);
                        header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
                        $_SESSION [$str] = "";
                        $this->CI->session->unset_userdata ( $str );
                        $this->CI->session->set_userdata ( $str, $value );
                        $_SESSION [$str] = $value;
                }else{
                        header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
                        $_SESSION [$str] = "";
                        $this->CI->session->unset_userdata ( $str );
                        $this->CI->session->set_userdata ( $str, $value );
                        $_SESSION [$str] = $value;
                }
        }

gauspican 发表于 2011-11-29 08:21:52

变量          empty          is_null          isset
$a=””          true            false          true
$a=null      true            true            false
var $a      true            true            false
$a=array() true false true
$a=false true false true
$a=15 false false true
$a=1 false false true
$a=0 true false true
$a=”0” true false true
$a=”true” false false true
$a=”false” false false true

gauspican 发表于 2011-11-29 08:27:10

my way:

if (isset($session_var) && ! empty($session_var)) {...}
页: [1]
查看完整版本: 关于人人连接的session问题