2013-07-31 90 views
0
$emailPattern = '/^[a-zA-Z0-9_.-][email protected][a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$/'; 

$post_email = strtolower($_POST[ $field ]); 

if(filter_var($post_email, FILTER_VALIDATE_EMAIL)) 
{ 
    if(preg_match($email_pattern, $post_email)) 
    { 
     return $post_email; 
    }else 
    { 
     return false; 
    } 
}else 
{ 
    return false; 
}    

空的正则表达式返回:警告:的preg_match():在

警告:的preg_match():空正则表达式 /*/functions.php 上线

$ _POST [$ field]成功包含电子邮件地址:“[email protected]

什么可能会出错?

+0

[只使用'filter_var()'已经。](http://stackoverflow.com/questions/12026842/how-to-validate-an-email-address-in-php/12026863#12026863) – HamZa

+1

你需要学习如何[READ和调试](http://stackoverflow.com/questions/12769982/reference-what-does-this-error-mean-in-php)错误消息。解决问题所需的一切都在错误信息中。 $ email_pattern没有设置任何东西 – Anigel

+0

@Anigel - 抱歉浪费你的时间brah!我和我的愚蠢的大脑:) – Jimmyt1988

回答

4
preg_match($email_pattern, $post_email) 

应该

preg_match($emailPattern, $post_email) 

你的方案名称变量是$emailPattern并且您使用$email_pattern。这就是为什么你在preg_match函数中得到警告。

+0

哦,上帝,对不起,浪费你的时间...我看起来太深...大项目,最后期限,汗水。谢谢 – Jimmyt1988

相关问题