老师,金额只能输入数字怎么判断啊

老师,金额只能输入数字怎么判断啊

$productPrice = mysqli_real_escape_string($conn,intval(trim($_POST['product_price'])));
				if(!is_int($productPrice)===false) {
					msg(2,"商品价格只能输入数字");
				}

老师我用上面的代码想控制只能输入代码,但是发现不行,后来我又想用is_numeric判断,但是我发现这个里面有个问题啊,因为用了intval(),那岂不是不管输入什么都会被强制转换为int吗?

所以,只能在前端用js限制???后端要怎么限制呢?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你好,不用转换成intval,直接在后台使用is_numeric来判断它是不是数字即可。

如果解决了你的问题,请采纳,祝学习愉快~

提问者 蛋切刀 2018-07-12 11:06:16
if(!is_numeric($_POST['product_price'])) {
    msg(2,"商品价格只能输入数字");
} else {
    $productPrice = intval(mysqli_real_escape_string($conn,trim($_POST['product_price'])));
}

老师看这样,还有什么问题吗

  • 提问者 蛋切刀 #1
    自己回复一下,还是不能用intval,因为会舍去小数点以后的数字,改成用floatval了不知道对不对
    2018-07-12 11:31:58
  • imooc_澈 回复 提问者 蛋切刀 #2
    不需要intval,除非你的需求就是价格必须是整数,也不用floatval,拿到数字价格存入数据库就可以了。
    2018-07-12 11:53:45
  • 提问者 蛋切刀 回复 imooc_澈 #3
    好的,谢谢老师
    2018-07-12 20:52:17
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师