gpt4 book ai didi

php - 检查 Cookie 是否存在于 CodeIgniter 中

转载 作者:可可西里 更新时间:2023-11-01 13:26:16 26 4
gpt4 key购买 nike

我正在使用 PHP 中的搜索系统,它将搜索到的文本添加到一个数组中,并使用 json_encode() 将其放入 cookie 中。

问题是:我需要检查 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);
}

最终编辑

问题已解决。

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

最佳答案

使用 get_cookie()

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

关于php - 检查 Cookie 是否存在于 CodeIgniter 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25425066/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com