Php 成功登录fbconnect后如何刷新页面

Php 成功登录fbconnect后如何刷新页面,php,javascript,facebook,Php,Javascript,Facebook,我正在尝试运行这里提供的基本fb connect示例 一切正常,但页面在登录后不会刷新 我怎样才能做到这一点呢?看看那里的指南,当您收到JavaScript登录的响应时,可以在JavaScript中完成重新加载。因此,您可以在JavaScript中使用: window.location.reload() 摘自与此问题类似的另一篇文章 修改您的以包含以下内容:onlogin=“afterFbLogin()”,您应该具有以下内容: function displayLoginButton() {

我正在尝试运行这里提供的基本fb connect示例

一切正常,但页面在登录后不会刷新


我怎样才能做到这一点呢?

看看那里的指南,当您收到JavaScript登录的响应时,可以在JavaScript中完成重新加载。因此,您可以在JavaScript中使用:

window.location.reload()

摘自与此问题类似的另一篇文章

修改您的以包含以下内容:
onlogin=“afterFbLogin()”
,您应该具有以下内容:

function displayLoginButton() {
    echo '<fb:login-button show-faces="false" width="600" max-rows="1" scope="publish_stream, manage_pages, email" onlogin="afterFbLogin()"></fb:login-button>';
}
函数displayLoginButton(){
回声';
}

然后声明afterfbLogin()函数以执行类似于
window.location.reload()

的操作最好的方法是将表单引用到外部php脚本,并让该脚本将您重定向回主页面。。。例如:

if($userid=='admin'&&$pass=='password'){
    $_SESSION['userid']='username';
    echo '<script language="javascript">window.alert("You are now logged in.");';
    echo 'top.location.href = "../index.php";';
    echo '</script>'; 
}
if($userid=='admin'&&$pass=='password'){
$\会话['userid']='username';
echo“window.alert”(“您现在已登录”);
echo'top.location.href=“../index.php”;
回声';
}

我已经添加了该代码,但看起来回调函数没有被调用。我尝试放置一个简单的警报(),但这也不起作用。您是否尝试将警报添加到调用的其他部分,因此如果您没有收到response.session,它将向您发出警报?是的,也尝试过。真的很沮丧。它在第一次授权后被刷新。但在那之后,它永远不会自动刷新。这可能是因为一旦您登录,当您返回时,它会知道您已登录(通过存储的cookie),因此不会再次进行身份验证。在检查cookie是否存在的PHP文件中,您可能希望从此处重定向到另一个文件(使用
标题(“Location:page.PHP”);
)。最后,如果一个页面在登录时刷新,并且在该页面上保持刷新,它只会循环刷新,没有别的。然后我从facebook上注销,清除缓存、cookies等(一切)。然后我回到同一个页面,现在当我再次点击登录按钮时,它会提示我输入电子邮件和密码,在提供信息并说登录窗口消失后。它应该刷新父页面并显示“您的Id是…”。但事实并非如此。