Проверьте, существует ли файл cookie в CodeIgniter

Я использую поисковую систему в PHP, которая добавляет текст в массив и помещает его в файл cookie с помощью json_encode ().

Проблема заключается в следующем: мне нужно проверить, существует ли файл cookie, а если нет, создайте его.

Я использую следующий код, чтобы просто проверить, существует ли он, но безуспешно:

{ $search = $this->input->post('search_text'); $types = $this->input->post('search_type'); $checkboxes = ""; if(!empty($types)) { foreach($types as $v) $checkboxes = $v.","; } //cookie $this->load->helper('cookie'); //cookie's array $search_history = array(); array_push($search_history, $search); //cookie check 1 if(get_cookie('search')!=''){ echo "cookie exists"; }else echo "cookie doesn't exist"; // set cookie $cookie = array( 'name' => 'search', 'value' => json_encode($search_history), 'expire' => time()+86500 ); set_cookie($cookie); //cookie check 2 if(get_cookie('search')!=''){ echo "cookie exists"; }else echo "cookie doesn't exist"; //echo get_cookie('search'); //redirect('search/'.urlencode($search).'/'.urlencode($checkboxes)); } 

Я могу создать файл cookie и получить его значение, но я не могу найти способ проверить, уже ли он создан в PHP-коде.

Вы уже пробовали:

 if(get_cookie('search')!='') 

,

 if(get_cookie('search')!=null) 

и с

 if(get_cookie('search')) 

но ни один из них не работает.


РЕДАКТИРОВАТЬ:

Как я уже сказал, я использую это, и он не создает cookie.

 //cookie $this->load->helper('cookie'); //cookie's array $search_history = array(); array_push($search_history, $search); if(cookie('search') == false){ // set cookie $cookie = array( 'name' => 'search', 'value' => json_encode($search_history), 'expire' => time()+86500 ); set_cookie($cookie); } 

Окончательный EDIT

Задача решена.

  //checks if the cookie exists if($this->input->cookie('cookiename')!=''){ //exists } 

Related of "Проверьте, существует ли файл cookie в CodeIgniter"

использовать get_cookie ()

 if (is_null(get_cookie('cookiename'))) { //set yours cookie here }