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