2012-05-10 12 views
-1

このフォームは送信されませんが、パスワードが正しい場合にはホームページにリダイレクトされます。私はまた私のクッキー機能を覚えているようにしています。ちょっとした助けに感謝します。PHPログインフォームデータベースがありません

コード:

<?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> 

答えて

1

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

ログインフォームのサンプルを読むと、インターネット上に多くのものがあります。私はあなたの問題へのアプローチが最高でないか、または最も簡単なものだと思う...

+0

私は1つのページにそれを保つためには – user1345650

関連する問題