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?
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.Session_start(); has to be placed before any header that will be sent out e.g. before any HTML tag on the php file.
I just got back from fixing that...added
session_start()
right at the top of the file - even before the<html>
tag. Doingsession_start()
in the middle gives errors...don't know why. I'm new to this. Thanks for your prompt response though.