0

アクションをサーバーphpセルフに設定して1ページのスクリプトを作成しようとしましたが、正しいパスワードを入力した後でもスクリプトを実行すると、「パスワードを指定する必要があります」と表示されます。私はこれを正しくやっていますか?私の間違いを教えてください

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');}
?>
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 に答える