Free Article HomeSubmit Article l Contact Us


PHP and Cookies; a good mix! 
Introduction
Cookies have long been used in PHP scripts, and are a very useful function. But what exactly are cookies? Maybe you have used then, but you still don't know exactly what they are. Or you are completely new to cookies? It doesn't matter, because in this tutorial I will show you exactly what cookies are, and what they are used for.

Cookies in a nutshell
Cookies are small pieces of information that is stored on the computer of your visitors. Each browser handles it differently, but most simply store the information in a small text file. Internet Explorer has a special folder, which can be found in your C:Windows or C:WindowsSystem32 folder. You can delete all your cookies, by going to the Options and 'Clearing Cookies' or deleting them by hand. I don't recommend this though.

Almost every website uses cookies. If you go to Amazon.com, you will get several cookies. The same goes for CNN.com. Even Google uses cookies! They are extremely useful for (temporarily) storing information. For example, if you have a login system for your visitors, you could save their userid and password (very heavily encrypted!) so they are automatically logged in the next time they visit your website.

Or you could remember their last visit, and highlight everything that is new. And that's just the beginning.

Using Cookies
Using cookies in PHP is extremely easy. In fact, there is nothing to it, because of PHP's inbuilt setcookie() function. Have a look at the documentation, and then try the following example:


// Set a cookie
// Cookie name: name
// Cookie value: Dennis Pallett
// Cookie expire: in 24 hours

setcookie ('name', 'Dennis Pallett', time() + (60*60*24));
?>

If you run the code above, then a cookie will be set. That's all. The cookie name and value are pretty obvious. The cookie expire is when the cookie expires, or goes away. Simply use the time() function and add the number of seconds you want to have the cookie available to it. In the example I added 60*60*24=86400 seconds, or 24 hours.

If you have looked at the documentation, you probably noticed there are additional arguments. As the documentation says, the path is to limit a cookie to a specific path on your web server. This is often used when you run multiple instances of the same script in separate directories. You can safely omit this argument when it doesn't matter if the cookie is available site-wide.

There is also the domain argument. This can be used to limit the cookie to a specific sub-domain, e.g. test.example.com. You can also safely ignore this argument, or set it to .example.com (note the beginning period, this is essential!).

Finally, there is also the secure argument. This argument is only used for cookies that are sent over a secure HTTPS connection (SSL). Just ignore this argument, unless you're working with a secure connection.

One thing that should be mentioned is that cookies must be set, before you display any HTML/text. It's probably best if you turn on output buffering by putting ob_start() at the top of your page.

Now that you have set a cookie, you probably want to retrieve the value as well. After all, that is the whole point of using cookies. Thankfully, as PHP is ever so easy, you can retrieve the same way as you retrieve a GET value. See the following example to retrieve the value of the previous example:

echo 'Your name is ' . $_COOKIE['name'];
?>

This should print "Your name is Dennis Pallett". There's nothing more to it. It's just that easy!

Finally, one thing you probably want to do as well is remove cookies. This is as easy as setting them. Simply change the value of the cookie to FALSE, and change the expire date to -3000 seconds. See the following example:

setcookie ('name', FALSE, time()-1000);
?>

Checking if cookies are enabled
Before you start using cookies, you must make sure your visitor has cookies enabled. This can be done with a simply PHP checking script. Unfortunately, the PHP page needs to reload to check for cookies. But this can be done very transparently, and your visitor should hardly notice anything.

The following example will first set a test cookie, then reload the page, and finally check whether cookies are enabled.

error_reporting (E_ALL ^ E_WARNING ^ E_NOTICE);

// Check if cookie has been set or not
if ($_GET['set'] != 'yes') {
// Set cookie
setcookie ('test', 'test', time() + 60);

// Reload page
header ("Location: checkcookies.php?set=yes");
} else {
// Check if cookie exists
if (!empty($_COOKIE['test'])) {
echo "Cookies are enabled on your browser";
} else {
echo "Cookies are NOT enabled on your browser";
}
}
?>

