Web20 University

Can PHP Send and Receive Cookies?

Get up to 65% Off Hosting with FREE SSL & FREE Domains!

* Web 2.0 University is supported by it's audience. If you purchase through links on our site, we may earn an affiliate commision.

Yes, PHP can both send (set) and receive (read) cookies.

Cookies are a mechanism for storing data in the user’s web browser and tracking or identifying return users. They are part of the HTTP protocol, and PHP has built-in features to work with them.

Setting a Cookie

You can set a cookie in PHP using the setcookie() function. Here is a basic example:

<?php
// set a cookie named "user" with the value "John Doe" to expire in one hour
setcookie("user", "John Doe", time() + 3600);
?>

The setcookie() function must be called before any output is sent to the browser. If you’ve already sent output, you’ll get an error if you try to set a cookie.

The third argument to setcookie() is the expiration time. time() returns the current time, and + 3600 adds one hour to it, so this cookie will last for one hour.

Reading a Cookie

To read a cookie in PHP, you can access the $_COOKIE superglobal array. Here is a basic example:

<?php
if(!isset($_COOKIE["user"])) {
    echo "Welcome, guest!";
} else {
    echo "Hello, " . $_COOKIE["user"];
}
?>

This script checks if a cookie named “user” is set. If it’s not set, it outputs “Welcome, guest!”. If it is set, it outputs “Hello, " followed by the value of the cookie.

Deleting a Cookie

To delete a cookie, you can call setcookie() with an expiration date in the past:

<?php
// set the cookie "user" to expire one hour ago
setcookie("user", "", time() - 3600);
?>

After running this script, the “user” cookie will be deleted from the user’s browser.

Get up to 65% Off Hosting with FREE SSL & FREE Domains!