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.
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
<?php
$site_name = "PHPbuddy.com";
setcookie("first_cookie",$site_name,time()+604800);
?>
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:
<?php
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.
|