2013-04-17 74 views
0

雖然我遵循http://api.jquery.com/jQuery.post/的示例代碼,當然Stackoverflow我無法找到解決我的問題。AJAX發佈到php

我具有其中每次用戶點擊它的HTML一個切換的圖像,改變圖像,並更新DB.Here列是代碼:

HTML

<input type="image" src="smileys/heart.gif" class="play" onclick="toggle(this,'<?php echo $ida;?>')"/> 

AJAX

function toggle(el,al){ 
     if(el.className=="play") 
     { 
      el.src='smileys/lol.gif'; 
      el.className="pause"; 
    $.post("update.php", { "hr": 1, "ida": al }); 

     } 
     else if(el.className=="pause") 
     { 
      el.src='smileys/heart.gif'; 
      el.className="play"; 
    $.post("update.php", { "hr": 0, "ida": al }); 
     } 
     console.log(al); 
     return false; 
    } 

update.php

<?php 
$host  = "localhost"; 
$user  = "user"; 
$pass  = "pass"; 
$database = "db"; 

$heart=$_GET["hr"]; 
$ida=$_GET["ida"]; 

$con = mysql_connect($host,$user,$pass); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
mysql_select_db($database, $con); 
mysql_query("UPDATE tablename SET heart='$heart' WHERE id='$ida'"); 
?> 

的切換功能運作良好,但DB未更新,當用戶點擊和圖像。 我相信它與$.post函數有關,不正確地發送數據到php。

順便說一句,如果我做

http://domain.com/update.php?hr=1&ida=127 

它的工作原理。

注意:我正在使用mysql而不是PDO僅用於此示例。 ...是的,我的代碼是混亂和醜陋的,仍然在學習。 有什麼幫助嗎? 謝謝

+0

「我正在使用mysql而不是PDO僅用於這個例子」 - 而且你這樣做的方式會造成巨大的安全漏洞。 – Quentin

+0

「仍在學習」 - 爲什麼你在學習已棄用的API,而不是更好的API,這將繼續得到很好的支持? – Quentin

+0

這意味着我將在最終決定時將其轉換爲PDO。 – Theodoros80

回答

3

嗯,這是一個_POST請求,而不是_GET,因此,要捕獲它的值,您需要使用$_POST而不是$_GET

另外,正如我注意到的那樣,有_GET鏈接,所以你需要改變你的$.post$.get

+1

或更改JS的'$ .get'而不是'$ .post' –

+0

我很尷尬:(很簡單!謝謝。我會接受我的時間。 – Theodoros80

+0

@PhilippeBoissonneault也是。 –