我对网站的编码和开发相当陌生,在我的第一个项目中,我决定使用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上(减去变量)。
任何帮助都将不胜感激!
发布于 2017-07-26 20:36:49
将"+“改为”。“连接并添加到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');
}
?>https://stackoverflow.com/questions/45336784
复制相似问题