Вот код:
if(trim($_POST['email']) == '') { $hasError = true; } else if (!preg_match("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) { $hasError = true; } else { $email = trim($_POST['email']); }
Вот сообщение об ошибке:
Предупреждение: preg_match () [function.preg-match]: в /home/bigsilkd/public_html/UBA/join.php в строке 22 * 1006 * не найден конечный разделитель '/'
Вы не должны использовать регулярные выражения для проверки писем.Например, ваше регулярное выражение не разрешает мой адрес электронной почты +@example.org, который является нормальным и действительным адресом электронной почты.Сохранить мою электронную почту!Это вымирает из-за плохой проверки формы!Используйте filter_var!
+@example.org
filter_var
if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { // email is valid }
Это именно то, что написано:
preg_match("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$"
должно быть
preg_match("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$/" ^ | This was missing ---/