Run the code above, and see what the output is. Check if cookies are enabled in your browser. If they're not enabled, then you can enable them by going to your browser's options. Unfortunately, this is different from each browser, so I can't give you exact instructions. But Google can.

Storing Arrays
One feature of cookies that is often missed in articles is the ability to story arrays. Cookies can be used to store multi-dimensional arrays, which can be extremely useful to store data.

Consider the following code;

setcookie ("name[first]", "Dennis", time() + (60*60*24));
setcookie ("name[last]", "Pallett", time() + (60*60*24));
?>

You can then display these two cookies using the following code:

echo "First Name: " . $_COOKIE['name']['first'];
echo "
Last Name: " . $_COOKIE['name']['last'];
?>

The cookie 'name' is an array, and has multiple values. You can even go deeper and have multi-dimensional arrays, e.g. $_COOKIE['name']['test']['something']['value']. You could store whole arrays of data in cookies. But beware that you don't store too much data, there are certain size limits to cookies.

In Conclusion...
Cookies are really versatile, and can be used for a lot of different purposes. Many websites use cookies, and cookies can really make your website more personalized. Using cookies in PHP isn't hard at all, and you should be able to use them without any difficulty.

Before actively using cookies in your website, you must check whether the visitor has enabled them in their browser. If they don't have cookies enabled, you must either redirect to a non-cookies version of your website, or you can make sure your website also works without cookies.

You can download a sample script at http://www.phpit.net/demo/php%20and%20cookies/logger.zip, where cookies are used in a (somewhat) practical way. In this example, there is a logging module, called log.php and a display module, called history.php. Basically, you include the log.php in other PHP pages, and then you can view history.php to lookup all the pages you have viewed and how often. The example uses arrays, and stores them in cookies.

The examples in this article can be downloaded at http://www.phpit.net/demo/php%20and%20cookies/examples.zip.

If you have a really unique practical way of using cookies, please let me know at dennis [AT] nocertainty [DOT] com. I'd really like to hear about interesting ways of using cookies.

Author Info:

Dennis Pallett is a young tech writer, with much experience in ASP, PHP and other web technologies. He enjoys writing, and has written several articles and tutorials. To find more of his work, look at his websites at http://www.phpit.net, http://www.aspit.net and http://www.webdev-articles.com

 
30 Most Recent Articles :
A Disputed New Business:Virtual Property Exchange

In many ways, the in-game economy is similar to a real world economy - goods and services are traded to mutual advantage and are mediated in currencies(gold,platinum,credit,etc.). An online broker, who goes by the screen name Rolala, was not a fan of online games until his 15-year-old son be[ Read Article]

THE UNITED STATES, A Terrorist Nation

I love the United States of America, but I cannot tolerate the UNITED STATES OF AMERICA. No I am not shouting at you, I am simply making a distinction, a difference that thirty-seven states of the union have noticed and moved to rectify. You see, AMERICA isn’t America anymore, nor does it in anyw[ Read Article]

Dollars and Sense

When I speak of the Federal Reserve and the fiat monetary system that controls our lives I feel as though my words are falling on deaf ears. I have the sense that the simplest conversations suggesting that change must be made invoke fear and condemnation from my fellow citizens. When will we tak[ Read Article]

Constitutionality

Is the 16th Amendment constitutional? Of course it is, the Supreme Court has made that as clear as it did the issue of slavery. But let us remember that it took the lives of more than 365,000 brave American men and the destruction of the Republic to wrest the matter from the courts and resolve the[ Read Article]

Five Secrets to Effective Pay-Per-Click Advertising

With so many companies swarming the World Wide Web with their products, how can you and your products and services stand out? Your ready answer would most likely be effective marketing. But how? How can you catch the eye of a surfer skimming carelessly through web pages? How can you keep the at[ Read Article]

How to Sell Bonds

