Я разрабатываю регистрационную форму пользователя и хочу проверить адрес электронной почты пользователя. Тем не менее, все документы php, которые я прочитал, предлагают использовать filter_var. Мой скрипт проверяет действительное сообщение как недопустимое. Пожалуйста, опубликуйте рабочий сценарий или, возможно, проведите меня по моему сценарию. Это мой сценарий:
<?php if(isset($_POST['email'])== true && empty($_POST['email'])false) { $email = $_POST['email']; } if(filter_var($email,FILTER_VALIDATE_EMAIL)) { echo"valid email"; } else { echo"invalid email"; } ?>
if(isset($_POST['email'])== true && empty($_POST['email'])false)
это должно быть
if(isset($_POST['email']) && !empty($_POST['email']) )
или как @jack вы можете использовать только
if (!empty($_POST['email']))
empty()
делает неявный isset()
$email = isset($_POST['email']) ? $_POST['email'] : ""; echo(filter_var($email,FILTER_VALIDATE_EMAIL) ? "valid email" : "invalid email");
if(isset($_POST['email'])== true && empty($_POST['email'])false) ^^^^^^^--redundant ^^^^^---typo?
В вашем случае вы не должны использовать filter_var
, но filter_input
. Это код, который вам нужен:
if ($email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL)) { // email was submitted and is a valid email }
Однако эта ошибка может быть связана с вашей проблемой.