chad qian wrote:
I try to debug one php page.Everything is fine but I always get this
error message on top when I load the web page:

Warning: session_start() [function.session-start]: Cannot send
session cache limiter - headers already sent (output started at
/home/getatwoq/public_html/chad/registrationverified.php:3) in
/home/getatwoq/public_html/chad/inc/prehtml.php on line 23

All,

I have been following the comments in this thread with surprise. This is a fairly simple problem and should really be part of PHP-101.

The output is being started on line 23 of prehtml.php. Odds are fairly good that this file is 23 lines long and the end of the file looks like this:

?>[\n]

That trailing newline after the closing PHP tag is causing output to start and resulting in the error message above.

In general, 2 simple rules for include file will save you these kind of headaches.

1. Begin the file with <?php, don't put any whitespace before it. This is pretty obvious and the usual way of doing things.

2. End the file with a comment, like:

// end of file[\n]

I recall this concept being explained to me on this very list, the gist of it is that the php parser will stop when it hits the end of the file, so the explicit ?> tag is redundant. Most editors however will add a newline [\n] at the end of the file which is then sent to the browser and breaks session and header functions.

The problem is not in any way related to whitespace within the PHP tags, as this is not sent to the browser, it is the whitespace outside the PHP tags (like a newline following the PHP end tag) that causes problems. By not explicitly closing the PHP tag the whitespace will all be treated as PHP code and ignored by the parser.

Follow these simple rules and you will not have to worry about this problem any more.

Dan
_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

Reply via email to