2011-04-18 32 views
1
<?php 
require_once 'facebook.php'; 

$app_id = ""; 
$app_key = ""; 
$app_secret = ""; 
$canvas_url = ""; 

$facebook = new Facebook(array(
'appId' => $app_id, 
'secret' => $app_secret, 
'cookie' => true, 
'domain' => 'http://www.yeospace.com/2B10030/' 
)); 


$session = $facebook->getSession(); 

if (!$session) { 

    try{ 
     $url = $facebook->getLoginUrl(array(
     'req_perms' => 'publish_stream, user_photos, read_stream, read_friendlists, offline_access, manage_pages' 
     )); 

     echo "<script type='text/javascript'>top.location.href = '$url';</script>"; 
     } 
     catch(FacebookApiException $e) 
     {//catch 
      echo "<br/>"; 
      echo "Error:" . print_r($e, true); 
     }//catch 
    }//end if session user 
else 
{ 

     $uid = $facebook->getUser(); 
     $me = $facebook->api('/me'); 

     //$updated = date("l, F j, Y", strtotime($me['updated_time'])); 
     echo "<img src='https://graph.facebook.com/".$uid."/picture'/>". "<br />" ; 
     echo "Hello " . $me['name'] . "<br /><br /><br /><br />"; 
     //echo "You last updated your profile on " . $updated . "<br />" ; 


}//end else user 

我有這個應用程序是有註銷問題。上面的代碼是一個config.php,其中每個其他頁面將包含。 「require_once'config.php'」 當我註銷用戶A和登錄用戶B,然後當我再次運行應用程序時,應用程序中的數據仍然是用戶A.註銷與facebook應用程序的問題

是否有反正我可以強制清除數據然後加載新的?即使認爲這個config.php一直在加載用戶數據沒有被清除。 你們可以幫我解釋一下如何清除這個問題。我仍然不熟悉Facebook應用程序。謝謝!

+0

那麼您的註銷碼在哪裏? – JohnP 2011-04-18 06:25:32

+0

從臉書註銷?那也算是註銷嗎? 我的代碼存在問題,應用程序會從Facebook應用程序跳轉到我的服務器網址,而不是停留在臉書上。這是因爲我的代碼? – meAtStackOverflow 2011-04-29 08:24:32

回答

1

有兩件事情你是不是在此代碼的任何這樣做的:

  1. Destroying the Facebook session for the user
  2. Destroying the PHP session

這就是爲什麼你甚至保留以前的用戶的狀態,儘管你已經切換用戶。

+0

感謝Wes的提示。如果我添加session_destroy()它會做的伎倆?對不起,我不喜歡編碼。 – meAtStackOverflow 2011-04-19 04:18:01

+0

@meAtStackOverflow更新了文章鏈接,以獲得幫助 – Wes 2011-04-19 05:42:51

+0

感謝好友的幫助!〜 – meAtStackOverflow 2011-04-27 14:52:26

0

在Facebook上的文檔,他們建議使用:

Facebook::getLogoutUrl($params=array()) 

此方法返回,當用戶點擊時,會記錄他們走出自己的Facebook會話,然後重定向他們回到您的應用程序的URL。

你應該使用下面的代碼:

$params = array('next' => 'https://www.myapp.com/after_logout'); 
$facebook->getLogoutUrl($params); 

查閱Facebook SDK參考。 doc:https://developers.facebook.com/docs/reference/php/facebook-getLogoutUrl/