How to delete/unset a cookie on php?

后端 未结 6 1497
轻奢々
轻奢々 2021-01-17 11:38

I want to unset/delete my existing cookie with this:

setcookie (\"user\", \"\", time()-1); 
unset($user);

But cookies can not be deleted or

相关标签:
6条回答
  • 2021-01-17 12:14

    Nothing - that code looks fine to me.

    Quoting the docs:

    When deleting a cookie you should assure that the expiration date is in the past, to trigger the removal mechanism in your browser.

    setcookie ("TestCookie", "", time() - 3600);
    

    You may like to specify a time that's more in the past to avoid problems with the computer's time that may be a bit off.

    Additionally, in some cases it's useful to actually unset $_COOKIE['TestCookie'] as well.

    0 讨论(0)
  • 2021-01-17 12:14

    When deleting a cookie you should assure that the expiration date is in the past.

    Delete example:

    // set the expiration date to one hour ago
    setcookie("user", "", time()-3600);
    
    0 讨论(0)
  • 2021-01-17 12:18
    setcookie ("user", "", time() - 3600);
    //will reset cookie(client,browser)
    unset($_COOKIE["user"]);
    // will destroy cookie(server)
    
    0 讨论(0)
  • 2021-01-17 12:29

    As already was said - when deleting a cookie you should assure that the expiration date is in the past.

    BUT you also have to use the same path and even domain for deleting, which you used for cookie creating, so if create cookie like this

    setcookie ("user", "John", time()+7200, '/', 'mydomain.com'); 
    

    to delete this cookie use this code

    setcookie ("user", "", time()-3600, '/', 'mydomain.com');
    

    and also better use specific date in the past instead of time() - 3600

    0 讨论(0)
  • 2021-01-17 12:33

    you can unset cookies this way only may -1 not work

    try this

    setcookie ("user", "", time() - 3600);
    
    0 讨论(0)
  • 2021-01-17 12:37

    // MUST provide root path or any particular cookie path

    //SET COOKIE
    setcookie ("user", "", time() + 3600 , '/'); 
    
    //UNSET COOKIE
    setcookie ("user", "", time()-100 , '/' ); // past time
    
    0 讨论(0)
提交回复
热议问题