2017-07-26 83 views
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。

任何幫助,將不勝感激!

+2

因爲在PHP中至少的連接用'.'做,而不是與'+' –

+1

也請注意,'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):) –

+1

在PHP中,您使用'.'連接。如果您沒有對這些輸入進行過濾,您將會很快成爲最好的隊友(https://xkcd.com/327/)。 – Stuart

回答

-1

將「+」更改爲「。」。連接並添加連接到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'); 
    } 
?> 
相關問題