2012-05-10 2 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

어떻게하면 하나의 페이지에 보관하고 싶습니까? – user1345650