認証の問題なく動作するFacebookアプリをphpに持っています。ユーザーがログインすると、アプリは必要な権限を取得し、ページをナビゲートします。しかし、8回繰り返す必要があるsender.phpというページがあります。
1) ユーザーが sender.php にいる 2) 送信をクリックすると、(アクションフォームが「sender.php」に設定されているため) ブラウザーは再び sender.php フォームを表示します 3) 再びユーザーテキスト入力に何かを入力し、送信ボタンをクリックします。 4) 何も表示されない空白のページが表示されます。(最初のクリックでのみ機能することに注意してください。2 回目は、エラーや通知なしで空白のページのみが表示されます。)
ここに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をphp用の最新のfacebook sdkで使用しています。
更新: Firefox でテストしました。ただし、IE8 を使用して form タグに target="_blank" を追加すると、ページは Facebook キャンバスからはみ出しますが、正常に動作し始めます。