|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Hi,
I am learning PHP, I am trying to set a simple : <html> <head> <title></title> </head> <body> <?php set('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/.php:7) in / Users/Daff/Sites/php_sandbox/.php on line 7 I have googled this and can't find out what I am doing wrong. Any you could give me would be much appreciated. Tim |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
On Wed, 12 Mar 2008, Tim Daff wrote:
> Hi, > > I am learning PHP, I am trying to set a simple : > > <html> > <head> > <title></title> > </head> > <body> > <?php set('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/.php:7) in > /Users/Daff/Sites/php_sandbox/.php on line 7 > > I have googled this and can't find out what I am doing wrong. Any you > could give me would be much appreciated. > > Tim set from php.net states the following: set() defines a to be sent along with the rest of the HTTP headers. Like other headers, 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 set before you output ANY THING, even error hope that s. t. hiep |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
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@ee.ucr.edu> wrote: > > On Wed, 12 Mar 2008, Tim Daff wrote: > > > Hi, > > > > I am learning PHP, I am trying to set a simple : > > > > <html> > > <head> > > <title></title> > > </head> > > <body> > > <?php set('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/.php:7) in > > /Users/Daff/Sites/php_sandbox/.php on line 7 > > > > I have googled this and can't find out what I am doing wrong. Any > you > > could give me would be much appreciated. > > > > Tim > > > set from php.net states the following: > > set() defines a to be sent along with the rest of the HTTP > headers. Like other headers, 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 set before you output ANY THING, even error > > hope that s. > 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 |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
> Firefox is returning this error:
> > Warning: Cannot modify header information - headers already sent by > (output started at /Users/Daff/Sites/php_sandbox/.php:7) in > /Users/Daff/Sites/php_sandbox/.php on line 7 You must use set () before you send any output to the browser, including whitespace. -- Richard Heyes Employ me: http://www.phpguru.org/cv |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
Tim Daff wrote: > Hi, > > I am learning PHP, I am trying to set a simple : > > <html> > <head> > <title></title> > </head> > <body> > > <?php set('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/.php:7) in > /Users/Daff/Sites/php_sandbox/.php on line 7 > > I have googled this and can't find out what I am doing wrong. Any > you could give me would be much appreciated. > > Tim <?php set('test', 45, time()+(60*60*24*7)); ?> <html> <head> <title></title> </head> <body> </body> </html> HAVE to be at the top of the page... You output ANYTHING else and you get the error you wound up getting. Wolf |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
Wolf wrote:
> > > Tim Daff wrote: >> Hi, >> >> I am learning PHP, I am trying to set a simple : >> >> <html> >> <head> >> <title></title> >> </head> >> <body> >> <?php set('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/.php:7) in >> /Users/Daff/Sites/php_sandbox/.php on line 7 >> >> I have googled this and can't find out what I am doing wrong. Any >> you could give me would be much appreciated. >> >> Tim > > <?php set('test', 45, time()+(60*60*24*7)); ?> > <html> > <head> > <title></title> > </head> > <body> > > > > </body> > </html> > > HAVE to be at the top of the page... You output ANYTHING else > and you get the error you wound up getting. > > Wolf > > If you're not sure if data has already been sent to the client (I ran into an included file having a space after >?) you can use http://us3.php.net/manual/en/function.headers-sent.php before you call set(); If nothing else it'll with diagnosing this error when you run into it again. -- Ray Hauge www.primateapplications.com |
|
![]() |
| Outils de la discussion | |
|
|