Connecting Tech Pros Worldwide Forums | Help | Site Map

session_start() error

y_oda2002
Guest
 
Posts: n/a
#1: Jul 17 '05
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

Berislav Lopac
Guest
 
Posts: n/a
#2: Jul 17 '05

re: session_start() error


y_oda2002 wrote:[color=blue]
> 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?[/color]

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

Berislav


Andy Hassall
Guest
 
Posts: n/a
#3: Jul 17 '05

re: session_start() error


On Sat, 30 Apr 2005 09:01:10 GMT, nrhodes@thiel-dot-edu.no-spam.invalid
(y_oda2002) wrote:
[color=blue]
>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)[/color]

OK, what's in adminlog.php line 3?
[color=blue]
>in c:\program files\easyphp1-8\www\thesite\access.inc.php on line 5
>
>Does anyone know what it means?[/color]

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.
[color=blue]
>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?[/color]

Don't suppress this - it's actually a bit more serious than just a warning as
it'll be screwing up your sessions.
[color=blue]
>though I'd rather figure out how to fix it[/color]

Yep, much better.

--
Andy Hassall / <andy@andyh.co.uk> / <http://www.andyh.co.uk>
<http://www.andyhsoftware.co.uk/space> Space: disk usage analysis tool
y_oda2002
Guest
 
Posts: n/a
#4: Jul 17 '05

re: session_start() error


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
Mick Sharpe
Guest
 
Posts: n/a
#5: Jul 17 '05

re: session_start() error


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 :-)


Angelos
Guest
 
Posts: n/a
#6: Jul 17 '05

re: session_start() error



"Mick Sharpe" <mick.sharpe@btinternet.com> wrote in message
news:d6pj7i$457$1@nwrdmz01.dmz.ncs.ea.ibs-infra.bt.com...[color=blue]
> 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 :-)[/color]

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


Philip Olson
Guest
 
Posts: n/a
#7: Jul 17 '05

re: session_start() error


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.

Mick Sharpe
Guest
 
Posts: n/a
#8: Jul 17 '05

re: session_start() error


That would explain nicely the problems I experienced - thanks for that :-)


Closed Thread