Как сделать уникальный $ _POST для действия формы?

0

У меня проблемы с решением этого. Вот так, предположим, что у меня есть 5 книг в базе данных, я mysql_fetch_array их, выполнив некоторое 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: Извините за мой титул, я не могу вытащить правильный английский

  • 0
    Создайте скрытый вход с идентификатором книги. Кроме того, ваш вход выше нуждается в атрибуте name , например name="title"
  • 0
    Что делает атрибут name ?
Показать ещё 3 комментария
Теги:

3 ответа

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'].

Для идентификатора вы можете добавить скрытый ввод в свою форму:

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

Это будет доступно вам в $_POST['book_id'] при $_POST['book_id'].

  • 0
    Спасибо! Но я не могу echo название книги на опубликованной странице :(
  • 0
    Если вы $_POST['book_title'] на опубликованной странице, это сработает.
Показать ещё 3 комментария
0

Просто вставьте скрытое поле в свою форму

<input type="hidden" name="POST_NAME" value="YOUR_VALUE_TO_IDENTIFY">
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'];
  • 0
    Имо, используя buttons для этого, на самом деле лучше, чем иметь дело со hidden вводами
  • 0
    Если вы спросите w3schools, вы не должны; msgstr "разные браузеры могут отправлять разные значения". Но это всегда работает для меня.
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню