2012-05-12 2 views
0

:무한 루프는 나는이 간단한 코드가

// index.php 
require_once("/fb/facebook.php"); 
require_once("/config/config.php"); 

$facebook = new Facebook(array(
    'appId' => $config['appId'], 
    'secret' => $config['secret'], 
    'cookie' => true 
)); 

$user = $facebook->getUser(); 

if ($user === 0) {  

    $loginUrl = $facebook->getLoginUrl(array(
     'redirect_uri' => 'https://www.example.com/join.php'  
    )); 

    echo("<script> top.location.href='" . $loginUrl . "'</script>");  
    exit; 

} 
else {  
    var_dump($facebook->api("/me"));  
} 

과 join.php 코드입니다 : http://apps.facebook.com/myappsample (내가 ':

//join.php 
require_once("/fb/facebook.php"); 
require_once("/config/config.php"); 

$facebook = new Facebook(array(
    'appId' => $config['appId'], 
    'secret' => $config['secret'], 
    'cookie' => true 
)); 

if (isset($_REQUEST['error'])) {  
    echo("<script>top.location.href='". $config['errors']['auth'] . "'</script>"); 
    exit; 
} 

echo("<script>top.location.href='". $config['url'] . "'</script>"); 

문제가 내가 갈 때이다 m 페이스 북에 로그온하지 않음) 애플리케이션은 인증 대화 상자를 표시하지만 (올바르게),이 단계 후에 index.php에서 join.php까지 무한 루프를 수행합니다.

join.php에 오류가 있는지 확인한 것처럼 index.php (응용 프로그램의 홈 페이지)로 리다이렉션하지만 index.php에서 나는 여전히 $user === 0을 얻습니다. 그래서 다른 사람을 리디렉션합니다 join.php .... 등 기타 등 (무한 루프).

어떻게 이러한 문제를 해결할 수 있습니까?

대단히 감사합니다!

편집 : 로그인 페이지에 대한 콜백 (redirect_uri로)로 join.php를 사용 . 이 페이지의 목적은 데이터베이스에 사용자 정보를 저장하는 것입니다. join.php가이를 수행 한 다음 index.php로 리디렉션하여 사용자가 응용 프로그램을 사용할 수 있도록합니다. 잘못된?

+0

왜 사용자가 join.php에 들어가길 원하십니까? fb가 승인되지 않은 사용자를 로그인 페이지로 보낸 다음 다시 앱으로 리디렉션하므로 문제가되지 않습니다. – Dhiraj

+0

join.php의 목적은 무엇입니까? '$ config [ 'url]'과'$ config ['errors '] ['auth ']는 성공했을 경우 리다이렉트 (redirect)하는 것으로 보인다. –

+0

@DhirajBodicherla 질문에 편집을 참조하십시오 – Dail

답변

0

join.php에 액세스 토큰을 찾기 위해 콜백 데이터를 실제로 처리하려면 $facebook->getUser()으로 전화해야합니다.