особо не вглядывался в вашу регулярку, спешу, но какая-то она стремная сразу бросилось в глаза вот это @? По вашему в email-е может отсутствовать собака?)
Вобщем приду, вечером хорошо рассмотрю...
У вас что таблица называется Гост? из ошибки видно, что возвращается булев тип данных, т.е. либо true, либо false... В данном случае false, ошибка в запросе к БД... Сам запрос может быть синтаксически составлен и правильно, но могут быть ошибки в именах таблиц, строк и т.д.
Вобщем ищите ошибку, а сам принцип я думаю понятен.
з.ы. мой вам совет выучите mysql_fetch_assoc() и mysql_fetch_row(), и используйте их в зависимости от ситуации
по RFC адрес email может содержать много интересных символов
знаю, но чисто анализируя свои знания об email-ах, понимаю что кроме _ - и точки больше никакие символы не встречал, к тому же некоторые ящики вообще кроме точки ничего не разрешают, тот же gmail.com к примеру
EuGen, спасибо! Кое-что вспомнил... А вот http://ai[dot]/ для меня новость, как-то не встречал еще такого...
Исходя из всего этого, немного подредактировал
еще вопросы:
1) длина имени, максимальное значение? Сейчас в регулярке 21 получается. Ящики используют кто 30, кто 32, некоторые вобще по-моему до 64. Так сколько же максимум?
2) длина части в домене (часть, всмысле кусочек отделеный точкой). Исходя из статьи которую кинул EuGen поставил на 63 символа, но на сколько я знаю максимум 255.
3) может лучше использовать filter_var() ?
Решил написать себе для сайта регулярку для проверки введеного e-mail-а. Но не просто так буквы, цифры, собака, еще буквы... А более точную...
Итак, что мы знаем об e-mail адресах:
1) все они такого типа <имя>@<домен>
2) имя может быть от 1 до 20 (по поводу 20 не уверен, но себе ограничил так) символов
3) имя может содержать: буквы, цифры, знаки _ - и точку.
4) имя может начинаться и заканчиваться только на букву или цифру
5) имя не может содержать подряд несколько символов (точек точно, а вот про - и _ опять таки не уверен)
6) домен по принципу имени