2015-01-04 72 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)。