0

我试图制作一个将操作设置为服务器 php self 的单页脚本,但是即使在我输入正确的密码后运行脚本时,我也会得到“您必须提供密码”。我这样做对吗。请让我知道我的错误

登录.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>

索引.php

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

2 回答 2

1

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

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

于 2012-06-28T04:15:48.580 回答
1

在页面的开头添加session_start(),这将有助于跨请求维护会话。

于 2012-06-28T04:18:08.547 回答