动态cookie不工作codeigniter

时间:2015-07-21 11:56:29

标签: php facebook codeigniter cookies

我在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无效的内容。

2 个答案:

答案 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