2016-10-28 7 views
0

쿠키 챕터를 배우려고하고 있는데, 쿠키 챕터를 언제 사용하는지 이해해야합니다. 이 예에서는 사용자가 정보를 입력하고 제출을 클릭하게하려고합니다. 그러면 그의 정보가 표시됩니다. 그런 다음 로그 아웃 버튼이 있는데,이 버튼을 누르면 디스플레이 메시지가 기본값으로 돌아갑니다. 사용자를 로그 아웃하도록 쿠키를 설정하는 방법

<?php 
    session_start(); 
    if(isset($_GET['submit'])) { 
     $fn = $_GET['fname']; 
     $ln = $_GET['lname']; 
     $stunum = $_GET['stunum']; 

     $_SESSION['firstname'] = $fn; 
     $_SESSION['lastname'] = $ln; 
     $_SESSION['studentNumber'] = $stunum; 
    } 

    setcookie ('logout', "Logout", time()-3600); 
    session_destroy(); 

?> 

<html> 
    <body> 
     <form action ="message.php" method="get"> 
      Firstname:<br><input type="text" name="fname"><br> 
      Lastname:<br><input type="text" name="lname"><br> 
      Student ID:<br><input type="number" name="stunum"><br> 
      <input type="submit" name="submit"> 
     </form> 
    </body> 
</html> 

그리고 message.php에서

하기 :

<?php 
    include('test.php'); 

    $firstname = $_SESSION['firstname']; 
    $lastname = $_SESSION['lastname']; 
    $studentNumber = $_SESSION['studentNumber']; 
    echo "Hi " . $firstname . " " . $lastname . "." . "Your student number is " . $studentNumber; 

    setcookie('logout', "Logout", time() + 3600); 
    if (isset($_COOKIE['logout'])) { 
     setcookie('logout', "Logout", time() - 3600); 
     session_destroy(); 
    } 
    ?> 

    <html> 
     <body> 
      <button name="logout">Logout</button> 
     </body> 
    </html> 

답변

0

당신은 필요가 없습니다

내 test.php 파일에 다음 (이 완전하지 않습니다)하지만 지금까지 난 단지 썼다 이 "로그 아웃"쿠키. 사용자가 세션을 통해 로그인 했으므로 session_destroy();가 충분합니다. 좋은 사례는 정의한 세션 변수 ('firstname', 'lastname', 'studentNumber') 만 "파괴"(설정 해제)하지만 다른 스크립트의 데이터를 포함 할 수있는 전체 세션은 삭제하지 않는 것입니다. 당신은 사용자가 "로그 아웃"버튼을 주위에 양식을하고 POST를 통해 몇 가지 변수를 보내 로그 아웃 할 경우

그래서 :

if(isset($_POST['logout'])) { 
    unset($_SESSION['firstname']); 
    unset($_SESSION['lastname']); 
    unset($_SESSION['studentNumber']); 
} 
:

<form action="" method="post"> 
<button name="logout">Logout</button> 
<input type="hidden" name="logout" value="true" /> 
</form> 

그리고 해제 세션 변수를 사용자가 해당 양식을 제출하는 경우

좋은 코드 예제는 아니지만 귀하의 교육에 도움이되기를 바랍니다.

관련 문제