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代碼:
//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>");
的問題是,當我去:http://apps.facebook.com/myappsample(和我」沒有登錄臉書)應用程序顯示驗證對話框(正確),但在此步驟後,它從index.php到join.php執行無限循環。
正如你可以看到當我檢查join.php中是否有任何錯誤,我做了一個重定向到index.php(應用程序的主頁),但在index.php我仍然得到$user === 0
,所以它重定向到另一個時間join.php ....等等等等(無限循環)。
我該如何解決這類問題?
非常感謝!
編輯: 我用join.php回調(REDIRECT_URI)登錄頁面。這個頁面的目的是保存數據庫內的用戶信息,所以join.php會做到這一點,然後重定向到index.php讓用戶使用應用程序。錯誤?
你爲什麼要用戶去join.php? FB會採取未經授權的用戶登錄頁面,然後重定向回你的應用程序,所以它應該沒問題,不是嗎? – Dhiraj
join.php的目的是什麼?什麼是$ config ['url]'和'$ config ['errors'] ['auth']?'看起來它應該在成功時重定向。 –
@DhirajBodicherla請參閱編輯上的問題 – Dail