[英]HTML Hidden input not working table insided form
我需要回顯$_POST['selected_for_del']
但問題是我沒有得到正確的ID,該ID放置在html隱藏的輸入中。 我究竟做錯了什么? 隱藏的輸入中有問題嗎?
<?php
$q = mysqli_query($conn,"SELECT * FROM news_post LIMIT 30");
echo '
<form action="" method="post">
<table style="width:100%">
<tr>
<th>POST ID</th>
<th>Post Title</th>
<th>Menu Name</th>
<th>Is it event?</th>
<th>Is it top?</th>
<th>Is it roling?</th>
<th>Delete Post</th>
</tr>
';
while ($row = mysqli_fetch_array($q)) {
$post_id = $row['post_id'];
$post_title = $row['post_title'];
//$post_text = $row['post_text'];
$menu_name = $row['menu_name'];
$is_event = $row['is_event'];
$is_roling = $row['is_roling'];
$is_top = $row['is_top'];
$img_name = $row['img_name'];
//return_yes_no_on_true_false($is_event);
echo '
<tr>
<td>'.$post_id.'</td>
<td><a href="post_id='.$post_id.'">'.$post_title.'</a></td>
<td>'.$menu_name.'</td>
<td>'.return_yes_no_on_true_false($is_event).'</td>
<td>'.return_yes_no_on_true_false($is_top).'</td>
<td>'.return_yes_no_on_true_false($is_roling).'</td>
<td><input type="hidden" name="selected_for_del" value="'.$post_id.'"></td>
<td><br><input type="submit" name="submit_delete" value="Delete it"><br></td>
</tr>
';
}
echo '</table></form>';
if (isset($_POST['submit_delete'])) {
echo $_POST['selected_for_del'];
}
?>
您只有一個表單,因此在提交表單時,您將提交所有隱藏的輸入。
由於您想知道與單擊的“提交”按鈕關聯的輸入,並且由於同一行上沒有其他表單控件,因此有兩個選項:
忘記隱藏的輸入
而是將數據存儲在“提交”按鈕上。
<button name="selected_for_del" value="<?=htmlspecialchars($post_id);?>"> Delete it</button>
將表格放入單元格
不要在整個桌子周圍放表格。 在保存該按鈕的表格單元內,在每個提交按鈕周圍放置一個單獨的表單。 將隱藏的輸入移至該單元格。
<td>
<form method="post">
<input type="hidden" name="selected_for_del" value="<?=htmlspecialchars($post_id);?>">
<input type="submit" name="submit_delete" value="Delete it">
</form>
</td>
嘗試將表單放入循環中...打印出來時,該表單中有許多具有相同名稱和不同值的隱藏輸入。
您的問題是表單在循環之外,並且如果所有行的隱藏輸入都相同,則名稱將為循環外,結果是您將始終刪除最后一行。
這不是最佳的解決方案,但我建議以下幾點:
1)刪除隱藏的輸入。
2)更換:
<input type="submit" name="submit_delete" value="Delete it">
與
<button type="submit" name="selected_for_del" value=".$post_id.">'Delete it'</button>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.