Я делаю HTML-форму. Я хочу, чтобы результаты отображались в скрипте PHP.
<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"
. Как передать одну из строк из этой опции?
Попробуй это:
<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>
Как ваш элемент управления, так и кнопка отправки имеют одинаковый атрибут name
, поэтому последним из них была кнопка отправки, когда вы ее нажали. Все остальные синтаксические ошибки.
<?php echo $_POST['website_string']; ?>
Обязательное отказ от использования необработанных
$_POST
данных. Санируйте все, что вы на самом деле будете использовать в логике приложения .
<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>
print_r($_POST);
, он покажет, что передается соответствующее имя элемента. Чтобы получить представленное значение элемента, о котором идет речь, выполните:
$website_string = $_POST['website_string'];
Похоже, что в 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']; ?>
Предполагая, что вы исправили синтаксические ошибки (вы закрыли поле выбора перед атрибутом name), вы используете то же имя для окна выбора в качестве кнопки отправки. Укажите в поле выбора другое имя.
Для вашей фактической формы, если вы просто опубликуете результаты на своей странице, это, вероятно, все будет в порядке. Попробуйте что-нибудь вроде:
<form action=<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?> method="POST>
Вот что я нахожу работы
form name
Используйте default select option
, например …
<option value="-1" selected>Please Select</option>
Таким образом, если форма отправлена, использование JavaScript для остановки процесса отправки может быть реализовано и проверено на сервере.
Этот вход
<input type="submit">
должно быть
<input name="Submit" type="submit" value="Submit">
всякий раз, когда я использую форму, которая терпит неудачу, это сбой из-за разницы в вызове имени кнопки и имени submit
.
Вы также должны установить свой атрибут enctype для своей формы, если формы не выполняются на моем веб-хосте, если они не установлены.