PHP получить значение со страницы выбора html - PullRequest
0 голосов
/ 24 февраля 2020

у меня ниже html код

<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST" class="contact">
            <label id="name">
                <h4>name*</h4>
                <input type="text" name="name" placeholder="full name" autofocus/>
            </label>
            <label id="city">
                <h4>city</h4>
            <select name="city">
            <option value="Afghanistan">Afghanistan</option>
            <option value="Albania">Albania</option>
                        </select>
            </label>

PHP код

if($_POST["name"] == null)
{
    echo "<p class='wrong'><strong>wrong: </strong> name is empty</p>";
}
if($_POST["city"] == null)
{
    echo "<p class='wrong'><strong>wrong: </strong> city is empty</p>";
}

это проверяет нулевое значение и всегда дает пустой город, что означает значение не выбрано

1 Ответ

0 голосов
/ 24 февраля 2020

Пока не может комментировать.

Возможно, попробуйте закрыть ярлык перед выбором.

 <label id="city">
   <h4>city</h4>
 </label>         
 <select name="city">
   <option value="Afghanistan">Afghanistan</option>
   <option value="Albania">Albania</option>
 </select>

и, возможно, сделайте

<?php echo "<pre>".print_r($_POST,true)."<pre>";

, чтобы увидеть, какие значения установлены .

И, как другие предлагали, проверка значения пуста ()

if(!isset($_POST['city'])||empty($_POST['city']))

Возвращает true, если город пуст, не имеет значения или true, если он не существует.

Надеюсь, это поможет!

Редактировать 1:

Также, поскольку код php, вероятно, находится на той же странице, можно просто пропустить атрибут действия.

<form method="POST" class="contact">
 <label for="city">
   <h4>city</h4>
 </label>         
 <select id="city" name="city">
   <option value="Afghanistan">Afghanistan</option>
   <option value="Albania">Albania</option>
 </select>
</form>

также используйте атрибут for с идентификатором поля ввода, которое вы хотите, чтобы оно представляло

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...