Re: Content-type vs session_start()
| From: | B�rge Strand | Date: | Fri, 09 Jan 2004 10:38:12 +0000 |
| Subject: | Re: Content-type vs session_start() | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-174101@lists.php.net to get a copy of this message | ||
Cheers Chris
> I will try to explain using your code:
>
> > Here's test3.cgi:
> > ======================================================
> > #! /usr/local/bin/php
> > <?php
> > print 'Content-type: text/html' . "\n\n";
>
> When you are running as a CGI, you can set the Content-Type header in this
> way. However, as soon as you send two sequential newlines, you are
> indicating the end of the headers and the beginning of the content.
What should be there instead of \n\n? I tried without any newlines
with the error "Cannot send session cache limiter - headers already
sent..."
One newline gives "Cannot send session cookie - headers already
sent..." and then the same error as above.
Do you know of a site where I can find "headers001" and what headers
are sent by session_start()?
Actually, my program worked just fine before my ISP upgraded to 4.3.4.
> > session_start();
>
> So, when you have this on the next line, PHP cannot set the Set-Cookie
> header that it is likely trying to set (in addition to whatever
> cache-related headers it may be setting, depending on your configuration).
> This is because you have already indicated the end of the headers in your
> previous line. This is the danger in writing your own headers in this way;
> you become responsible for adhering to the proper format of things.
>
> > And test3.php:
> > ======================================================
> > <?php
> > session_start();
> > // print 'Content-type: text/html' . "\n\n"; // only in .cgi version!
>
> While it's not necessary to specify Conetnt-Type here, you can do so using
> the header() function:
>
> header('Content-Type: text/html');
Aha! That explains it a bit. Without me having to print Content-type...,
(i.e. in a .php file), sessions seem to be working just fine.
--
Børge