0

私は今までに少なくとも 30 回は調べたコードをいくつか持っており、何ヶ月も (本当に) 悩まされてきました。見た限り多くのエラーを修正しましたが、うまくいきません。これを読んだ人が私の間違いを見つけてくれることを願っています...

わかりました。このコードは、データが受信される別のページにデータを投稿するマウスオーバー効果に対する単純な ajax 要求です。ご覧ください:

ajax リクエストは次のとおりです。

$(document).ready(function () {
    $("#secretcoin").mouseover(function () {
        $.ajax({
            type: "POST",
            url: "achievements.php",
            data: {
                Home_Coin_Locator: "Yes"
            },
            error: errorAlert
        });
    });
});

以上がリクエストです。受信ページは achievement.php です。

$achieve4 = $_POST['Home_Coin_Locator'];
if ($achieve4 == 'Yes') {
    $awardSTRsql = "UPDATE Awards_Inv SET Home_Coin_Locator='Yes' WHERE Username = '$username'";
    mysql_query($awardSTRsql, $connection) or die(mysql_error());
    $updatestatsSTRsql = "UPDATE User_Info SET Coins = Coins + 120, Skill_Points = Skill_Points + 10, Awards = Awards + 1 WHERE Username = '$username'";
    mysql_query($updatestatsSTRsql, $connection) or die(mysql_error());
} else {}

コードを少量に減らし、精力的にチェックしましたが、それでも機能しません...

ところで、$connection は単にデータベースへの接続であり、正確であることを保証できます。$username は、提供していないコードで定義されているセッション ユーザー名ですが、変数が正確であることもわかっています...

私を助けてください!

4

1 に答える 1

0

javascript は、php ファイルを簡単にテストするために正しいようです。これを行う必要があります。

> $achieve4 = $_GET['Home_Coin_Locator']; if ($achieve4 == 'Yes') {
>     $awardSTRsql = "UPDATE Awards_Inv SET Home_Coin_Locator='Yes' WHERE Username = '$username'";
>     mysql_query($awardSTRsql, $connection) or die(mysql_error());
>     $updatestatsSTRsql = "UPDATE User_Info SET Coins = Coins + 120, Skill_Points = Skill_Points + 10, Awards = Awards + 1 WHERE Username =
> '$username'";
>     mysql_query($updatestatsSTRsql, $connection) or die(mysql_error()); } else {}

次に、/achievements.php?Home_Coin_Locator=Yes に移動し、エラーがあるかどうかを確認します。

エラーがある場合はエラーが表示されるように、php エラー報告がオンになっていることを確認してください。

于 2012-10-14T13:13:05.060 に答える