PHP Cookies

title: PHP Cookies


What is a Cookie?

A cookie is often used to identify a user. It is a small file that the server embeds on the user’s computer.
Each time the same computer requests a page with a browser, it will send the cookie too.
Cookies were designed to be a reliable mechanism to remember stateful information or to record the user’s browsing activity.
They can also be used to remember arbitrary pieces of information that the user previously entered into form fields such as names, addresses, passwords, etc.

Creating Cookies with PHP

With PHP, you can both create and retrieve cookie values.
A cookie is created with the setcookie() function.

setcookie(name, value, expire, path, domain, secure, httponly);

Only the name parameter is a required parameter. All other parameters are optional.

PHP Create/Retrieve a Cookie

The following example creates a cookie named “user” with the value “John Doe”.
The cookie will expire after 30 days (86400 * 30).
The “/” means that the cookie is available in entire website (else, you can select the directory you prefer).
We then retrieve the value of the cookie “user” (using the global variable $_COOKIE).
We also use the isset() function to find out if the cookie is set:


<?php $cookie_name = "user"; $cookie_value = "John Doe"; setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day ?> <html> <body> <?php if(!isset($_COOKIE[$cookie_name])) { echo "Cookie named '" . $cookie_name . "' is not set!"; } else { echo "Cookie '" . $cookie_name . "' is set!<br>"; echo "Value is: " . $_COOKIE[$cookie_name]; } ?> </body> </html>

Note: The setcookie() function must appear BEFORE the tag.

Cookie ‘user’ is set!
Value is: John Doe

PHP Modify a Cookie Value

To modify a cookie, just set the value again using the setcookie() function:


<?php $cookie_name = "user"; $cookie_value = "Jane Porter"; setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); ?> <html> <body> <?php if(!isset($_COOKIE[$cookie_name])) { echo "Cookie named '" . $cookie_name . "' is not set!"; } else { echo "Cookie '" . $cookie_name . "' is set!<br>"; echo "Value is: " . $_COOKIE[$cookie_name]; } ?> </body> </html>

Cookie ‘user’ is set!
Value is: Alex Porter

PHP Delete a Cookie

To delete a cookie, use the setcookie() function with an expiration date in the past:


<?php // set the expiration date to one hour ago setcookie("user", "", time() - 3600); ?> <html> <body> <?php echo "Cookie 'user' is deleted."; ?> </body> </html>

Cookie ‘user’ is deleted.

This article needs improvement. You can help improve this article. You can also write similar articles and help the community.