Отправляются ли входные данные в отдельных формах при нажатии кнопки отправки?

Я пытаюсь создать страницу на php, которая берет строки из базы данных, отображает их, а затем дает зрителю возможность проголосовать за или против определенной записи. Вот отрывок:

echo("<form action=\"vote.php\" method=\"post\"> \n");
echo("<INPUT type=\"hidden\" name=\"idnum\" value=\"".$row[0]."\">");
echo("<INPUT type=\"submit\" name=\"up\" value=\"Upvote.\">  \n");
echo("<INPUT type=\"submit\" name=\"down\" value=\"Downvote\"> ");
echo("<form/>\n");

Проблема в том, что когда я нажимаю кнопку отправки, отправляемое значение idnum основывается на том, что кажется наиболее удаленным. Итак, мои вопросы: когда нажата кнопка отправки, отправляются ли значения для всех входов на странице?

Я хотел бы прокомментировать, что echo не является функцией (т.е. оно не должно быть echo (...)), это оператор, поэтому echo следует использовать как: echo "text" Second. Было бы легче читать, если бы вы просто сделал это:?> <form action = "vote.php" method = "post"> <INPUT type = "hidden" name = "idnum" value = "<? php echo $ row [0];?>">

UnkwnTech 01.11.2008 11:55
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
1
598
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ваша форма закрыта неправильно. Используйте </form> вместо <form/>.

Проблема с вашим html в том, что у вас должен быть </form>, а не <form/>.

Ответ принят как подходящий

Тег формы не закрыт должным образом. У вас есть <form/>, но это должен быть </form>.

Это делает всю страницу формой, поэтому она отправляет все входные данные. Однако, если форма закрыта правильно, она будет отправлять только входные данные в тегах формы, в которых была нажата кнопка.

Хотя это не помогло бы с этой конкретной проблемой, я бы рекомендовал не смешивать вашу разметку с вашей логикой, где это возможно. Это гораздо более читабельно и гораздо более доступно для редактирования:

<form action = "vote.php" method = "post">
    <input type = "hidden" name = "idnum" value = "<?php echo $row[0]; ?>">
    <input type = "submit" name = "up" value = "Upvote.">
    <input type = "submit" name = "down" value = "Downvote">
</form>

Другие вопросы по теме