PHP: проверьте, отправил ли кто-либо Вар, пусты - форма: все поля требуются

Есть ли более простая функция к чему-то вроде этого:

if (isset($_POST['Submit'])) {
    if ($_POST['login'] == "" || $_POST['password'] == "" || $_POST['confirm'] == "" || $_POST['name'] == "" || $_POST['phone'] == "" || $_POST['email'] == "") {
        echo "error: all fields are required";
    } else {
        echo "proceed...";
    }
}
32
задан Taryn 11 December 2013 в 22:58
поделиться

4 ответа

Что-то вроде этого:

// Required field names
$required = array('login', 'password', 'confirm', 'name', 'phone', 'email');

// Loop over field names, make sure each one exists and is not empty
$error = false;
foreach($required as $field) {
  if (empty($_POST[$field])) {
    $error = true;
  }
}

if ($error) {
  echo "All fields are required.";
} else {
  echo "Proceed...";
}
68
ответ дан 27 November 2019 в 20:17
поделиться

empty и isset должны сделать это.

if(!isset($_POST['submit'])) exit();

$vars = array('login', 'password','confirm', 'name', 'email', 'phone');
$verified = TRUE;
foreach($vars as $v) {
   if(!isset($_POST[$v]) || empty($_POST[$v])) {
      $verified = FALSE;
   }
}
if(!$verified) {
  //error here...
  exit();
}
//process here...
3
ответ дан 27 November 2019 в 20:17
поделиться

Я использую свою собственную пользовательскую функцию...

public function areNull() {
    if (func_num_args() == 0) return false;
    $arguments = func_get_args();
    foreach ($arguments as $argument):
        if (is_null($argument)) return true;
    endforeach;
    return false;
}
$var = areNull("username", "password", "etc");

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

3
ответ дан 27 November 2019 в 20:17
поделиться

Лично я извлекаю массив POST, а затем прошу if(!$login || !$password), затем эхо заполнить форму :)

-1
ответ дан 27 November 2019 в 20:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: