News: PHP and Cookies

Home News Photos News Videos News Cartoons News Blogs RSS

Home > PHP Scripts Examples and Tutorials > PHP and Cookies

PHP and Cookies

In this article we will discuss about cookies and how to make cookies work with PHP.

Thursday, Nov 15, 2007 | 2308 Views | Comments [View/Post]

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 simplify 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 recommended
$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, 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.


Comment on this article
Guidelines: You must register with a social media account such as Facebook, Twitter, Yahoo, etc. to comment on this story. Click on the "Login" button below to choose your login account of choice. We welcome your thoughts, but this is not an open forum. For the sake of all readers, please refrain from the use of obscenities, personal attacks or racial slurs. All comments must remain on topic and cyber bullying will not be tolerated. All comments are subject to our terms of service. Comments that do not comply may be removed. Repeat offenders will lose commenting privileges.
News Other Language
World News
Movie News
Information
Travel News