我是编码和开发网站的新手,对于我的第一个项目,我决定使用PHP,JQuery和MySQL建立一个点击网站。 但是,我遇到了一个问题。通过在图像上使用click()函数,我可以轻松地将clout变量增加1,并且按钮上的文本会发生变化,但是当我尝试单击按钮将变量发送到我的php文件时,没有发生。有帮助吗?我在下面留下了所需的代码。
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上手动输入(减去变量)。
任何帮助将不胜感激!
答案 0 :(得分:-1)
改变&#34; +&#34;到&#34;。&#34;连接并添加到mysql_query函数的连接。
<?php
require 'core.inc.php';
require 'connect.inc.php';
// ALWAYS parse data from client to prevent SQL Inyection
$clout = intval( $_POST['variable'] );
// Change "+" to "." to concatenate
$query = "UPDATE `users` SET `clout` = `clout` + ".$clout." WHERE `id` = '".$_SESSION['user_id']."'";
// Add connection and you should use "mysqli"
if ( mysql_query( $query, $conn ) )
{
header('Location: index.php');
}
?>