我在codeigniter中使用facebook登录。我已经按照这个(http://www.idiotminds.com/login-with-facebook-in-codeigniter/)教程。 Facebook登录按预期工作,但cookie未设置。如果我使用静态值设置静态cookie然后它可以正常工作,但是如果我在使用我的facebook登录的用户的电子邮件值设置cookie,那么我的cookie无法正常工作。
我的代码看起来像这样:
控制器
//Value being passed from controller:
$data['user_email'] = $user_profile['email'];
在视图中:
if(!empty($user_email))
{
$cookie_value = $user_email;
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
echo $_COOKIE["userlogin"]."cookie being set<br>";
}
$cookie
没有打印任何意味着我的cookie无效的内容。
答案 0 :(得分:0)
您应该使用:
$this->load->helper('cookie');
$this->input->set_cookie();
答案 1 :(得分:0)
您的代码出现问题。在您的控制器文件中,您传递的值如下
//Value being passed from controller:
$data['user_email_log'] = $user_profile['email'];
这意味着在您的视图中,您使用$user_email_log
变量从控制器中检索值。
您可以使用codeigniter cookies设置功能集这样的cookie
$cookie= array(
'name' => 'userlogin',
'value' => $user_email_log,
'expire' => '86500',
);
$this->input->set_cookie($cookie);
有关Cookie的详情,请查看Link