Explain PHP Cookies
Cookies are small pieces of data that a server sends to the client's web browser. The browser may store these cookies and send them back to the same server with future requests. They are used to remember stateful information or track the browsing activity of the user.
Setting a Cookie in PHP
You can set a cookie in PHP using the setcookie()
function. This function must be called before any output is sent to the browser because it sends HTTP headers.
Syntax
setcookie(name, value, expire, path, domain, secure, httponly);
- name: The name of the cookie.
- value: The value of the cookie.
- expire: The expiration time of the cookie in Unix timestamp format. If not set, the cookie will expire when the browser closes.
- path: The path on the server in which the cookie will be available.
- domain: The (sub)domain that the cookie is available to.
- secure: Indicates that the cookie should only be transmitted over a secure HTTPS connection.
- httponly: When set to
true
, the cookie is accessible only through the HTTP protocol (not by JavaScript).
Example: Setting a Cookie
<?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>
In this example:
- We set a cookie named "user" with the value "John Doe" that will expire in 30 days.
- We then check if the cookie is set and display its value.
Example: Deleting a Cookie
To delete a cookie, you can set its expiration date to a time in the past.
<?php
setcookie("user", "", time() - 3600, "/"); // 3600 = 1 hour
?>
<html>
<body>
<?php
echo "Cookie 'user' is deleted.";
?>
</body>
</html>
Example: Using Cookies
<?php
// Set the cookie
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
// Access the cookie
if(isset($_COOKIE[$cookie_name])) {
echo "Welcome back " . $_COOKIE[$cookie_name];
} else {
echo "Hello, new visitor!";
}
?>
In this example, when the user revisits the site within 30 days, the message "Welcome back John Doe" will be displayed. If the user visits for the first time or after the cookie has expired, "Hello, new visitor!" will be shown.
Conclusion
Cookies are a powerful way to store user data persistently across different sessions. They are widely used for authentication, session management, and personalizing user experiences. Remember to handle cookies securely and consider privacy implications.
At Online Learner, we're on a mission to ignite a passion for learning and empower individuals to reach their full potential. Founded by a team of dedicated educators and industry experts, our platform is designed to provide accessible and engaging educational resources for learners of all ages and backgrounds.
Copyright 2023-2025 © All rights reserved.