我正在用php开发一个FB应用程序。它适用于大多数浏览器。
然而,当我按下图像链接甚至是按钮时出现问题,会发生的情况是整个页面重新加载并保持在同一页面中。因此,如果我在index.php中并且为next.php设置了链接,则页面将重新加载并继续在index.php中。这种情况发生在IE 9中,奇怪的是发生在我的朋友的firefox中,它使用相同的版本,但在Mac上(我在另一台PC上测试并在firefox,chrome和opera上运行良好)。
这个问题发生在safari中,但我能够通过更改绝对URL的所有相对URL来解决它,但问题仍然存在于IE上,它有时出现在Firefox上...
我已经在http://validator.w3.org/中找到了代码。 我正在使用Win 7。
任何帮助或建议可能会受到欢迎,此时我很无能为力。
以下是代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
session_start();
$_SESSION = array();
require_once "configuration/config.php";
$friends = $facebook->api('me/friends');
if(count($friends['data']) < 20)
header('Location: https://tratamentoquedadecabelo.com/diogo/notEnough.php');
$query_user_participant = "SELECT id FROM user WHERE id = $fb_user_id AND participant = 1";
$query_minimum_answers = "SELECT * FROM survey_answers WHERE User_has_friend_User_id = $fb_user_id";
$res_query_minimum_answers = mysql_query($query_minimum_answers);
$res_query_user_participant = mysql_query($query_user_participant);
if($res_query_user_participant == true && mysql_num_rows($res_query_minimum_answers) > 19)
{
//user already did the study
header('Location: https://tratamentoquedadecabelo.com/diogo/studyAlreadyDone.php');
}
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<title></title>
<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
<body>
<div id="fb-root"></div>
<script src="https://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript">
FB.init({
appId : '********************',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
</script>
<script type="text/javascript">
FB.Canvas.setSize({ width: 800, height: 715 });
</script>
<br/>
<h2 id="lang_title">Choose language</h2>
<div id="british">
<a href="https://tratamentoquedadecabelo.com/diogo/startPage.php?language=british">
<img class="effect" src="https://tratamentoquedadecabelo.com/diogo/images/british.jpg" width="200" height="150" alt="british_flag" /></a>
</div>
<div id="portuguese">
<a href="https://tratamentoquedadecabelo.com/diogo/startPage.php?language=portuguese">
<img class="effect" src="https://tratamentoquedadecabelo.com/diogo/images/portuguese.jpg" width="200" height="150" alt="portuguese_flag" /></a>
</div>
</body>
</html>
答案 0 :(得分:0)
通过在文件开头写下这行代码来解决Internet Explorer的问题:
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
问题是默认情况下IE不允许第三方cookie。有关此here的更多信息。 因此,如果用户手动禁用第三方cookie,则此类问题将持续存在。