【问题标题】:Codeigniter session not visible in other pagesCodeigniter 会话在其他页面中不可见
【发布时间】:2015-03-05 05:03:03
【问题描述】:

嗨朋友们,我正在使用 codeingter 默认会话库。我已经使用这个库为我的 Web 应用程序创建了正常登录和 facebook 登录。

普通登录在这个库中正常工作,当我尝试对 fb login 做同样的事情时,我只能在登录页面中看到会话变量。当我转到网站的不同页面时,会话变量不可见。

FB登录:- print_r($this->session->all_userdata());登录页面给了我以下数组

数组 ([session_id] => 18d8f5e5f8504289d848a137e6d8587b [ip_address] => *** [user_agent] => Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0 [last_activity] => 1425530911 [user_data] => [user_id] => 2262 [user_email] => **** [logged_in] => 1 [facebook_login] => 1 [管理员] => [注销] => https://www.facebook.com/logout.php?next= *****&=的access_token CAANoqwioFoQBACkl2krguKonH3nDamlowXcZCxhqhZAMa1ncOgazFdGXmkSB1QjnpZCweDa1MrXcWK1ZAgUUDHh7Xi7OEJSoJKvt8VXpWYeb3qfcz0mYXmzcLJqZCTFh4PheYD84zGq5u7Q1YQLINS1I7t6KU4EwlGxVMsZBKYjgFAt8tZA5CqSYQ168kvC329TqPZBF2ZAS8j6HfVFcHWsvO )

对于其他页面,数组为空

请帮我解决这个问题。

这是我用于 fb 登录的模型

 if($query->num_rows()>0)
>                 { 
>                         foreach($query->result() as $rows)
>                         {
> 
>                                 //add all data to session
>                                 $newdata = array(
>                                                 'user_id'  => $rows->id,
>                                                 'user_email'    => $rows->email,
>                                                 'logged_in'  => TRUE,
>                                                 'facebook_login' => TRUE,
>                                                 'admin'=>False,
>                                                 'logout' => $logout
>                                                 );
>                         }
> 
> 
>                         $this->session->set_userdata($newdata);
> 
>                         $message = $this->session->all_userdata();
> 
>                         return true;
>                 }

【问题讨论】:

  • 可能你忘记在其他页面加载库了。
  • 不,我已经通过自动加载加载了库,所以它在所有页面中都可用

标签: php facebook codeigniter session facebook-graph-api


【解决方案1】:

如果您使用 CI 3 all_userdata() 已弃用,您可以使用不带参数的 userdata()。

如果问题仍然存在或者您没有使用 CI 3,您可以使用 Native Session 库,因为 CI 原始会话库存在问题。

【讨论】:

    猜你喜欢
    • 2011-01-27
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 2019-08-01
    • 1970-01-01
    相关资源
    最近更新 更多