<?php
session_start();
if(isset($_POST['sub'])){
require "./config.php";
if($_POST['login_name']==$admin_name && $_POST['login_pwd']==$admin_pwd){
$_SESSION['login_status']=="oko";
}else{
echo "<font color='red'><b>帐号或密码错误!</b></font>";
}
}
?>
<html>
<head>
<title>后台管理页面</title>
</head>
<body>
<?php
if($_SESSION['login_status']!="oko"){
var_dump($_SESSION['login_status']);//这个地方一直是NULL
?>
<form name="login" method="post" action="">
username:<input type="text" name="login_name" /><br/>
password:<input type="password" name="login_pwd" /><br/>
<input type="submit" name="sub" value="submit" />
</form>
<?php
}else{
echo "ll";
}
?>
</body>
</html>
代码如上,很简单,但是SESSION一直都写不进去,不知道到底是什么原因!!

解决方案 »

  1.   

    $_SESSION['login_status']="oko";  //赋值是一个=号
      

  2.   

    你试一下把
    <?php  session_start();放在同一行 
      

  3.   

    修改后的代码 if(isset($_POST['sub'])){
    require "./config.php";
    if($_POST['login_name']==$admin_name  && $_POST['login_pwd']==$admin_pwd){
    $_SESSION['login_status']="oko";//这个地方你多了个“=”
    }else{
    echo "<font color='red'><b>帐号或密码错误!</b></font>";
    }
    }else{
    session_start();//session_start();运行一次就可以了,而且要放在代码的最前边
    }
    ?>
    <html>
    <head>
    <title>后台管理页面</title>
    </head>
    <body>
    <?php
    if($_SESSION['login_status']!="oko"){
    var_dump($_SESSION['login_status']);//这个地方一直是NULL
    ?>
    <form name="login" method="post" action="">
    username:<input type="text" name="login_name" /><br/>
    password:<input type="password" name="login_pwd" /><br/>
    <input type="submit" name="sub" value="submit" />
    </form>
    <?php
    }else{
    echo "ll";
    var_dump($_SESSION['login_status']);//要这个地方就可以打印了
    }
    ?>
    </body>
    </html>