![](/img/trans.png)
[英]redirect user to another php page in facebook app not working properly
[英]delayed redirect user in php in a facebook app
我已经创建了一个Facebook应用程序,我希望用户在填写表格后自动重定向,但实际上并没有真正重定向到用户Facebook主页,而是会在应用程序上显示一个Facebook链接。
<?php
print "Records added to the database";
sleep(10);//seconds to wait..
header("Location:http://www.facebook.com"); ?>
这就是我在做Facebook连接其工作方式的方式,
require 'facebook.php';
$facebook = new Facebook(array(
'appId' => 'YOUR_APP_ID',
'secret' => 'YOUR_APP_SECRET',
));
// Get User ID
$user = $facebook->getUser();
if ($user) {
try {
// Get the user profile data you have permission to view
$user_profile = $facebook->api('/me');
echo "<pre>";
print_r($user_profile);
echo "</pre>";
} catch (FacebookApiException $e) {
$user = null;
}
} else {
die('<script>top.location.href="'.$facebook->getLoginUrl().'";</script>');
}
你不能用php做到这一点。 在打印后进入休眠状态,然后重定向,php不会在客户端运行,它只会在休眠10分钟后发送整个输出,这不起作用并且不是您想要的,它在执行print时已经创建了标头,然后添加了另一个标头,浏览器将不遵循第二个标头。 实际上,您应该通过php收到一个警告,指出已经发送了标头。
您需要的是xxx之后的javascript重定向,如下所示:
<script type="text/javascript"> window.setTimeout(function(){window.location="http://facebook.com";},10000) </script
尝试这个:
echo '<fb:redirect url="'.$url.'"/>';
试试这个
$loginUrl= "facebook.com";
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
将http://放在链接中,并确实将其重定向,
$loginUrl= "http://facebook.com";
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
仍然找不到延迟延迟重定向的方法,尝试了很多JavaScript,但是在Facebook中,由于iframe,我猜它无法正常工作。 仅上述声明有效地工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.