最终编辑(已解决)
我刚刚替换if(empty($num1))
为if(!isset($num1))
现在有条件的Required!通知完美无缺。非常感谢所有参与其中的人,我重新获得了一些已经失去的力量,我终于开始将它变成一个功能齐全、风格独特的小部件:D 祝你早日/晚安!
编辑:
我愚蠢地假设 isset() 仅用于复选框...我摆脱了通知:未定义索引,但需要的问题!持续...
我有以下问题,我为产品定价制作了一个计算器,但如果我第一次加载它,它不会“识别”尚未填充的文本输入中的空值......我'我不确定我的命名是否正确,我是 PHP 的新手,刚开始学习...
表格通常完美无缺,我只是想摆脱这个小问题。
基本上,我有以下代码:
$num1 = (int)$_POST['number1'];
$num2 = (int)$_POST['number2'];
$ratio = 0.2;
$utw = 1;
if (! empty($num1) && ! empty($num2)) {
if ($num1 * $num2 <= 200) {
$ratio = 0.2;
}
elseif ($num1 * $num2 > 200 && $num1 * $num2 < 400) {
$ratio = 0.15;
}
elseif ($num1 * $num2 >= 400) {
$ratio = 0.1;
}
if (isset($_POST['condition'])) {
$utw = 1.8;
}
$price = $num1 * $num2 * $ratio * $utw;
}
else {
$price = 0;
}
和
<form method="post" action="">
<label for="number1">
<input type="text" name="number1" id="number1">
<?php if(empty($num1)) : ?><span style="color: red;">Required!</span><?php endif; ?>
<br />Label1
</label>
<label for="number2">
<br /><input type="text" name="number2" id="number2">
<?php if(empty($num2)) : ?><span style="color: red;">Required!</span><?php endif; ?>
<br />Label2
</label>
<label for="condition">
<br /><input type="checkbox" name="condition" name="condition">
Label3<br />
</label>
<input type="submit" value="Run">
<?php if($price > 0) : ?>
<p><?php echo "Price equals: $price"; ?></p>
<?php endif; ?>
</form>
当我第一次显示它时,我得到
Notice: Undefined index: number1 in C:\wamp\www\calc\index.php on line 3
(第 3 行,因为我剥离了<!doctype html>
并且<?php
很明显)
如何避免?另外,如何确保Required!仅当用户单击提交按钮时才会出现通知?目前它从一开始就显示,因为输入字段是空的......我不希望它们“空”我只想要它们,你知道......视觉上是空的或等于0......
我已经为这一切工作了几个小时,已经为那个 PHP 调试通知找到了一些解决方案,但它主要涉及if (isset($var))
方法,假设我有一个复选框......好吧,我没有......默认$_POST
值是实际替换
$num1 = (int)$_POST['number1'];
和:
if ($_POST['number1'] == '') {
$num1 = '0';
else {
$num1 = $_POST['number1'] ;
}
好吧,通知仍然出现:(
任何人都可以帮助我吗?