0
我对编码和开发网站相当陌生,对于我的第一个项目,我决定使用PHP,JQuery和MySQL制作一个答题器网站。 但是,我遇到了一个问题。通过在图像上使用click()函数,我可以轻松地将clout变量加1,并且按钮上的文本会发生变化,但是当我尝试单击按钮将变量发送到我的php文件时,发生。任何帮助?我在下面留下了所需的代码。如何设置一个PHP变量等于一个JQuery变量,然后将其插入到MySQL数据库中?
click.php:
<div class="container-main">
<img src="img/inCloutWeTrust.JPG" id="cloutImg" onclick="addClout()" />
</div>
<input type="submit" id="submitB" value="No Clout Available To Claim!" id="text" class="cloutButton">
</div>
<script>
var clout = 0;
$("#cloutImg").click(function() {
clout += 1;
if (clout == 1) {
$("#submitB").val('Claim 1 Clout Token');
} else if (clout > 1) {
$("#submitB").val('Claim ' + clout + ' Clout Tokens');
}
});
$("#submitB").click(function() {
$.post("addclout.php", {variable: clout});
});
</script>
addclout.php
<?php
require 'core.inc.php';
require 'connect.inc.php';
$clout = $_POST['variable'];
$query = "UPDATE `users` SET `clout`=`clout` +".$clout." WHERE `id`='" + $_SESSION['user_id'] + "'";
if (mysql_query($query)) {
header('Location: index.php');
}
?>
我也可以肯定的是,MySQL查询是正确的,因为我手动把它(减去的变量)上的phpMyAdmin。
任何帮助,将不胜感激!
因为在PHP中至少的连接用'.'做,而不是与'+' –
也请注意,'mysql_'构造函数[**,不赞成使用PHP 5.5 **的(HTTPS:/ /wiki.php.net/rfc/mysql_deprecation),并且彻底[**在PHP 7 **中被移除](https://wiki.php.net/rfc/remove_deprecated_functionality_in_php7#extmysql)。请考虑切换到[** MySQLi **](http://php.net/manual/en/book.mysqli.php)或[** PDO **](http://php.net/manual/ en/book.pdo.php),确保您还使用[**参数化查询**](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)来防止[** SQL注入**](https://en.wikipedia.org/wiki/SQL_injection):) –
在PHP中,您使用'.'连接。如果您没有对这些输入进行过滤,您将会很快成为最好的队友(https://xkcd.com/327/)。 – Stuart