2014-02-07 73 views
-1

創建一個表單,這是我的聯繫形式的一部分試圖在PHP,但錯誤

我想讓它,以便它僅驗證當用戶輸入一個電話號碼

這裏就是我試圖

$telephone = $_POST['Telephone_Number']; 

$telephone_exp = '/^[+]?([\d]{0,3})?[\.\-\s]?([\d]3)[\.\-\s]*([\d]{3})[\.\-\s]?([\d]{4})$/'; 
if ($telephone > 0) && (preg_match($telephone_exp, $telephone)) 
{ 
    $error_message .= 'The Telephone Number you entered does not appear to be valid.<br />'; 
} 
+0

沒關係,你可以給我一些暗示?這將是真正偉大 – user202476

回答

0

驗證前添加if(!empty($telephone))。這樣,只有在提供電話價值時才能執行驗證。

2

嘗試做它喜歡:

$telephone = $_POST['Telephone_Number']; 

$telephone_exp = '/^[+]?([\d]{0,3})?[\.\-\s]?([\d]3)[\.\-\s]*([\d]{3})[\.\-\s]?([\d]{4})$/'; 
if (isset($_POST['Telephone_Number']) && preg_match($telephone_exp, $telephone)) 
{ 
    $error_message .= 'The Telephone Number you entered does not appear to be valid.<br />'; 
} 
1

這是正確的語法

if ($telephone > 0 && preg_match($telephone_exp, $telephone)){ 
} 

你有

if ($telephone > 0) && (preg_match($telephone_exp, $telephone)) 
+0

好讓我嘗試和感謝 – user202476

0

造成的誤差只有打字,用括號。

正確:if (($telephone > 0) && (preg_match($telephone_exp, $telephone)))

錯誤:if ($telephone > 0) && (preg_match($telephone_exp, $telephone))