如何在codeigniter上删除cookie
Posted
技术标签:
【中文标题】如何在codeigniter上删除cookie【英文标题】:How to delete cookie on codeigniter 【发布时间】:2013-09-05 02:20:21 【问题描述】:我不知道如何删除 cookie。我想要的是当我提交表格时。 cookie 也被删除。我尝试 delete_cookie("name") 但不工作。我想是因为我由javascript
创建的cookie。请检查我的代码以解决此问题。
这是我的示例文本字段:
<input name="cargo_no" type="text" class="validate[required]" id="cargonumber" onchange="setCookie('cargonumberC', this.value, 365);"/>
这是 javascript
function setCookie(cookieName, cookieValue, nDays)
var today = new Date();
var expire = new Date();
if (!nDays)
nDays=1;
expire.setTime(today.getTime() + 3600000*24*nDays);
document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString();
function readCookie(name)
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i = 0; i < ca.length; i++)
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
return null;
document.addEventListener('DOMContentLoaded', function()
var themeSelect = document.getElementById('cargonumber');
var selectedTheme = readCookie('cargonumberC');
if (selectedTheme)
themeSelect.value = selectedTheme;
);
【问题讨论】:
您无法删除 cookie。您必须将到期时间设置为过去的日期(即使用与域、路径、名称...完全相同的参数调用 setCookie 函数,并使用“1970-01-01”作为日期)以及当页面刷新(重新加载或点击链接)浏览器会删除cookie 使 cookie 过期,或将其设置为无意义的值。 可能重复javascript - delete cookie¨ 【参考方案1】:您无法删除 cookie。浏览器(或用户)有权删除 cookie。但是,您可以通过将 cookie 的过期时间设置为过去的日期来使浏览器自动删除 cookie。这是一个 JavaScript 示例。
function deleteCookie(cookieName, cookieValue)
document.cookie = cookieName+"="+escape(cookieValue) + ";expires=Thu, 01 Jan 1970 00:00:01 GMT;";
【讨论】:
【参考方案2】:您可以从 CodeIgniter 中删除 cookie。像这样使用 cookie 助手
$this->load->helper('cookie');
delete_cookie("name");
【讨论】:
【参考方案3】:使用 Codeigniter,将其放入控制器的保存方法中:
试试:
delete_cookie('name', $domain, $path);
official documentation的详细信息
【讨论】:
这就是我想要的 :) 太好了!【参考方案4】:要删除 cookie,请使用:
helper('cookie');
delete_cookie('remember_me');
【讨论】:
以上是关于如何在codeigniter上删除cookie的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 codeigniter 编辑和删除 group_concat() 上的每个数据