1.
Используйте isset () или array_key_exists () в $ _POST, чтобы увидеть, существуют ли значения.
if (isset($_POST['a_field']))
// or
if (array_key_exists('a_field', $_POST))
Вы также можете использовать filter_has_var, но у него также есть "недоработка", о которой вам нужно знать. Он не работает с суперглобалами PHP, а полагается на данные, отправляемые в PHP. Если вы вручную объявите что-то в своем скрипте, например, $_POST['test']
, filter_has_var не увидит его.
Как использовать filter_has_var:
if (filter_has_var(INPUT_POST, 'test'))
2.
Вы хотите очистить данные или проверить их? (две разные вещи).
Утверждение, что имя и адрес электронной почты имеют значения, и этот адрес электронной почты является действительным:
if (!empty($_POST['name']))
if (!empty($_POST['email']) && filter_input(INPUST_POST, 'email', FILTER_VALIDATE_EMAIL))