php Одна и та же форма несколько раз на одной странице - PullRequest
1 голос
/ 25 июня 2011

Итак, у меня одна и та же форма 2-3 раза на одной и той же странице, которая является вопросом для опроса, и она генерируется динамически из базы данных, так что она такая же, как и у других, но когда я нажимаю кнопку отправки, я могу также проголосовать за остальных, так каккнопка на каждом имеет одно и то же имя с другими ...

как я могу это исправить, чтобы она не влияла на другие опросы?

форма выглядит следующим образом:

<form action="" method="post" name="form">
radio buttons here...
<input type="submit" value="Vote" name="btn" />
</form>

Ответы [ 3 ]

2 голосов
/ 25 июня 2011

Вы можете иметь другое имя для каждой формы или скрытое поле в каждой форме, которое сообщает идентификатор вопроса.

<form action="" method="post" name="form">
radio buttons here...
<input type="hidden" name="poll_id"  value="(Your_question_id)">
<input type="submit" value="Vote" name="btn" />
</form>

Итак, после этого в вашей SQL-части просто добавьте poll_id здесь в предложении WHERE. Думаю, что это должно работать

1 голос
/ 25 июня 2011

самое простое решение - изменить действие формы - тогда оно будет указывать на другой URI, который должен сделать свое дело:

<form action=".../vote/id-of-first-poll">
...
</form>

<form action=".../vote/id-of-second-poll">
...
</form>

<form action=".../vote/id-of-third-poll">
...
</form>

, тогда вы просто примените этот переданный идентификатор из URL к вашему "где"в запросе на обновление ...

Кстати: не знаю, насколько вы продвинуты, поэтому, если вы не используете какой-либо фреймворк, вероятно, будет намного проще иметь URL-адреса, подобные этому:

  • voice.php? Id = id-of-first-poll
  • voice.php? Id = id-of-second-poll
  • и т. Д.

тогда вы можете получить этот идентификатор по $ _GET ["id"]

1 голос
/ 25 июня 2011

Вы должны использовать поле id для ваших форм.У меня также есть несколько форм на моих сайтах.Поэтому я всегда отправляю скрытое поле с именем формы (id) обратно на сервер.Когда в моем приложении поступают запросы POST, я сначала читаю скрытое поле с идентификатором формы.Вы можете сделать то же самое, чтобы вы знали идентификатор опроса.Я не понимаю вашей проблемы, когда пользователь не выбирает какую-либо кнопку.

...