2014-02-12 68 views
0

我有麻煩得到這個if語句正常工作。我不希望POST字段「reference_nr」能夠包含空值或數值。這是我的代碼:PHP SQL允許空白或數字輸入字段

if(!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$_POST['faktura_email'])|| 
    !is_numeric($_POST['skadesnummer'])|| 
    !is_numeric($_POST['faktura_aar'])|| 
    (strlen($_POST['faktura_aar']) > 4)|| 
    !is_numeric($_POST['faktura_nr'])|| 
    (strlen($_POST['faktura_nr']) > 3)|| 
    !is_numeric($_POST['debitor'])|| 
    !is_numeric($_POST['reference_nr'])){ 

     print "Query fail"; 

    } else { 

     print "Query success"; 

    } 

我希望你明白我的問題。祝你有美好的一天:)

回答

0

你,你希望它是一個數字is_numeric()來從事這項工作,如果你想讓它空isset()函數做這樣!

if(is_numeric($_POST['reference_nr']) || isset($_POST['reference_nr'])){ 
    echo "referece_nr is numeric or empty"; 
}else{ 
    echo "it's not "; 
} 
+0

謝謝你,那個工作正常:) –

+0

你非常歡迎;) – ImadOS

0

你應該檢查在嘗試訪問它們之前是否設置了參數。您可以使用

if(isset($_POST['param_name'])) 
    $val = $_POST['param_name']; 
else 
    $val = null; 

然後做對變量的任何其他數據的驗證。

+0

我已經做了,但我只貼了,如果else語句:) –