如何删除codeigniter上的cookie

时间:2013-09-02 03:34:16

标签: php codeigniter cookies session-cookies

我不知道如何删除cookie。我想要的是当我提交表格时。 cookie也被删除。我尝试了delete_cookie(“名称”),但是没有用。我认为因为我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;
  }
});

3 个答案:

答案 0 :(得分:13)

使用Codeigniter,将其放在控制器的save方法中:

尝试:

delete_cookie('name', $domain, $path); 

有关official documentation

的详情

答案 1 :(得分:8)

您可以从CodeIgniter中删除Cookie。使用像

这样的cookie帮助器
$this->load->helper('cookie');
delete_cookie("name");

答案 2 :(得分:-3)

您无法删除Cookie。浏览器(或用户)删除了cookie。但是,您可以通过将cookie的过期时间设置为过去的日期来使浏览器自动删除cookie。这是一个JavaScript示例。

function deleteCookie(cookieName, cookieValue) {

document.cookie = cookieName+"="+escape(cookieValue) + ";expires=Thu, 01 Jan 1970 00:00:01 GMT;";

}