As a dirty trick you can put following line on the top of your script, it will work ob_start(); But you should try to know why it is not working, and what exactly ob_start will impact your application and What is the thing called "Output Buffering". Zareef Ahmed On 3/12/08, Hiep Nguyen <hiep@xxxxxxxxxx> wrote: > > On Wed, 12 Mar 2008, Tim Daff wrote: > > > Hi, > > > > I am learning PHP, I am trying to set a simple cookie: > > > > <html> > > <head> > > <title>Cookies</title> > > </head> > > <body> > > <?php setcookie('test', 45, > > time()+(60*60*24*7)); ?> > > </body> > > </html> > > > > Firefox is returning this error: > > > > Warning: Cannot modify header information - headers already sent by > (output > > started at /Users/Daff/Sites/php_sandbox/cookies.php:7) in > > /Users/Daff/Sites/php_sandbox/cookies.php on line 7 > > > > I have googled this and can't find out what I am doing wrong. Any help > you > > could give me would be much appreciated. > > > > Tim > > > setcookie from php.net states the following: > > setcookie() defines a cookie to be sent along with the rest of the HTTP > headers. Like other headers, cookies must be sent before any output from > your script (this is a protocol restriction). This requires that you place > calls to this function prior to any output, including <html> and <head> > tags as well as any whitespace > > call setcookie before you output ANY THING, even error > > hope that helps. > t. hiep > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- Zareef Ahmed http://www.zareef.net A PHP Developer in India