2014-04-07 1 views
0

login.php에서 사용자 이름을 기억하도록 logout.php를 만들고 싶습니다.PHP를 사용하여 세션 쿠키가 포함 된 로그 아웃 페이지를 만드는 방법은 무엇입니까?

$ _GET 메서드를 사용하여 로그인에서 세션 사용자 이름을 가져오고 로그 아웃 할 때 쿠키 세션이 로그 아웃됩니다. 쿠키 세션이 설정되어 있지 않으면 아무 로그도 기록되지 않았다는 오류가 발생하여 로그 통풍이 작동하지 않습니다.

login.php는 사용자가 로그인하고 브라우저 설정에서 확인한 쿠키를 설정합니다.

login.php

<?php 

require"connection.php"; 
if (!isset($_POST['submit'])){ 
    $user = $_POST['username']; 
    $password = $_POST['password']; 

    if ($user){ 
     if ($password){ 

setcookie('username', '$user', time()+3600); 
setcookie('password', '$password', time()+3600);  

      //make sure login info correct 
      $query = mysql_query("SELECT * FROM users WHERE username = '$user'"); 
       $numrows = mysql_num_rows($query); 

      if ($numrows == 1) { 
       $row = mysql_fetch_assoc($query); 
       $dbuser = $row['username']; 
       $dbpass = $row['password']; 

     echo '<script type="text/javascript">alert("Welcome, '.$user.'. A cookie session has been created.");</script>'; 
     }else{echo "Please enter valid username or password";} 
     }else {echo "Your password didn't match. Please try again";} 
     }else {echo "Your username didn't match. Please try again";} 
     }else {echo "Please enter username and password";} 
?> 
+0

는 단순히 로그 아웃 페이지에 세션을 확인 특정 세션이 설정되지 않은 경우, 오류를 줄 수 있습니다. 세션 쿠키를 사용할 필요가 없습니다. –

+0

.. POST 데이터를 SQL에 삽입하기 전에 이스케이프하는 것을 잊지 마십시오. –

답변

1

는 다음과 같이 시도 ..

if(isset($_COOKIE['username']) && !empty($_COOKIE['username'])) { 
    // Bye $_COOKIE['username'], you are logged out. 
    setcookie('username', '', time() - 3600); 
} else { 
    // no user logged in 
} 
+0

로그인 한 사용자 이름을 에코하는 법을 알고 있고 "Bye Alex, log out"과 같이 말하면됩니다. 이것을 위해 $ _GET 명령이 필요합니까? –

+0

@SandeshMgr .. find update .. –

관련 문제