2011-02-25 5 views
2

내 웹이 동적으로 구축되었습니다. 나는 page1.php, page2.php .. 등등을 가지고 있지만 그들은 다음과 같이 호출됩니다 : index.php? page = page1Facebook : 로그 아웃 URL 변경

내가 로그 아웃 버튼을 클릭하면 index.php 대신 page1.php가 다시로드됩니까? = page1

올바른 재로드가 가능하도록 코드를 변경하려면 어떻게해야합니까? 무엇을 편집해야합니까? 이다 여기에 내가 facebook.php을 포함하고있어

$logoutUrl = $facebook->getLogoutUrl(); 

과 : 어디

<a href="<?php echo $logoutUrl; ?>"><img border=0 src="http://static.ak.fbcdn.net/rsrc.php/z2Y31/hash/cxrz4k7j.gif"></a> 

:이 방법으로 로그 아웃 버튼이

: 여기

은 내가 사용 코드입니다 getLogoutUrl() ;:

public function getLogoutUrl($params=array()) { 
    return $this->getUrl(
     'www', 
     'logout.php', 
     array_merge(array(
     'next'   => $this->getCurrentUrl(), 
     'access_token' => $this->getAccessToken(), 
    ), $params) 
    ); 
    } 

그리고 getCurrentUrl() :

protected function getCurrentUrl() { 
    $protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' 
     ? 'https://' 
     : 'http://'; 
    $currentUrl = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; 
    $parts = parse_url($currentUrl); 

    // drop known fb params 
    $query = ''; 
    if (!empty($parts['query'])) { 
     $params = array(); 
     parse_str($parts['query'], $params); 
     foreach(self::$DROP_QUERY_PARAMS as $key) { 
     unset($params[$key]); 
     } 
     if (!empty($params)) { 
     $query = '?' . http_build_query($params, null, '&'); 
     } 
    } 

    // use port if non default 
    $port = 
     isset($parts['port']) && 
     (($protocol === 'http://' && $parts['port'] !== 80) || 
     ($protocol === 'https://' && $parts['port'] !== 443)) 
     ? ':' . $parts['port'] : ''; 

    // rebuild 
    return $protocol . $parts['host'] . $port . $parts['path'] . $query; 
    } 

고마워요!

답변

2

 
$logoutUrl = $facebook->getLogoutUrl(); 

당신은 그가 밖으로 LOGES하면 그 사용자를 반환 싶어 그에게 말할 수있는 전화 :

 
$logoutUrl = $facebook->getLogoutUrl(
    array(
     'next' => 'http://mydomain.com/index.php?page=page1' 
    ) 
); 
+0

덕분에 당신은 저를 저장 톤! – user523129

+0

이것은 더 이상 작동하지 않습니다. : / – James