php - 如何为表单操作创建一个唯一的$ _POST?

时间:2015-03-05 17:47:56

标签: php

我很难找到解决方法。在这种情况下,假设我在数据库中有5本书,我将通过执行while然后mysql_fetch_array来显示它们,假设我创建了一个表。这是情节

echo"
<td>
<form action='bookext.php' method='post'>
<input type='submit' value='".$row['book_title']."'  style='border: 0; background: transparent';>WHAT TO PUT HERE</form></td>";

$row['book_title']工作正常,因为它必须显示数据库中书籍的标题。但是,如何才能获得book_id的唯一值并将其发送到bookext.php
PS:对不起我的头衔,我不能说出正确的英文

3 个答案:

答案 0 :(得分:1)

首先,您当前的输入需要名称属性:

 "<input type='submit' name="title" value='".$row['book_title']."'  style='border: 0; background: transparent';>WHAT TO PUT HERE</form></td>";

由于您正在使用POST方法,因此可以确保$_POST数组中的值可用,例如$_POST['title']

对于id,您可以向表单添加隐藏的输入:

"<input type='hidden' name='book_id' value='".$row['book_id']."'>"

当您提交时,$_POST['book_id']可以使用此功能。

答案 1 :(得分:0)

只需在表单中插入隐藏字段

即可
<input type="hidden" name="POST_NAME" value="YOUR_VALUE_TO_IDENTIFY">

答案 2 :(得分:0)

不要在表格中使用表格。

<form action='bookext.php' method='post'>
<table>
<tr>
<?php foreach($books AS $book){ ?> 
<td>
  <button type="submit" name="bookId" value="<?php echo $book['id']; ?>">
    Title of the book
  </button>
</td>
<?php } ?>
</tr>
</table>
</form>

bookext.php

<?php
$id = $_POST['bookId'];