2015-01-04 88 views
-2

我需要知道如何防止用戶插入十進制數。防止值十進制數

我的意思是用十進制數如0.5,1.5,2.5,3.2,3.4,從所選擇的選項:

<option value="1">1</option> 

注入

<option value="1,5">1</option> 


    $quantity = $_POST['esquantity']; 

我需要點擊此處查看:

if ($quantity ......) { } 

在此先感謝:

+2

使用'intval'? – 2015-01-04 13:33:45

+0

@u_mulder感謝您的快速回答。你能告訴我如何使用它嗎? – alisa 2015-01-04 13:34:47

+0

Zeeshan,'intval()'不返回布爾值 – Svenskunganka 2015-01-04 13:36:05

回答

4

你可以用is_int來做到這一點。

int總是一個整數,不能是小數。

您可以使用它像這樣:

$quantity = $_POST['esquantity']; 

if(is_int($quantity) { 
    .... 
} 
+0

是的,我已經投了票,但我沒有檢查它。跳過一會兒。 – alisa 2015-01-04 14:11:59

+0

@alisa謝謝你,這是你想要的結果嗎?它返回一個布爾值,如你的問題所述? – Bas 2015-01-04 14:12:35

+0

這是我應該感謝你。順便說一句,就是這樣,我想知道代碼是什麼意思?它返回true或false?我想要的是當有一個十進制數字時,它返回false。 'if(is_int($ quantity){ echo「please input correct value」; }'再次感謝 – alisa 2015-01-04 14:20:02

-1

你需要檢查是這樣的:

如果(in_array($量,陣列(1,2,3,4, 5))){...}

這將檢查數量是否在允許值內。用你的情況下的允許值替換數組(1,2,3,4,5)。