2014-05-19 27 views
0

我有一個表從數據庫表中選擇結果,每個記錄有一個按鈕回顯(DeleteButton)。我希望這個刪除按鈕刪除選擇的ROw(記錄)。 我的代碼如下,我已經縮小了'id'不正確POST/GET的問題。我認爲該表單沒有正確傳遞該ID。有人可以幫忙嗎?PHP問題:刪除按鈕在錶行中回顯GET/POST

形式。在一個表格單元格:

echo "<td>" 
.' 
<form id="DeleteUser" action="DeleteUser.php" method"post"> 
<input type"text" name="id" value=" '.$row['user_id'].' " hidden /> 
<input type="submit" value="Delete"> 
</form> 
'. 
"</td>"; 
echo '</td>'; 

刪除語句(DeleteUser)(DeleteUser.php):

<?php 


$stmt = $con->prepare("DELETE FROM users WHERE user_id = ?"); 
$stmt->bind_param('sissi',$_GET['id']); 
$stmt->execute(); 
$stmt->close(); 


?> 
+0

請發佈上面的PHP代碼生成的HTML – Ejaz

+0

PHP生成一個空白的html代碼。 – user3247335

+0

您在表單中指定表單提交方法爲POST,但試圖從'DeleteUser.php'中的'$ _GET'中讀取值;它應該是'$ _POST' –

回答

2

$stmt->bind_param語句你的第一參數有5點不同的參數。你只能通過一個。將其更改爲:

$stmt = $con->prepare("DELETE FROM users WHERE user_id = ?"); 
$stmt->bind_param('i',$_GET['id']); 
$stmt->execute(); 
$stmt->close(); 

您必須確保$_GET['id']也是int值。

在您的<input type"text" name="id" value=" '.$row['user_id'].' " hidden />行上,除去值爲=的連接空格。所以你有value="'.$row['user_id'].'"

我還建議做一些檢查以確保不能進入並刪除不同的用戶,只需在那裏輸入一個不同的數字,隨機或其他。

+0

正是我需要的,非常感謝你 – user3247335