2012-11-09 172 views
0

這是我的問題:當用戶第一次進入應用程序時,沒有問題...啓動應用程序,無論是檢測到或被授權的用戶。申請程序如下:Facebook登錄,註銷和cookie(PHP SDK和Javascript SDK)

  1. 點擊圖片開始
  2. 點擊「Participar」按鈕
  3. 的JavaScript SDK沒有檢測到用戶,並顯示在彈出的安裝和許可證。 安裝:授權許可,填寫表格,提交表格並重定向到評分腳本。

但是,當用戶退出Facebook的,並與來自同一IP的其他用戶重新連接,壞事發生:

  1. 單擊圖像索引(這表明用戶ID爲0)
  2. 點擊「Participar」按鈕:
  3. JavaScript SDK檢測到之前從相同IP記錄的用戶ID。

然後腳本join.php自動重定向他們score.php,並score.php沒有檢測到有效ID在數據庫中(因爲他們沒有被賦予的權限,也沒有提交表單),所以它重定向到index.php回到索引仍然指示用戶0:第​​二次點擊「Participar」,然後一切正常

任何人都知道什麼可能是錯的?下面列出了腳本和模板。

PHP文件,爲了

  1. 的index.php pastebin.com/jnCR7dqq
  2. join.php pastebin.com/YF4xBfAu
  3. score.php pastebin.com/EcjQWTy1

HTML文件,爲了

  1. index.html pastebin.com/WUqNQx5x(索引的div,假HREF之間JS循環)
  2. join.html pastebin.com/Qst0JvUT(JS假A HREF)
  3. score.html pastebin.com/8ns0XCQW(索引的div之間JS循環,假HREF)

回答

1

我在幾乎類似的問題,刪除cookies屬性,同時初始化facebook對象修復它。

變化 $facebook = new Facebook(array('appId' => APP_ID, 'secret' => APP_PW, 'cookie' => true));

$facebook = new Facebook(array('appId' => APP_ID, 'secret' => APP_PW));

+0

不工作。在問這裏之前,我嘗試了你的答案,並且在Javascript SDK中刪除了cookie,但是沒有發生:/ –