簡體   English   中英

無法在代碼點火器中設置Cookie

[英]Not able to Set cookie in Code-igniter

我無法生成Cookie,以下代碼僅適用於其他部分。

public function set(){
          $cookie = array(
              'name' => 'demo',
              'value' => 'hello i m saved cookie',
              'expire' => '86500'

          );//EOF array
          if($this->input->set_cookie($cookie))
          {
             $data = array( 'message' => 'cookie successfully set');
              $this->load->view('cookies_view',$data);
          }
          else{
              $data = array( 'message' => 'Something went wrong while creating cookie');
              $this->load->view('cookies_view',$data);
          }

您的值已經存儲在cookie中, $this->input->set_cookie($cookie)只會創建cookie。 如果您要檢查cookie值集,則可以這樣使用:

$cookie = array(
  'name'   => 'demo',
  'value'  => 'Hello i m cookies which saved in this broswer',
   'expire' => '86500',
);
$this->input->set_cookie($cookie);

if(isset(get_cookie('demo'))){ // check cookie value
  echo "success"; // replace with your code
}
else{
  echo "failed"; // replace with your code
}

get_cookie('demo')將返回cookie值。

您也可以瀏覽CI手冊

確保您在文件中使用cookie助手,必須包含cookie助手:

$this->load->helper('cookie');
$this->input->set_cookie($cookie); 

此函數返回NULL,這就是為什么您的條件無法正常工作的原因。 您的Cookie正在設置

使用$this->input->cookie('your cookie name')檢查您的狀況

public function set()
{
    $this->load->helper('cookie');
    $cookie = array(
      'name'   => 'demo',
      'value'  => 'Hello i m cookie',
      'expire' => '86500'
    );
    $this->input->set_cookie($cookie);
    if ($this->input->cookie('demo')) {
        $data['data'] = array('message' => 'cookie successfully set');
        $this->load->view('your view', $data);
    } else {
        $data['data'] = array('message' => 'Something went wrong while creating cookie');
        $this->load->view('your view', $data);
    }
}

在經過數小時的調試后,我意識到對於本地開發,cookie_secure設置為true。

因此,請進行簡單檢查;

如果domain不是https,並且在config.php中將cookie_secure設置為TRUE,則將不會直接設置cookie。 更改為FALSE,它將同時在http和https中設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM