2014-02-20 2 views
3

페이스 북 계정 정보가있는 웹 사이트에서 로그인 및 로그 아웃을하고 있습니다. 그 동안 나는 내 코드이facebook 로그인 및 웹 사이트에서 로그 아웃 하시겠습니까?

<div id="fb-root"></div> 
<script type="text/javascript"> 
//<![CDATA[ 
window.fbAsyncInit = function() { 
    FB.init({ 
    appId  : 'XXXXXXXXXXXXXXXX', // App ID 
    channelURL : '', // Channel File, not required so leave empty 
    status  : true, // check login status 
    cookie  : true, // enable cookies to allow the server to access the session 
    oauth  : true, // enable OAuth 2.0 
    xfbml  : false // parse XFBML 
    }); 
}; 
// logs the user in the application and facebook 
function login(){ 
FB.getLoginStatus(function(r){ 
    if(r.status === 'connected'){ 
      window.location.href = 'fbconnect.php'; 
    }else{ 
     FB.login(function(response) { 
       if(response.authResponse) { 
       //if (response.perms) 
        window.location.href = 'fbconnect.php'; 
      } else { 
       // user is not logged in 
      } 
    },{scope:'email'}); // which data to access from user profile 
} 
}); 
} 

// Load the SDK Asynchronously 
(function() { 
    var e = document.createElement('script'); e.async = true; 
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
    document.getElementById('fb-root').appendChild(e); 
}()); 

//]]> 
</script> 
<a href='#' onclick='login();'>Facebook Login</a> 

처럼 index.html을 들어 및 fbconnect.php이

처럼 내 코드를 만들었 나는 내 코드는 I로이

<?php 
    require 'src/facebook.php'; 
    $facebook = new Facebook(array(
      'appId' => 'XXXXXXXXXXXXXXXX', 
      'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX', 
      'cookie' => true, 
    )); 
    $user = $facebook->getUser(); 
    $loginUrl = $facebook->getLoginUrl(); 
    //echo "<a href='$loginUrl'>login</a>"; 

    $logoutUrl = $facebook->getLogoutUrl(); 
    //echo $loginUrl; 
    if($user){ 
     $_SESSION['user_info'] = $user; 
     $_SESSION['user_pro']= $facebook->api('/me'); 
     echo $_SESSION['user_pro']['first_name']; 
     echo $_SESSION['user_pro']['last_name']; 
     echo '<pre>'; 
     //print_r($_SESSION); 
     echo '</pre>'; 
    } 
    else{ 
     echo 'not logged in '; 
    } 
    echo "<a href='logout.php'>log out </a>" 
?> 

처럼 보이는이 또한 사용자가 사이트에서 로그 아웃 할 수 있도록 logout 시스템을 원합니다. logout.php에 대한 코드를 다음과 같이 만들었습니다.

그러나 여기의 표시 오류가 여기에

Notice: Undefined variable: facebook in logout.php on line 3 Fatal error: Call to a member function getAccessToken() on a non-object in logout.php on line 3. 

처럼 쉽게 로그인을하고 있지만, 로그 아웃에 오류를 보이고있다. 그래서 누군가가 친절하게이 문제를 해결하는 방법을 말해 줄 수 있습니까? 나는 facebook 신청에 진짜로 뉴비 다. 그래서 어떤 도움이나 제안이라도 정말 감탄할 것입니다. 감사합니다

답변

0

은 페이스 북에서 로그 아웃 할 경우에도 다음

처럼 로그 아웃 기능에서 세션을 파괴 할 필요가 $facebook는 귀하의 의견에 따라, Facebook class.And의 인스턴스입니다

require 'src/facebook.php'; 
$facebook = new Facebook(); //including the facebook php sdk 
$token = $facebook->getAccessToken(); 

같은 시도

$facebook->destroySession(); 
+0

답장을 보내 주셔서 감사하지만 페이스 북에서 로그 아웃하는 방법을 사이트 로그 아웃에서 완전히 알려주실 수 있습니까? 제 경우에는 페이 스북이 아닌 사이트에서 로그 아웃 만하고 있습니다 .. – NewUser

+0

한번만 편집하십시오 @NewUser – Gautam3164

+0

예 말씀 드린대로 사용했지만 작동하지 않습니다. 내 logout.php 코드는 다음과 같습니다. ' getAccessToken(); $ url = 'index.html'; $ facebook-> destroySession(); session_destroy(); header ('Location :'. $ url); ?>' – NewUser