PHP получает дни, когда вы доступны без множества переменных - PullRequest
2 голосов
/ 02 марта 2009

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

Mondaymorning В понедельник после обеда Утро вторника Во вторник днем и т.д ...

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

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

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

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

Ответы [ 3 ]

10 голосов
/ 02 марта 2009

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

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

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

1 голос
/ 02 марта 2009

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

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

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

}
1 голос
/ 02 марта 2009

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

foreach($_POST['available'] as $a)
{
    //Do stuff with $a
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...