使用php if语句验证输入值是否介于0和100之间
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用php if语句验证输入值是否介于0和100之间,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1495字,纯文字阅读大概需要3分钟。
内容图文
我尝试了以下操作以确保输入值介于0和100之间,但它不起作用.
if (($_POST['rate']) >= '0' || =<'100') {
$rate = $_POST['rate']
}
esle {
echo '<p>Please enter a value between 0 and 100</p>';
}
解决方法:
问题1:字符串vs int
目前,您正在比较字符串,而不是数字.将$_POST变量转换为int并删除0和100附近的撇号以解决此问题:
$rate = (int) $_POST['rate'];
if ($rate >= 0 || =< 100) { /* ... */ }
问题2:缺少某些东西
但是,由于缺少第二次比较的$rate,这仍然不会产生预期的结果.将其更改为:
$rate = (int) $_POST['rate'];
if ($rate >= 0 || $rate =< 100) { /* ... */ }
问题3:或vs和
而我们仍然不在那里.目前,您使用的是|| (or).您需要使用&& (and):
$rate = (int) $_POST['rate'];
if ($rate >= 0 && $rate =< 100) { /* ... */ }
问题4:=< vs< = 还是不行.你的其中一个comparison operators是错误的方式. =<应该< =而不是:
$rate = (int) $_POST['rate'];
if ($rate >= 0 && $rate <= 100) { /* ... */ }
问题5:用户输入
$_POST保存来自用户的数据.绝不信任用户数据.例如,如果没有费率元素?在这种情况下,PHP将抛出类型为E_NOTICE的错误(如果您没有将报告设置为E_ALL,您甚至可能看不到)并且一旦转换为int,则评估为0!因此,您的测试将通过,这可能不是您想要的.为防止这种情况,请使用isset():
$rate = isset($_POST['rate']) ? (int) $_POST['rate'] : -1;
if ($rate >= 0 && $rate <= 100) { /* ... */ }
问题6:东西esle
正如Pedro Lobito所指出的,你还设法引入了一个拼写错误:esle应该是其他的.
问题7:分号
正如Gert所指出的,您的行$rate = $_POST [‘rate’]缺少;在末尾.
摘要
我并不是故意粗鲁,但看到你设法挤进这个简单的错误,我觉得你应该在这一点上参考一些基本的PHP教程而不是Stack Overflow.
内容总结
以上是互联网集市为您收集整理的使用php if语句验证输入值是否介于0和100之间全部内容,希望文章能够帮你解决使用php if语句验证输入值是否介于0和100之间所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。