2011-04-18 106 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/