санитарная обработка — PHP очищает данные о местоположении

У меня есть этот HTML

<select name="country">
<option value="Iraq">1</option>
<option value="Texas">2</option>
<option value="Paris">3</option>
...
<option value="n">nnn</option>
</select>

В этом элементе выбора есть по-настоящему адское множество опций, и я бы не хотел, чтобы люди могли изменять значения любых опций, и я не могу помешать им сделать это, хотя, мне любопытно, есть ли эффективный PHP способ проверить правильность значения, например, я мог бы сделать это:

<?php
$country = $_POST['country'];
if(($country == "Iraq") && ($country == "Texas") && ($country == "Paris) ....($country == "n"))
{
allow stuff;
}
?>

Но это потребовало бы действительно огромного количества утверждений if, разве нет другого волшебного способа решить эту проблему?

1

Решение

Конечно, используйте in_array:

$countries = ['Iraq','Texas',...];
if(in_array($_POST['country'], $countries)) {
// allow stuff
}

Создайте свой $countries массив один раз, а затем использовать его для генерации вашего <select> HTML-код и для подтверждения представления. Бонус!

Примечание: мне нужно посетить страну Техас. Не понял, что они отделились!

3

Другие решения

Это далеко от магии, но один (несколько эффективный) способ проверить это использовать in_array
http://php.net/manual/en/function.in-array.php

Если у вас есть массив ваших стран, вы также можете использовать его для создания раскрывающегося списка.

0

По вопросам рекламы [email protected]