2012-11-09 135 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,但是没有发生:/ –