2014-10-27 150 views
0

當用戶點擊Submit按鈕時,我需要在我的PHP代碼中使用SQL數據庫中的數據UPDATE,但SQL代碼也需要來自表單輸入的值HTML。我嘗試將JavaScript與SQL代碼結合起來,但沒有運氣(我知道這段代碼可能不起作用,但是我寫了它來達到目的)。從用戶收集數據,通過PHP並在SQL查詢中使用

$sql = "UPDATE postsTable 
    SET ApplicationName=\"" .<script>document.getElementById("AppName").value</script>. "\" 
    WHERE PostID=3;"; 
$result = $conn->query($sql); 

如何從HTML表單獲取數據到PHP?

+0

Javascript是客戶端。 PHP是服務器端的。如果沒有兩者之間的某種橋樑,你在這裏嘗試做的事情是不可能的。 – esqew 2014-10-27 23:02:31

+0

那我該怎麼做呢?顯然很多網站(例如這裏的評論框)都有這些功能。他們如何做到這一點? – Tetsudou 2014-10-27 23:03:20

+2

HTTP請求(即['POST'](http://us1.php.net/manual/en/reserved.variables.post.php)和['GET'](http://us1.php.net/) manual/en/reserved.variables.get.php)),['SESSION'](http://us1.php.net/manual/en/reserved.variables.session.php)變量等。這取決於你。 – esqew 2014-10-27 23:04:41

回答

2

你極大地誤解了你的服務器端代碼和你的客戶端代碼之間的關係。

服務器端代碼將您的HTML頁面放在一起並將其發送到客戶端,您不能再通過服務器端代碼觸摸它。瀏覽器然後解釋它並收集您包含的所有必需資源(圖像,腳本等),然後渲染它。 HTML <form>允許您從用戶那裏收集信息,並在瀏覽器提交時將其發送回服務器,以供您處理。

在PHP中,您可以使用$_POST$_GET或甚至$_REQUEST對象來處理這些數據。 See here for POST

然而,這是方式過於簡單的事情。您需要了解一些關於客戶端 - 服務器關係的基礎知識。還有其他獲取數據的方法以及更多你需要做的事情來確保你收集的數據保持安全(就像有人發佈代碼一樣)。在客戶端 - 服務器的relationshiop和HTTP協議上查找一些視頻。

+1

「*在PHP中,您可以使用$ _POST對象來處理這些數據。*」考慮到HTML中表單的默認行爲是'GET',我不會使用這樣的覆蓋語句來回答這個問題。 – esqew 2014-10-27 23:09:33

+0

沒錯。請參閱編輯。 – OneHoopyFrood 2014-10-27 23:13:33

+1

我想指出,雖然'POST'是發送任何旨在改變服務器記錄的數據的正確方法。 – OneHoopyFrood 2014-10-27 23:20:12