Форма HTML представляет PHP скрипт
Я делаю HTML-форму. Я хочу, чтобы результаты отображались в PHP script.
<form action="chk_kw.php" method="post"> <br />
<select> name="website_string"
<option value="" selected="selected"></option>
<option VALUE="abc"> ABC</option>
<option VALUE="def"> def</option>
<option VALUE="hij"> hij/option>
</select>
<input type="submit" name="website_string" >
</form>
Проблема в том, что я не могу получить значение, переданное PHP. если я использую значение:
<INPUT TYPE="submit" name="website_string" value="selected" >
Он всегда передает текст в кавычках. В этом случае "selected"
. Как передать одну из строк из этой опции?
Ответы
Ответ 1
Попробуйте следующее:
<form method="post" action="check.php">
<select name="website_string">
<option value="" selected="selected"></option>
<option VALUE="abc"> ABC</option>
<option VALUE="def"> def</option>
<option VALUE="hij"> hij</option>
</select>
<INPUT TYPE="submit" name="submit" />
</form>
И ваш элемент управления select, и ваша кнопка отправки имели тот же атрибут name
, поэтому последним из них была кнопка отправки при нажатии на нее. Все остальные синтаксические ошибки в стороне.
check.php
<?php
echo $_POST['website_string'];
?>
Обязательная оговорка об использовании необработанных $_POST
данных. Санизировать все, что вы действительно будете использовать в логике приложений.
Ответ 2
<form method="POST" action="chk_kw.php">
<select name="website_string">
<option selected="selected"></option>
<option value="abc">abc</option>
<option value="def">def</option>
<option value="hij">hij</option>
</select>
<input type="submit">
</form>
- По мере того как ваша форма становится более сложной, вы
можно быстро проверить в верхней части вашего php
script с помощью
print_r($_POST);
,
он покажет, как будет отправлено соответствующее имя элемента.
-
Чтобы получить представленное значение этого элемента, выполните следующие действия:
$website_string = $_POST['website_string'];
Ответ 3
Похоже, что в PHP вы получаете значение кнопки отправки, а не вход выбора. Если вы используете GET, вы захотите использовать $_GET['website_string']
или POST будет $_POST['website_string']
.
Вероятно, вам понадобится следующий HTML:
<select name="website_string">
<option value="" selected="selected"></option>
<option value="abc">ABC</option>
<option value="def">def</option>
<option value="hij">hij</option>
</select>
<input type="submit" />
С некоторым PHP, который выглядит так:
<?php
$website_string = $_POST['website_string']; // or $_GET['website_string'];
?>
Ответ 4
Предполагая, что вы исправили синтаксические ошибки (вы закрыли поле выбора перед атрибутом name), вы используете то же имя для окна выбора в качестве кнопки отправки. Дайте поле выбора другому имени.
Ответ 5
Для вашей фактической формы, если вы просто опубликуете результаты на своей странице, это, вероятно, должно сработать. Попробуйте что-то вроде:
<form action=<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?> method="POST>
Ответ 6
Вот что я нахожу работы
Итак, если форма отправлена, использование JavaScript для остановки процесса отправки может быть реализовано и проверено на сервере.
- Попробуйте использовать атрибуты HTML5, теперь они поддерживаются.
Этот ввод
<input type="submit">
должен быть
<input name="Submit" type="submit" value="Submit">
всякий раз, когда я использую несоответствующую форму, это сбой из-за разницы в вызове имени кнопки submit
и имени submit
.
Вы также должны установить свой атрибут enctype для своей формы, поскольку формы не выполняются на моем веб-хосте, если он не установлен.