Что вы можете сделать, это перебрать переменные $ _POST. Исключите те, в которых вы не заинтересованы, и сделайте что-то вроде:
$allIsOk = true;
foreach ($_POST as $index => $value) {
if (strlen($value)<1) {
$allIsOk = false;
}
}
... и тогда вы делаете свой выбор на $ allIsOk.
Этот подход по двум причинам:
- С предложением выше, вам нужно объединить чеки, так как empty ()
вернет true для 0 или даже "0" и может вызвать тряску головы
проблемы.
- При таком подходе вы можете добавлять параметры без
делая огромное заявление если
Конечно, это всего лишь идея. Всегда разумно проверять документацию. Кроме того, вы можете заменить цикл foreach вызовом array_walk, чтобы сделать вещи более изящными (особенно начиная с PHP 5.3 и далее). ; -)
Удачи!
PS Кроме того, чтобы выяснить, был ли ваш сценарий вызван действием POST, вместо того, чтобы учитывать элемент submit, я предлагаю вам использовать глобальную переменную $ _SERVER. http://php.net/manual/en/reserved.variables.server.php Просто проверьте параметр REQUEST_METHOD.
Итак, вы можете иметь:
if ('POST' == $_SERVER['REQUEST_METHOD']) {
// It's ok for these to be null - or empty
$exclude = array('submit', 'other_param');
$allIsOk = true;
foreach ($_POST as $index => $value) {
if (!in_array($index, $exclude) && strlen($value)<1) {
$allIsOk = false;
}
}
}
if ($allIsOk) {
// Do Something
} else {
// Do Something Else
}