2012-10-31 3 views
0

로그 아웃 기능이 작동하지 않는 툴에서 작업합니다. 나는 색인 페이지를 가지고 있는데, 여기서 설정 파일을 session_start()와 함께 포함시킨다.로그 아웃 할 수 없음

이후에는 배너와 로그온 및 로그 오프 버튼이있는 페이지가 포함됩니다. 이 버튼 중 하나를 클릭하면 다른 페이지로 이동합니다. connec.php, 연결을 끊거나 만들었습니다.

연결이 괜찮습니다. 모든 세션 변수를 초기화합니다. 난 아직 연결되어있어

if(isset($_POST['logout'])){ 
    $_SESSION = array(); 
    session_unset(); 
    session_destroy(); 
    $_POST['logout']=1; 
    //gotopage($GLOBALS["GLOBAL_URL_PSISITE"]); 
    header("Location: ../index.php"); 

, 나는 print_r($_SESSION)을 수행 할 때 항상 존재합니다 단선의 경우 내가 할. 이 페이지에 아무것도하기 전에 모든

+1

deconnexion 스크립트에서 session_start()를 사용하고 있는지 확인하십시오. 상단에. –

+0

예 맨 위에는 session_start()를 사용합니다. – user1789039

답변

2

첫째 둘째하여 입력 필드 form 요소 감싸되어 있고 submit buttonname=logout를 가지고 있으며, 여러분의 형태로 설정되어 있는지 확인 페이지가 session_start() 매우 위로 가기에 정의되어 있는지 확인하십시오 method=post

<form method="post" action="your_logout_script_page.php"> 
    <input type="submit" name="logout" /> 
</form> 
+0

예 이러한 문제는 정상입니다. 고마워요 – user1789039

+0

다른 건 없어요 아니면 다른 뭔가 진짜 간단한 누락되었습니다 –

+0

난 그렇게 생각해 .... – user1789039

0

당신은 당신의 파일을 올바르게, 당신이해야 실행중인 세션을 "파괴"하기 위해

<?php 
session_start(); 

if (isset($_POST['logout'])) { 

    $_SESSION = array(); 

    if (ini_get("session.use_cookies")) { 
     setcookie(session_name(), '', time() - 42000, '/'); 
    } 

    session_destroy(); 

    //$_POST['logout']=1; // this won't do anything since you're redirecting on the next line. 

    header("Location: ../index.php"); 
    exit; 

} 
?> 
+0

내 코드에서 쿠키를 사용하지 마십시오. Thanks – user1789039

+0

@ user1789039 PHP 세션 ID는 (일반적으로) 쿠키에 저장됩니다. [이 스크린 샷에서 볼 수 있듯이] (http://snag.gy/dGizN.jpg). 그것은 당신의 코드에서 setcookie를 사용하여 당신과 아무 상관이 없습니다. 위의 코드는 삭제되도록합니다. –

+0

해결책을 시도했지만 작동하지 않습니다. – user1789039

0

을이 뭔가를 할 것입니다 먼저 PHP에게 어떤 세션을 죽이려고하는지 알려줍니다. 세션의 경우

하지 그래서 ... 사용자 정의/수동 이름 (대부분의 경우) 당신이

session_destroy(); 

를 호출하기 전에, 먼저

session_start(); 

를 호출해야합니다을 갖는

<?php session_start(); session_destroy(); ?> 
+0

이미 내 session_start()가 있습니다. 감사 – user1789039