会话值不起作用

时间:2012-06-28 04:13:07

标签: php forms post submit

我试图创建一个单页脚本,其动作设置为服务器php self,但是当我输入正确的密码后运行脚本时,我会收到“你必须提供密码”。我做对了吗请让我知道我的错误

login.php

    <?php
        $pass = 'defense6';

        if(isset($_POST['submit'])){

            if(($_POST['password'] == $pass)) {    
                   $_SESSION['password'] = md5($_POST['password']);
                   header('Location: index.php');
            } else {
                echo 'Password Invalid';
            }

        }
        else {
            echo 'You must supply a password.'.$_SESSION['password'] ;
        }
        ?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">  
Password: &nbsp;<input name="password" type="password" /><br/><br/>
:
<input type="submit" name="submit" value="Login" style="float:right;" />

<br/>
  <p></p>
</form>

的index.php

<?php
$pass = 'defense6';
 if($_SESSION['password'] == md5($pass)) {}
else {header('Location: login.php');}
?>

2 个答案:

答案 0 :(得分:1)

您需要在使用会话的每个页面上添加seesion_start()

session_start()根据通过GET或POST请求传递的会话标识符创建会话或恢复当前会话,或通过cookie传递。

答案 1 :(得分:1)

在页面的开头添加session_start(),以帮助维护跨请求的会话。