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.