0

到目前为止,我有一些代码至少已经检查了 30 次,它已经困扰了我好几个月(真的)。我已经修复了我看到的尽可能多的错误,但它根本不起作用。我希望任何读者都能发现我的错误......

好的,所以代码只是一个关于鼠标悬停效果的 ajax 请求,它将数据发布到另一个页面,在该页面中接收数据。请看一下:

这是ajax请求:

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

这就是请求 - 现在这里是接收页面,results.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 回答