2013-07-31 87 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

相關問題