Проблемы с проверкой формы.

Shopen

Новичок
Проблемы с проверкой формы.

<?php
$mail = strtolower(trim($mail));
if (@eregi('^[0-9a-z]+'.'([0-9a-z-]+\.)+'.'([0-9a-z]){2.4}$', $mail))
{echo "Правельно" ; } else {echo "Error";}
?>
Вот такой скриптик, по идеи далжон проверять на правельность заполнения E-mail,
но даже при правельном заполнении выдаёт ERROR....
Где ошибка?
 

Shopen

Новичок
tony2001
не тут не с передачей проблемы, тут где-то в eregi(); глюки.

-~{}~ 27.03.06 13:02:

убрал @ пишет

Warning: eregi(): REG_BADBR in z:\home\localhost\www\catalog\qqq.php on line 3
 

sage

Новичок
взято из мана:
PHP:
function is_valid_email_address($email){
    $qtext = '[^\\x0d\\x22\\x5c\\x80-\\xff]';
    $dtext = '[^\\x0d\\x5b-\\x5d\\x80-\\xff]';
    $atom = '[^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c'.
    '\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+';
    $quoted_pair = '\\x5c\\x00-\\x7f';
    $domain_literal = "\\x5b($dtext|$quoted_pair)*\\x5d";
    $quoted_string = "\\x22($qtext|$quoted_pair)*\\x22";
    $domain_ref = $atom;
    $sub_domain = "($domain_ref|$domain_literal)";
    $word = "($atom|$quoted_string)";
    $domain = "$sub_domain(\\x2e$sub_domain)*";
    $local_part = "$word(\\x2e$word)*";
    $addr_spec = "$local_part\\x40$domain";
    return preg_match("!^$addr_spec$!", $email) ? 1 : 0;
}
не позволяет просачиваться таким символам, как \n, \r (защита от mail injection)
 

sage

Новичок
Фанат
из-за неполного понимания что и как? я тож немного там понимаю, если честно =) но потестил..... вроде, всё ок
 

Фанат

oncle terrible
Команда форума
если учесть, что проверка емейла на валидность - вещь сама по себе малоосмысленная, то добавлять в скрипт ещё и непонятную функцию - и вовсе будет слишком.
для меня
 

sage

Новичок
полностью с тобой согласен по поводу малоосмысленности..... привёл ф-ию - показал, что есть такая.... а применять или нет - уже личное дело каждого =)
 
Сверху