Home >Backend Development >PHP Tutorial >How to Efficiently Delete All Cookies Associated with Your Website in PHP?
While attempting to erase all website cookies upon a user's logout, you encountered an issue with the following code:
<code class="php">setcookie("user",false);</code>
This code seems ineffective. Let's explore an alternative approach to purge cookies from a specific domain.
The PHP setcookie() function provides a means to both set and erase cookies. To delete a cookie, we can set its value to an empty string and set the expiration time to a past date:
<code class="php">setcookie("name", "", time() - 3600);</code>
Implementing this approach to delete all cookies associated with a domain requires an alternative route. PHP's setcookie() function doesn't provide the ability to purge multiple cookies simultaneously. However, by leveraging the $_SERVER['HTTP_COOKIE'] variable, we can enumerate existing cookies and delete them individually:
<code class="php">// unset cookies if (isset($_SERVER['HTTP_COOKIE'])) { $cookies = explode(';', $_SERVER['HTTP_COOKIE']); foreach($cookies as $cookie) { $parts = explode('=', $cookie); $name = trim($parts[0]); setcookie($name, '', time()-1000); setcookie($name, '', time()-1000, '/'); } }</code>
By looping through the cookies and setting both path and expires values to empty strings, we can effectively obliterate all cookies associated with the current domain.
The above is the detailed content of How to Efficiently Delete All Cookies Associated with Your Website in PHP?. For more information, please follow other related articles on the PHP Chinese website!