PHP and Cookies
Overview: In this article we will discuss about cookies and how to make cookies work with PHP
What the heck are cookies?
A cookie can hold small collection of information/data, that is stored on the users local computer and is mostly used by websites to identify users who have previously registered or visited the site.
We will be using the setcookie() function provided in PHP to set cookies.
The syntax for setcookie() function:
int setcookie (string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])
Looks confusing let me give you an example to simply things!
Setting a Cookie
$site_name = "PHPbuddy.com";
In the above example we have created a cookie with the name first_cookie which contains the value "PHPbuddy.com", the cookie has an expiry time of 1 weeks means that the cookie will be automatically deleted after one week. Okay that 604800 is 1 week in sec!
Reading data from Cookies: Now that we have made a cookie I will show you how to read data stored in the cookie, there are three methods to reterive cookies.
$site = $first_cookie // Not recommend
$site = $HTTP_COOKIE_VARS["first_cookie"]; //Recommended
$site = $_COOKIE["first_cookie"]; // Recommended but requires PHP 4.1
I personally like the 2nd one, The first method relies on PHP to search through every possible variable and finally find the cookie and can be used by name. However with 'register_globals' off in the PHP configuration file would cause the cookie to fail. Instead using the second will always allow your scripts to run. This gets the cookies name out of the specified cookies variables which makes it a lot faster and reliable. The third method is the best the folks at PHP group tell you to use this method although it requires PHP 4.1 and above to work.
Deleting a cookie
It is good to delete a cookie manually from your site. All you do is set the same cookie but with no value and with an expiry date in the past. This forces the browser to delete the cookie from the users system. Below is how we'd delete our first_cookie cookie from the users system:
setcookie ("first_cookie", "", time()-60000);
As shown, the value is empty and the expiry date is the current time() minus 60000 seconds, Any negative number will work but due to variations in computer times, it is not recommended to use -1 but instead something higher like a day or two.
| Terms of Service
(c) 2002 - 2013 PHPbuddy.com Unauthorized reproduction/replication of any part of this site is prohibited.