我有一个facebook应用程序在php工作没有任何问题的身份验证。用户登录后,应用程序获得所需的权限,他们浏览页面。但我有一个名为sender.php的页面,需要重复8次。
所以这是不工作的场景:1)用户在sender.php中2)点击提交,(动作表单设置为"sender.php")浏览器再次显示sender.php表单3)用户再次在文本输入中输入一些东西,并点击提交按钮4)空白页显示没有任何内容;(请注意,它只适用于第一次点击,第二次它只显示一个空白页面,没有任何错误或通知。)
下面是sender.php中的HTML代码:(这里使用的第一个PHP代码与其他PHP页面相同,并且没有任何错误)
<?php
require_once("config.php");
require_once("database.php");
require_once("facebook_include1.php");
ini_set('display_errors', 1);
error_reporting(E_ALL);
$me = $facebook->api('/me');
$access_token = $facebook->getAccessToken();
$user = $facebook->getUser();
if (isset($_GET['moneySent'])) {
$moneySent = round($_GET['moneySent']);
$senderBalance = $_GET['balance'];
$senderRate = $_GET['senderRate'];
$receiverRate = $_GET['receiverRate'];
}
?>
<script type="text/javascript">
function validateForm() {
var isValid = true;
var moneySent = document.getElementById("moneySent").value;
var balance = document.getElementById("balance").value;
if (!document.getElementById("moneySent").value.length)
{
delete window.alert;
alert("Please enter an amount you want to send!.");
isValid = false;
}
else if (isNaN(moneySent))
{
delete window.alert;
alert("Please enter a numeric value.");
isValid = false;
}
else if (Math.round(moneySent) > balance) {
delete window.alert;
alert("The amount you want to send should be less than your balance.");
isValid = false;
}
return isValid;
}
</script>
<form action="sender.php" method="get" name="sendFor" onsubmit="return validateForm();">
<div class="yui-u">
<input type="text" id="moneySent" name="moneySent" style="width:100px"/>
<input type="hidden" name="balance" id="balance" value='<?php echo $senderBalance ?>'/>
<input type="hidden" name="senderRate" id="senderRate" value='<?php echo $senderRate ?>'/>
<input type="hidden" name="receiverRate" id="receiverRate" value='<?php echo $receiverRate ?>'/>
</div>
<div class="yui-u">
<input type="submit" name="btnsearch" id="btnsearch" value=" Send > " class="search" style="margin-left:-6.5px" /><br />
</div>
</form>
任何想法都非常感谢。我使用php5和apache与最新的facebook sdk for php。
更新:我在Firefox中进行了测试。然而,如果我使用IE8并添加target="_blank"的表单标签,页面是走出facebook画布,但开始正常工作,有什么想法吗?
我已经将action="sender.php"更改为action="#",它在IE和firefox中都可以工作。不知道有什么区别!!