0

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

登录.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 the--?!”。

答案

会话的值不正确。这是新代码:

登录.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>";}

登录_成功.php:

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

2 回答 2

1

添加

session_start();

在页面的开头。甚至在 doctype 或任何 html 代码之前。
实际上在任何可打印代码之前。

于 2013-09-08T12:57:41.353 回答
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>";}
于 2013-09-08T12:57:17.380 回答