PHP получает дни, когда вы доступны, без множества переменных.

StackOverflow https://stackoverflow.com/questions/601332

  •  03-07-2019
  •  | 
  •  

Вопрос

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

В понедельник унос понедельника после во вторник унос во вторник, а также ...

Всю дорогу до воскресенья.

Я проверяю эту форму на PHP, и мне нужно объявить 14 переменных и просмотреть каждую, чтобы определить, был ли установлен флажок.

Теперь мне интересно, нет ли более простого способа?Это флажки, а не то, что при загрузке файлов вы просто добавляете [] к атрибуту имени в HTML, и они загружаются в виде массива.

Но это было бы удобно.Кто-нибудь знает, как я могу добиться чего-то подобного?

Это было полезно?

Решение

На самом деле, вы можете просто добавить [] до конца имен, просто убедитесь, что вы установили все их значения по-разному.

<input type="checkbox" name="available[]" value="Mon AM" />
<input type="checkbox" name="available[]" value="Mon PM" />

Затем просто переберите $_POST['available'] массив в вашем коде обработки формы.

Другие советы

Основываясь на ответе Чада, вот код, который вы будете использовать для просмотра переменных:

foreach($_POST['available'] as $a)
{
    //Do stuff with $a
}

Если вас беспокоит безопасность или производительность (а это так и должно быть), возможно, вам тоже следует сделать это.

If (count($_POST['available']) > 14) {

    softErrorToClient('The data you entered could not be analysed. Please try again.');
    // log this error... someone's being naughty

}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top