2

I am new to this and don't want to just go and change my or a colleague's php.ini.

I have Windows and he has Ubuntu set up.

I have 2 pages login.php and main.php with the following code at the top of each page

if(session_id() == '') {
    session_start();
}

I set a session variable to 1 or 0 depending if the user loggin in is a admin or not.

after clicking login you are taken to main.php. At the top of the page I did a print_r($GLOBALS) and I can see quite a lot of the global variables including the $_SESSION['admin'] entry.

On my colleague's pc there is only about 5 globals showing and $_SESSION is not there.

Is it a php.ini setup issue? Where do I start looking to fix this?

3
  • 1
    You have to call session_start(); in every page. Commented Aug 20, 2014 at 9:32
  • php.ini shouldn't have anything to do with this. Commented Aug 20, 2014 at 9:32
  • session.auto_start setting could make a difference. Commented Aug 20, 2014 at 9:33

1 Answer 1

2

You have to call session_start(); in every page. – Naktibalda

Right

php.ini shouldn't have anything to do with this. – serakfalcon

Wrong

Then why it works on one machine and not on the other? session.auto_start in php.ini

session.auto_start Boolean

session.auto_start specifies whether the session module starts a session automatically on request startup. Defaults to 0 (disabled).

To not depend on that, you need to have

session_start();

On top of every page where you want to access or manipulate session data.

Sign up to request clarification or add additional context in comments.

2 Comments

So doing if(session_id() == '') { session_start(); } is not the right approach. It should just be plain session_start();? Am I right in saying that?
Exactly, and it needs to be above any other code that manipulates the output. Not even after a blank HTML line etc

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.