Setting cookies in PHP

By David Sklar Viewed: 31759 times Emailed: 183 times Printed: 177 times Bookmark and Share



You want to set a cookie.

Use setcookie()

setcookie('flavor','chocolate chip');

Cookies are sent with the HTTP headers, so setcookie( ) must be called before any output is generated.

You can pass additional arguments to setcookie() to control cookie behavior. The third argument to setcookie( ) is an expiration time, expressed as an epoch timestamp. For example, this cookie expires at noon GMT on December 3, 2004:

setcookie('flavor','chocolate chip',1102075200);

If the third argument to setcookie( ) is missing (or empty), the cookie expires when the browser is closed. Also, many systems can't handle a cookie expiration time greater than 2147483647, because that's the largest epoch timestamp that fits in a 32-bit integer.

The fourth argument to setcookie( ) is a path. The cookie is sent back to the server only when pages whose path begin with the specified string are requested. For example, the following cookie is sent back only to pages whose path begins with /products/:

setcookie('flavor','chocolate chip','','/products/');

The page that's setting this cookie doesn't have to have a URL that begins with /products/, but the following cookie is sent back only to pages that do.

The fifth argument to setcookie( ) is a domain. The cookie is sent back to the server only when pages whose hostname ends with the specified domain are requested. For example, the first cookie in the following code is sent back to all hosts in the example.com domain, but the second cookie is sent only with requests to the host jeannie.example.com:

setcookie('flavor','chocolate chip','','','.example.com');
setcookie('flavor','chocolate chip','','','jeannie.example.com');

If the first cookie's domain was just example.com instead of .example.com, it would be sent only to the single host example.com (and not www.example.com or jeannie.example.com).

The last optional argument to setcookie( ) is a flag that if set to 1, instructs the browser only to send the cookie over an SSL connection. This can be useful if the cookie contains sensitive information, but remember that the data in the cookie is stored in the clear on the user's computer.

Different browsers handle cookies in slightly different ways, especially with regard to how strictly they match path and domain strings and how they determine priority between different cookies of the same name. The setcookie( ) page of the online manual has helpful clarifications of these differences.




Comments(0)


Be the first one to add a comment

Your name (required):


Your email(required, will not be shown to the public):


Your sites URL (optional):


Your comments:


Enter Code:
The Captcha image

Latest Tutorials

[2010-07-03]A Basic Example using PHP in AWS (Amazon Web Services)
[2010-07-03]Building a Video Sharing Site using PHP in AWS
[2010-06-30]XMLRPC for PHP - A simple client and server program
[2010-06-29]How to fix: Warning: Visiting this site may harm your computer - domainameat.cc
[2009-06-13]PHP Warning: Unknown(): Unable to load dynamic library '/usr/local/php4/lib/php/extensions/no-debug ......
[2009-02-24]Using Text file as database in PHP
[2009-02-07]Parent: child process exited with status 3221225477 -- Restarting
[2009-01-14]Install and use PHPUnit to test your PHP pages for errors.
[2008-12-29]Using Codeigniter for PHP application development
[2008-12-01]Creating or Opening a File in PHP
[2008-12-01]Opening a Remote File in PHP
[2008-12-01]Reading contents of a File into a String in PHP
[2008-12-01]Counting Lines, Paragraphs, or Records in a File using pc_split_paragraphs() in PHP
[2008-12-01]Reading word by word from a file in PHP
[2008-12-01]Reading .ini files in PHP

More Latest News

Most Viewed Articles (in last 30 days)
isset() function in PHP
Reading .CSV file in PHP
Parent: child process exited with status 3221225477 -- Restarting
Extract files from a .zip file using PHP
Handling BLOB in PHP and MySQL
Find Difference between two dates in PHP
preg_split() and explode() in PHP
Upload and Download files with FTP in PHP
public, protected, and private Properties in PHP
Install and use PHPUnit to test your PHP pages for errors.
Appending One Array to Another in PHP
preg_match(), function preg_match_all(), preg_grep() in PHP
Reading and Writing .gz files in PHP
Reading word by word from a file in PHP
preg_replace() and preg_replace_callback() in PHP
Most Emailed Articles (in last 30 days)
Opening a Remote File in PHP
Reading .CSV file in PHP
Counting Lines, Paragraphs, or Records in a File using pc_split_paragraphs() in PHP
Reading word by word from a file in PHP
Removing Duplicate Elements from an Array in PHP
Reading contents of a File into a String in PHP
Find Difference between two dates in PHP
PHP Warning: Unknown(): Unable to load dynamic library '/usr/local/php4/lib/php/extensions/no-debug ......
isset() function in PHP
Setting cookies in PHP
.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
Different versions of PHP - History and evolution of PHP
Traversing Arrays Using list() and each() in PHP
Creating or Opening a File in PHP
Extract files from a .zip file using PHP