PHP session seemingly not working

Session variables are apparently not working for me. I don't know what I'm doing wrong. This is the code that I'm using to check for a valid password:

if ($input_password_hash == $password_hash)
 {
  session_start();
  $_SESSION['is_user'] = 1;
  header("Location: ../new_look"); //or Location: index.php
 }
else echo "Wrong password.";

in the index.php file (where it redirects to), I have this code:

if ($_SESSION['is_user'] == 1)
{
  //show index page with navigation bar for registered user
}

else
{
 //do something else
}

but it's not working at all.

The session does apparently start and that can be verified by checking the cookie.

What am I doing wrong?


Solution 1:

You know that you've got to write session_start() before you use the $_SESSION variable in any request, right? It looks like you haven't put it in index.php anywhere.

Solution 2:

Session_start(); has to be placed before any header that will be sent out e.g. before any HTML tag on the php file.

Solution 3:

I just got back from fixing that...added session_start() right at the top of the file - even before the <html> tag. Doing session_start() in the middle gives errors...don't know why. I'm new to this. Thanks for your prompt response though.