使用PHPSDK登录Facebook
当我登录时,一切都很好,我得到了用户id和姓名,但是当我点击注销按钮时,它只是将我从facebook注销,没有其他任何事情发生。按钮不想更改为登录。为什么?它只是忽略了语句的其他部分使用PHPSDK登录Facebook,php,facebook,Php,Facebook,当我登录时,一切都很好,我得到了用户id和姓名,但是当我点击注销按钮时,它只是将我从facebook注销,没有其他任何事情发生。按钮不想更改为登录。为什么?它只是忽略了语句的其他部分 public function fblogin() { require_once '../application/libraries/facebook.php'; //Create our Application instance $fac
public function fblogin() {
require_once '../application/libraries/facebook.php';
//Create our Application instance
$facebook = new Facebook(array(
'appId' => '**********', // Facebook App ID
'secret' => '*******************', // Facebook App Secret
));
//Get User ID
$user = $facebook->getUser();
if (isset($user)) {
try {
$me = $facebook->api("/me");
} catch (FacebookApiException $e) {
$user = null;
echo $e-> getMessage();
}
if ($me) {
$logoutUrl = $facebook->getLogoutUrl();
echo $me["id"];
echo $me["name"];
echo ("<a href='$logoutUrl'>Logout</a>");
}
}
else {
$loginUrl = $facebook->getLoginUrl();
echo ("<a href='$loginUrl'>Login</a>");
}
}
如果你在这个分数的末尾加上else
public function fblogin() {
require_once '../application/libraries/facebook.php';
//Create our Application instance
$facebook = new Facebook(array(
'appId' => '**********', // Facebook App ID
'secret' => '*******************', // Facebook App Secret
));
//Get User ID
$user = $facebook->getUser();
if (isset($user)) {
try {
$me = $facebook->api("/me");
} catch (FacebookApiException $e) {
$user = null;
echo $e-> getMessage();
}
if ($me) {
$logoutUrl = $facebook->getLogoutUrl();
echo $me["id"];
echo $me["name"];
echo ("<a href='$logoutUrl'>Logout</a>");
}
}
else {
$loginUrl = $facebook->getLoginUrl();
echo ("<a href='$loginUrl'>Login</a>");
}
}
if ($me) {
$logoutUrl = $facebook->getLogoutUrl();
echo $me["id"];
echo $me["name"];
echo ("<a href='$logoutUrl'>Logout</a>");
} else {
$loginUrl = $facebook->getLoginUrl();
echo ("<a href='$loginUrl'>Login</a>");
}
检查此代码在注销$user=$facebook->getUser;后返回的内容;,也许$user仍然验证为true。。。