PHP SDK - Facebook Logout
15,482
Create a file logout.php
<?php
session_start(); //start session
$_SESSION = array(); //clear session array
session_destroy(); //destroy session
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Log Out</title>
</head>
<body>
<p>You have successfully logged out!</p>
<p>Return to the <a href="....index.php">Home</a> page</p>
</body>
</html>
And change your code where you check user status
if ($user) {
$params = array( 'next' => 'http://....../logout.php' );
$logoutUrl = $facebook->getLogoutUrl($params);
} else {
$loginUrl = $facebook->getLoginUrl();
}
Use $logoutUrl for logout the user.
<?php if ($user): ?>
<?php echo "Welcome, ".$me['first_name']. " " .$me['last_name'] ." <br />";
echo "Id: " . $me['id'] ." <br />"; ?>
<a href="<?php echo $logoutUrl; ?>"> Logout </a> <br />
<?php else: ?>
<a href="<?php echo $loginUrl; ?>">
<img src="http://static.ak.fbcdn.net/rsrc.php/zB6N8/hash/4li2k73z.gif"> </a>
<?php endif ?>
Hope it will work fine
Author by
Blake
Updated on June 04, 2022Comments
-
Blake almost 2 years
I am using the latest version of PHP SDK for Facebook (3.2.1)
I was wondering, when logging out using the function provided in
base_facebook.php
from the sdk, if there was a way to stop it from actually logging out of facebook, but still deleting the session for the website application?Below is the logout function from
base_facebook.php
/** * Get a Logout URL suitable for use with redirects. * * The parameters: * - next: the url to go to after a successful logout * * @param array $params Provide custom parameters * @return string The URL for the logout flow */ public function getLogoutUrl($params=array()) { session_destroy(); return $this->getUrl( 'www', 'logout.php', array_merge(array( 'next' => $this->getCurrentUrl(), 'access_token' => $this->getUserAccessToken(), ), $params) ); }
and then my logout url is:
$logoutUrl = $facebook->getLogoutUrl();
then obviously using a anchor tag to logout:<a href="<?php echo $logoutUrl; ?>">Logout</a>
Thank you.