If you want to make good money with banks, or any institution, Government and agency bonds are where it is at. Simply because all Government bonds and agencies are AAA rated, and banks can buy millions of dollars of any bond without incurring any credit risk. All banks own bonds of some sort, a[ Read Article]

Closing in the Car Business

The “P” Word. Closing is all about helping car customers make positive decisions. It is not about pressure or manipulation. Your customers need help overcoming the “P” word. Procrastination! Procrastination is natural when it comes to making a buying decision. Your customer is trying to avoid [ Read Article]

If You Build It They Will Come, or Will They?

All right, so you invested your time and energy to build your organization a great new web site, but you are not getting quite the results you were hoping for. Few customers are visiting or interacting with you and rarely do you get prospects to contact you through the site. So what can you do to [ Read Article]

Confessions of a Yoga Teacher

The following are questions that Yoga teachers still need to answer, despite overwhelming evidence that Yoga is ?the mother of all health maintenance systems.? Mainstream thought is finally catching up, with the progress Yoga is making, but it has taken 5,000 years for us to get this far. Serio[ Read Article]

Vertical Creep in Search Results :: Should Organic Optimizers be Concerned?

I thought for this week I’d give a summary of some of the more interesting Search Engine Strategies sessions which are currently going on in New York City. I was at SES as a speaker last year in New York and I have to say, there is a wealth of information there even if some of it is contradict[ Read Article]

How to build link popularity fast and free

We all knew that back link or link popularity is a big factor to get good position in any search engines. But building link popularity some times really hard if you don't know how to do it. One of the hardest problem for new webmasters is to get back link to their newly stablis[ Read Article]

Does Chiropractic Care Really Make Sense?

The Role of Chiropractic in Treatment Beyond the Resolution of Symptoms Do you have the same nagging injury that never seems to go away? Are you suffering needlessly with pain? Are you fed up with taking painkillers? Do you want to find out what is causing your pain? If your answer is ‘ye[ Read Article]

The Economic Implications of Buying Drugs Online

Although the Internet is fairly new (at least to the mainstream) online shopping has grown by leaps and bounds. Now you can buy almost anything you need, from food to fishing equipment, right through your computer. Of course, this has meant that commerce has been forced to adapt to the changing co[ Read Article]

Manning and Manning-Can Either Brother Win the Big One?

It was just over a year ago, after the Colts lost to the Pats in their post-season contest, that Boomer Esiason said on national television, "I think maybe Peyton (Manning) is this generation's Dan Marino." Esiason went on to state that Manning "is a great football player, but he's not going to get[ Read Article]

Branding, Branding, Branding - MSN fails to keep it Straight

Sometimes you see promotions come along and you wonder: did they just do that? The current MSN promotion called msnsearchandwin is a prime example of this. Not only do they use “black hat” or at least “questionable” tactics on the site, but the messaging is inconsistent. In this article [ Read Article]

The New MSN Search Interface :: A positive change or the antithesis of transformation?

Now, instead of wide blue bars there are sleek silver-grey bars. Also, the top bar where the search box is became narrower. To me this makes the page seem less “closed in” and more visually appealing. I now feel as if I can trust the results more because they have more room. I’ve also noti[ Read Article]

Malta Holidays

With Malta visitor numbers static in recent years and facing new competiton from former Eastern Bloc countries offering cheap holidays, the recent announcement by the Maltese government that negotiations were at an advanced stage with two low cost airlines has[ Read Article]

Drug Rehab Treatment Centers as an Experience, not a Punishment

Choosing a drug rehab treatment center is a decision that calls for both negative and positive emotions. Nobody wants addiction to overtake their life to the point that rehab is the necessary step. However, the decision to go to one is something to look forward to, as it is the decision to rebui[ Read Article]

Some ways to improve your king content

There are thousands of articles, books and forum posts which showed that content is king in search engine optimization (SEO). In this article, you can find some ways that can help you improve this king content for your web site. * Content for people first, not for search engines - Some webmaste[ Read Article]

Aerosmith Just Keeps On Rockin’

