gpt4 book ai didi

php - 使用 php if 语句验证输入值在 0 到 100 之间

转载 作者:可可西里 更新时间:2023-11-01 00:18:47 24 4
gpt4 key购买 nike

我尝试了以下操作以确保输入值在 0100 之间,但它没有用。

  if (($_POST['rate']) >= '0' || =<'100') {
$rate = $_POST['rate']
}
esle {
echo '<p>Please enter a value between 0 and 100</p>';
}

最佳答案

问题 1:string对比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:or对比and

但我们还没有做到。当前,您正在使用 || (or) .您需要使用 && (and)相反:

$rate = (int) $_POST['rate'];
if ($rate >= 0 && $rate =< 100) { /* ... */ }

第 4 期:=<对比<=

还是不行。你的一个comparison operators是错误的方法。 =<应该是 <=相反:

$rate = (int) $_POST['rate'];
if ($rate >= 0 && $rate <= 100) { /* ... */ }

问题 5:用户输入

$_POST保存来自用户的数据。永远不要相信用户数据。什么,例如,如果没有 rate元素?在这种情况下,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应该是 else .

问题 7:分号

正如 Gert 指出的那样, 你的线 $rate = $_POST['rate']缺少 ;在最后。

总结

我不是有意无礼,但看看你在这个简单的 if 中犯了多少错误,我觉得此时您可能应该引用一些基本的 PHP 教程而不是 Stack Overflow。

关于php - 使用 php if 语句验证输入值在 0 到 100 之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43443745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com