0

虽然我遵循了来自http://api.jquery.com/jQuery.post/的示例代码,当然 Stackoverflow 我找不到解决我的问题的方法。

我在 html 中有一个切换图像,每次用户单击它时,都会更改图像并更新 DB 中的列。代码如下:

HTML

<input type="image" src="smileys/heart.gif" class="play" onclick="toggle(this,'<?php echo $ida;?>')"/>

AJAX

  function toggle(el,al){
        if(el.className=="play")
        {
            el.src='smileys/lol.gif';
            el.className="pause";
    $.post("update.php", { "hr": 1, "ida": al } );

        }
        else if(el.className=="pause")
        {
            el.src='smileys/heart.gif';
            el.className="play";
    $.post("update.php", { "hr": 0, "ida": al } );
        }
        console.log(al);
        return false;
    }

更新.php

<?php 
$host       = "localhost";
$user       = "user";
$pass       = "pass";
$database   = "db";

$heart=$_GET["hr"];
$ida=$_GET["ida"];

$con = mysql_connect($host,$user,$pass);
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db($database, $con);
mysql_query("UPDATE tablename SET heart='$heart' WHERE id='$ida'");
?>

切换功能运行良好,但当用户单击图像时,数据库不会更新。我相信它与$.post函数有关,没有将数据正确发送到 php.ini。

顺便说一句,如果我这样做

http://domain.com/update.php?hr=1&ida=127

有用。

注意:我只在这个例子中使用 mysql 而不是 PDO。...是的,我的代码又乱又丑,还在学习。有什么帮助吗?谢谢

4

1 回答 1

3

嗯,这是一个 _POST 请求而不是 _GET,因此,要捕获它的值,您需要$_POST使用$_GET.

另外,正如我注意到的,还有 _GET 链接,所以你需要$.post$.get.

于 2013-04-17T14:09:15.467 回答