$this->load->helper('cookie');//或者也可以在autoload配置里面加上cookie那这句就可以去掉了。
$cookie = array(
'name' => 'username',
'value' => 'uname',
'expire' => '86500',
'domain' => '.domainname',
'prefix' => 'prefix_'
);
set_cookie($cookie);
codeigniter,以下简称ci.它作为 ci中一个很重要的辅助函数,一般用来用作操作记录,比如购物车数量,产品比较,用户登录等维持会话的记录,它的本型在ci,系统目录下的/system/helpers/cookie_helper.php,这个文件,贴上set_cookie代码:
if ( ! function_exists('set_cookie'))
{
function set_cookie($name = '', $value = '', $expire = '', $domain = '', $path = '/', $prefix = '', $secure = FALSE)
{
// Set the config file options
$CI =& get_instance();
$CI->input->set_cookie($name, $value, $expire, $domain, $path, $prefix, $secure);
}
}
而我则经常是用set_cookie('cookiename','cookievalue');不想再设置第三个参数了,而默认的expire是为空的,好和删除cookie是一样的,所以设置了也是没用的。要想实现上面的调用方法,就得将原函数的默认值修改一下。
在应用程序的目录application/helpers/建立一个MY_cookie_helper.php这个文件,将set_cookie这个函数的原型的默认参数改成相应的值就可以了。
我是这样更改的:将expire设置成0,那cookie就可以存在了,直到我关闭浏览器,域名设成自己想要的。
贴上代码 :
function set_cookie($name = '', $value = '', $expire = '0', $domain = '.xgnlvyou.com', $path = '/', $prefix = '', $secure = FALSE)
{
// Set the config file options
$CI =& get_instance();
$CI->input->set_cookie($name, $value, $expire, $domain, $path, $prefix, $secure);
}