PHP session seemingly not working

冷暖自知 提交于 2019-11-26 17:51:30

问题


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?


回答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.




回答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.




回答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.



来源:https://stackoverflow.com/questions/490440/php-session-seemingly-not-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!