如何在codeigniter的自定义库中设置cookie?

时间:2019-04-13 05:35:33

标签: codeigniter cookies codeigniter-3

你好,我试图在我的自定义库CI_Snippetfunctions中设置Cookie

class CI_Snippetfunctions
{

public function add_count($slug)
{



  $check_visitor = $this->input->cookie(urldecode($slug), FALSE);

   $ip = $this->input->ip_address();

   if ($check_visitor == false) {
    $cookie = array(
        "name"   => urldecode($slug),
        "value"  => "$ip",
        "expire" =>  time() + 7200,
        "secure" => false
    );

    $this->input->set_cookie($cookie);
    $this->Constant_model->update_counter(urldecode($slug));
    }
   }
  }

但是我遇到了以下错误

enter image description here

1 个答案:

答案 0 :(得分:1)

尝试一下,我不确定但还是

public function add_count($slug)
{
    $CI =& get_instance();//CI super object
    $check_visitor = $CI->input->cookie(urldecode($slug), FALSE);

    $ip = $CI->input->ip_address();

    if ($check_visitor == false) {
        $cookie = array(
            "name"   => urldecode($slug),
            "value"  => "$ip",
            "expire" =>  time() + 7200,
            "secure" => false
        );

        $CI->input->set_cookie($cookie);
        $CI->Constant_model->update_counter(urldecode($slug));
    }
}
  

要访问库中CodeIgniter的本机资源,请使用get_instance()方法。此方法返回CodeIgniter超级对象。

     

通常从控制器方法中,您将使用$ this构造调用任何可用的CodeIgniter方法

     

$ this只能直接在您的控制器,模型或视图中使用。如果您想在自己的自定义类中使用CodeIgniter的类,则可以按照以下步骤操作: