我試圖創建一個列出數據庫表中所有行的HTML表。然後,在每一行旁邊我想要一個按鈕,以便用戶可以刪除該條目。我創建了表格,但無法使按鈕正常工作。PHP - 使用按鈕刪除數據
我一直在尋找,我發現這個職位How to Call a PHP Function on the Click of a Button,但我不能得到它的工作。我從來沒有使用Ajax,所以我可能無法正確理解代碼。
下面是代碼:
去通過表中的所有數據,併爲每個條目
<?php
for ($x = 0; $x < sizeof($data); $x++) {
?>
<input type="submit" class="tableButton" name="<?php echo $x ?>" value="<?php echo $x ?>">
<?php
}
?>
當tableButton被點擊,它的值發送到AJAX創建一個按鈕。 PHP
$('.tableButton').click(function() {
var clickBtnValue = $(this).val();
var ajaxurl = 'ajax.php',
data = { 'action': clickBtnValue };
$.post(ajaxurl, data, function (response) {
});
});
ajax.php
獲取被按下的鍵的值,並用它做什麼
<?php
if (isset($_POST['action'])) {
$data = $_POST['action'];
echo $data;
}
?>
目前我只是把它呼應的值來測試它,但它顯示什麼。我會做的是運行此查詢:
DELETE from myTable WHERE id = $data;
或者,如果有人知道更好的方法來做到這一點,請讓我知道。
編輯
做更多搜索後,我發現爲什麼這是不工作我沒有料到。由於我懷疑自從我從未使用過AJAX,所以我不知道回聲不會直接打印到屏幕上。我只是將回聲更改爲刪除查詢,並對其進行了測試,並且它可以工作...所以代碼很好,但我認爲我應該在某個時候學習AJAX。感謝所有的答覆。
我也意識到可能在這裏的SQL注入,這只是一個快速的模擬,謝謝。
這是一個不錯的SQL注入漏洞。 –
@André:信用在何處:至少OP知道'isset' ...對於OP:如果用戶將您的按鈕的值更改爲_「%」_,那麼在查詢中使用該值會給出如下結果:'DELETE FROM myTable WHERE id =「%」',那不是你要求的安全,是嗎? –
這裏:[我怎樣才能防止SQL注入在PHP?](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)與一個很好的例子注入準備好的語句,你幾乎可以將它複製/粘貼到你的PHP代碼中而不是'echo $ data'中並調整查詢。 –