Подтвердить что ты не робот

Форма 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". Как передать одну из строк из этой опции?

4b9b3361

Ответ 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

Вот что я нахожу работы

  • Установите form name
  • Используйте default select option, например...

    <option value="-1" selected>Please Select</option>

Итак, если форма отправлена, использование JavaScript для остановки процесса отправки может быть реализовано и проверено на сервере.

  1. Попробуйте использовать атрибуты HTML5, теперь они поддерживаются.

Этот ввод

<input type="submit">

должен быть

<input name="Submit" type="submit" value="Submit">

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

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