web-dev-qa-db-ja.com

codeigniterで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;
  }
});
9
wewe

Codeigniterを使用して、コントローラーのsaveメソッド内に配置します。

試してください:

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

詳細 公式ドキュメント

13
Nivlem Castro

CodeIgniterからCookieを削除できます。次のようなCookieヘルパーを使用します

$this->load->helper('cookie');
delete_cookie("name");
8
SarwarCSE