By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
449,277 Members | 1,221 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 449,277 IT Pros & Developers. It's quick & easy.

session_start() error

P: n/a
I keep getting an error that says this

Warning: session_start(): Cannot send session cache limiter - header
already sent (output started at c:\program files\easyphp1-8\www\th
site\adminlogin.php:3) in c:\program files\easyphp1-8\www\th
site\access.inc.php on line

Does anyone know what it means? I am trying to create a account logi
and that warning comes up... Nothing bad happens. If anything doe
anyone know how to suppress php from showing the warning? though I'
rather figure out how to fix i

Thanks

Nic
http://eye.cc -php- web design
Jul 17 '05 #1
Share this Question
Share on Google+
7 Replies


P: n/a
y_oda2002 wrote:
I keep getting an error that says this:

Warning: session_start(): Cannot send session cache limiter - headers
already sent (output started at c:\program files\easyphp1-8\www\the
site\adminlogin.php:3) in c:\program files\easyphp1-8\www\the
site\access.inc.php on line 5

Does anyone know what it means?


You have to put session_start *before* any other output from the script, ie.
before any echo, print or similar.

Berislav
Jul 17 '05 #2

P: n/a
On Sat, 30 Apr 2005 09:01:10 GMT, nr*****@thiel-dot-edu.no-spam.invalid
(y_oda2002) wrote:
I keep getting an error that says this:

Warning: session_start(): Cannot send session cache limiter - headers
already sent (output started at c:\program files\easyphp1-8\www\the
site\adminlogin.php:3)
OK, what's in adminlog.php line 3?
in c:\program files\easyphp1-8\www\thesite\access.inc.php on line 5

Does anyone know what it means?
It means you're trying to start a session, so PHP is trying to send a cookie
and a cache limiter header, but you've already output some content - HTTP
headers can only be sent before any other content.
I am trying to create a account login
and that warning comes up... Nothing bad happens. If anything does
anyone know how to suppress php from showing the warning?
Don't suppress this - it's actually a bit more serious than just a warning as
it'll be screwing up your sessions.
though I'd rather figure out how to fix it


Yep, much better.

--
Andy Hassall / <an**@andyh.co.uk> / <http://www.andyh.co.uk>
<http://www.andyhsoftware.co.uk/space> Space: disk usage analysis tool
Jul 17 '05 #3

P: n/a
Thanks for trying to help...

However I still can't figure out the problem....

I keep getting the same error...

Here is what I am doing...

I have some structured code... include files....
I am trying to create a user login where each page knows the user is
or isnt logged in....
However whenever I refrence the file with this code (always included
at the beginning of the file)...

session_start();

function loggedIn()
{
return isset($_SESSION['authorized']);
}

It throws that error....
Should I only use session_start() once when the user enters the main
page?
It seems that the first page to start the session is fine and
continues to be fine evening when going to it from a page with the
error....
Does anyone know of anything on the web about sessions that would be
able to help me?

Thanks again for your time..
It's greatly appreciated....

Nick
http://eye.cc -php- web design
Jul 17 '05 #4

P: n/a
This may be a bug in PHP. I found that session_start() does not work if
called from inside a function - you have to call it from top-level code.
Also, you need to call it before you do anything else. HTH :-)
Jul 17 '05 #5

P: n/a

"Mick Sharpe" <mi*********@btinternet.com> wrote in message
news:d6**********@nwrdmz01.dmz.ncs.ea.ibs-infra.bt.com...
This may be a bug in PHP. I found that session_start() does not work if
called from inside a function - you have to call it from top-level code.
Also, you need to call it before you do anything else. HTH :-)


I don't think so... I can start a session later in my code inside a switch
case: statement for example...
You might be wrong
Jul 17 '05 #6

P: n/a
That is unrelated, a switch does not give output. echo 'foo'; is
output. if () is not. Regarding the inability to use session_start()
inside a user defined function, I don't see why this would be a
problem. I'm guessing it was something else.

The key here is output. Headers already sent = output already sent. If
your include file (access.inc.php) has a space after the closing ?>
(line 5ish), that is output. I'm guessing this is the case. It's common
to leave off the closing ?> within include files as to eliminate this
potential problem.

Jul 17 '05 #7

P: n/a
That would explain nicely the problems I experienced - thanks for that :-)
Jul 17 '05 #8

This discussion thread is closed

Replies have been disabled for this discussion.