For over three decades, Aerosmith have been one of rock's most revered and popular bands, crafting classic songs full of raw guitar runs and intensely energetic vocals. The band first reached fame in the 1970’s with a string of hits including "Dream On," "Sweet Emotion" and "Walk This Way." During t[ Read Article]

Chicago Cubs Pitcher Mark Prior Re-signs

After many trips through the rumor mill, Mark Prior accepted the Chicago Cubs’ offer on January 27 to a one-year, $3.65 million contract. That is $900,000 more than the salary he would have earned under the contract he voided in November. Since Prior's definitive season in 2003 (18-6), he has cooled[ Read Article]

Social Networking - The Next Great Marketing Medium?

There has been a virtual explosion of social networking sites in the past couple of years. Even the big players like Google, Yahoo and MSN are getting into it. With so much interest in how social networks work, one begins to wonder if there is marketing potential within these social network[ Read Article]

How to choose paid directory for web site listing?

How to choose paid directory for web site listing? Search Engines are the major source of traffic for any website. High search engine ranking can boost number of your visitors and in turn leads to increase in sales. The best way to get top search engine placement is to improve link popularity [ Read Article]

Addiction Treatment Centers Using Experiential Therapies

Life is experience. Substance dependence overtakes a person’s ability to make her own decisions to experience life, and life is no longer actively participated in. Therefore, in overcoming addiction, it is vital to learn to re-experience life. This lesson helps a treatment center resident reint[ Read Article]

The DH: Making Life Tough for AL Pitchers

In 1973 Major League Baseball instituted three rules designed to lessen the power of pitchers and create more offense. One theory at work was that the game needed to be energized and that more hitting would create additional runs and excitement. Both the National and American Leagues lowered th[ Read Article]

Vacation on the Beach the Smart Way

Vacation on the Beach the Smart Way Almost everyone agrees; there is no more relaxing way to vacation than to take it to the beach. For the vacationer/traveler who hasn't considered a beach house rental before, they represent an affordable and fun family oriented alternative. There is an intell[ Read Article]

Malta Holidays and Hotels Buzzed by New Jets

With Malta visitor numbers static in recent years and facing new competiton from former Eastern Bloc countries offering cheap holidays, the recent announcement by the Maltese government that negotiations were at an advanced stage with two low cost airlines has sparked hopes that the island will see [ Read Article]

The Rising Cost of Prescription Drugs

If you’re like many Americans, the rising cost of prescription drugs may be costing you your health. In particular, seniors living on a fixed income with no insurance are finding it difficult to pay for necessary prescriptions out-of-pocket, and as a result, may be failing to receive the treatment[ Read Article]

Who's Tops in Hockey and Who's Not

The National Hockey League needs to do more to encourage better coverage of the hockey games. With so many other sports realizing national coverage, the NHL is sometimes forgotten. However, this year, there's a race for the Stanley Cup, and only one is set to win it. But which team will that be? [ Read Article]

The Danger Of Rounding Up Your Debts

Rounding up your debts is one of the biggest dangers to your financial position. It's also one of the easiest ways for your debts to get out of control. This way of thinking is best summed up by the following comment; ‘I already owe $27500 so what’s another $500. It takes my debt to a nice round [ Read Article]

 

World Top Stories :
U.N. Nuclear Monitor Strikes Deal with Iran, Reports Say
The leader of the United Nations nuclear monitoring arm announced what appeared to be a significant concession from Tehran on an investigation into potential military uses of Iran’s nuclear program.<br clear="both" style="clear: both;"/> <br clear="both" style="clear: both;"/> <a href="http://ads.pheedo.com/click.phdo?s=51222593311b4ae4ad54c1e231dc1ee1&p=1"><img alt="" style="border: 0;" border="0" src="http://ads.pheedo.com/img.phdo?s=51222593311b4ae4ad54c1e231dc1ee1&p=1"/></a>


 

Copyright © 2006 Realook.com All Rights Reserved.