会话寄存器不起作用

时间:2013-09-08 12:53:33

标签: php mysql session

我正在尝试创建一个登录页面。当我尝试将用户名注册为会话时,它应该将我重定向到另一个页面,在那里它检查该会话是否未注册。如果不是,它会将我重定向回登录页面。好吧,我认为它在第二页失败了。

的login.php:

if($count==1){$_SESSION['user'] = $username;$_SESSION['pass'] = $password;header("location:Login_Success.php");}
else{echo "<p style='color:red'>Wrong username or password!</p>";}

login_success.php:

session_start();
if(!isset($_SESSION['username'], $_SESSION['password'])){
header("location:login.php");}

错误:我没有注册会议!我知道,因为我将header("location:url");替换为echo "What the--?!",并显示“What - - !!”。

回答

会话的价值不对。这是新代码:

的login.php:

if($count==1){$_SESSION['user'] = "username" //Here was the problem
or die(mysql_error());header("location: Login_Success.php");}
else{echo "<p style='color:red;margin-left:150px;'>Wrong username or password!</p>";}

Login_Success.php:

session_start();
if($_SESSION['user']!="username")//"username" is here too
{header("location: login.php");}

2 个答案:

答案 0 :(得分:2)

添加

session_start();

在您的网页开头。 甚至在doctype或任何HTML代码之前 事实上,在任何可打印的代码之前。

答案 1 :(得分:0)

您在代码的开头缺少session_start();

session_start(); //This will get you connected with your previous session

if($count==1){$_SESSION['user'] = $username;$_SESSION['pass'] = $password;header("location:Login_Success.php");}
else{echo "<p style='color:red'>Wrong username or password!</p>";}