Hi there,
I have a problem setting my headers right with php running as .cgi. I
have to specify a Content-type for the cgi file to work. But how
should I do both that and start a session?
I have a few options:
#! /usr/local/bin/php
<?php
session_start();
print 'Content-type: text/html' . "\n\n";
This way $_SESSION['count'] stays unset even though I say
$_SESSION['count'] = 1; in my program.
To swap the two lines won't work because I heard \n\n terminates the
header portion. Anyway, here goes:
#! /usr/local/bin/php
<?php
print 'Content-type: text/html' . "\n\n";
session_start();
Now I get "Warning: session_start(): Cannot send session cookie -
headers already sent by... line 3" and then "Warning: session_start():
Cannot send session cache limiter - headers already sent...".
I have tried replacing print 'Content-type: text/html' . "\n\n"; by
print 'Content-type: text/html' . "\n"; (one \n instead of two) with
exactly the same result. With no \n at all I only get "Warning:
session_start(): Cannot send session cache limiter - headers already
sent".
The next thing I try is to replace print 'Content-type: text/html' and
the \n's by sending the same text in header(). This variety gives me a
"500 Internal Server Error" independant on the number of \n's.
Anyway, here's all my code. No matter what I do it always prints "Your
visit number 1". $_SESSION['count'] doesn't get increased at all!
========================
#! /usr/local/bin/php
<?php
print 'Content-type: text/html' . "\n\n";
session_start();
print '<html>' . "\n";
print '<body>' . "\n";
if (!isset($_SESSION['count']))
{
$_SESSION['count'] = 1;
}
else
{
$_SESSION['count']++;
}
print 'Your visit number ' . $_SESSION['count'] . "\n";
print '</body>' . "\n";
print '</html>' . "\n";
?>
========================
I hope you can help me out getting my headers straight.
Regards,
B�rge
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php