-1

このフォームは送信されませんが、パスワードが正しい場合はページにリダイレクトし、そうでない場合はホームページに移動しようとしています。私はまた、私を覚えているクッキー機能を入れようとしています. 少し助けていただければ幸いです。

コード:

<?php
     if($logged_in){header('Location: index.php');}
    function checkLogin(){
       /* Check if user has been remembered */
       if(isset($_COOKIE['cookpass'])){
          $_SESSION['password'] = $_COOKIE['cookpass'];
       }

       /* Username and password have been set */
       if(isset($_SESSION['password'])){
          /* Confirm that username and password are valid */
          if($_SESSION['password'] != 'password'){
             /* Variables are incorrect, user not logged in */
             unset($_SESSION['password']);
             return false;
          }
          return true;
       }
       /* User not logged in */
       else{
          return false;
       }
    }
    if(isset($_POST['sublogin'])){
        //Set Variables
        $password = $_POST['password'];
    if($password == 'password'){
        $md5pass = md5($password);
        $_SESSION['password'] = $md5pass;
          if(isset($_POST['remember'])){
          setcookie("cookpass", $_SESSION['password'], time()+60*60*24*100, "/");
       }
    }
    }
    echo 'Not Logged In';
    $logged_in = checkLogin();
    ?>

形:

 <form id="form1" name="form1" method="post" action="">
    Password: &nbsp;<input name="password" type="password" /><br/><br/>
    Remember Me: <input type="checkbox" name="remember" id="remember" />
    <input name="sublogin" type="submit" value="Login" style="float:right;" />

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

1 に答える 1

1

セッションを開始していません。session_start()PHP でセッション変数を使用する場合は、ヘッダーが送信される前に、ページの先頭で使用して開始する必要があります。また、フォームには有効なアクションがありません。

ログインフォームのサンプルを読んでください。インターネット上にはたくさんあります。問題に対するあなたのアプローチは、最善でも最も簡単なものでもないと思います...

于 2012-05-10T02:33:28.690 に答える