2015-03-05 2 views
0

Привет, я использую библиотеку сеансов по умолчанию для кодирования. Я создал обычный логин и логин для моего веб-приложения, используя эту библиотеку.Сессия Codeigniter не видна на других страницах

Обычный логин работал с этой библиотекой правильно, когда я пытался сделать то же самое с именем fb, я могу видеть переменные сеанса только на странице входа. Когда я перехожу на разные страницы сеанса веб-сайта, переменные не видны.

FB логин: - print_r ($ this-> session-> all_userdata()); для страницы входа дает мне следующий массив

Array ([session_id] => 18d8f5e5f8504289d848a137e6d8587b [ip_address] => *** [user_agent] => Mozilla/5.0 (X11; Ubuntu; Linux x86_64; с.в.: 35.0) Gecko/20100101 Firefox/35.0 [last_activity] => 1425530911 [user_data] => [user_id] => 2262 [user_email] => **** [logged_in] => 1 [facebook_login] => 1 [admin ] => [Выход] => https://www.facebook.com/logout.php?next= ***** & access_token = CAANoqwioFoQBACkl2krguKonH3nDamlowXcZCxhqhZAMa1ncOgazFdGXmkSB1QjnpZCweDa1MrXcWK1ZAgUUDHh7Xi7OEJSoJKvt8VXpWYeb3qfcz0mYXmzcLJqZCTFh4PheYD84zGq5u7Q1YQLINS1I7t6KU4EwlGxVMsZBKYjgFAt8tZA5CqSYQ168kvC329TqPZBF2ZAS8j6HfVFcHWsvO )

, где, как и для других страниц массив пустой

Пожалуйста, помогите мне решить эту проблему.

Это модель, которую я использую для фб входа

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; 
>     } 
+0

Возможно, вы забудете загрузить библиотеку на другие страницы. – Developer

+0

Нет. Я загрузил библиотеку с помощью автозагрузки, поэтому ее доступно на всех страницах –

ответ

0

Если вы используете CI 3 all_userdata() является устаревшим, вы можете использовать UserData() без параметры.

Если проблема осталась или вы не используете CI 3, вы можете использовать библиотеку Native Session, потому что оригинальная библиотека сеансов CI имеет некоторые проблемы.