我正在为客户的网站构建订单。其中一个页面允许用户通过输入每个零件旁边的数量来选择Vehicle Spareparts。我通过编写以下代码来实现这一目标
<input class="qty" type="number" name="oil-pump" min="0" max="100">
在更改 name 值时,除了每个备件类型之外,还会多次添加上述输入属性。点击提交后,用户将进入评论页面,其中包含订购备件的详细信息。
我目前在评论页面中有以下代码:
<?php
echo 'Engine Bearings: ' . $_POST['eng-bearings'];
echo 'Cylinder Heads: ' . $_POST['cyl-heads'];
echo 'Cam and Valve Train: ' . $_POST['cam-valve-train'];
echo 'Oil Pump: ' . $_POST['oil-pump'];
echo 'Oil Caps and Pipes: ' . $_POST['oil-caps-pipes'];
?>
如果用户在每个字段中输入了值,则此方法很有效。如果他没有,那么评论页面只有没有任何数量的回声文本。此外,如果用户输入0,我也不希望数量适用。
当输入的值为0或空白时,我无法弄清楚如何使用带有null和OR语句的isset()来回显文本。
感谢任何帮助。谢谢!
答案 0 :(得分:2)
这是功能的绝佳机会:
function print_user_input($title, $queryVar) {
if (isset($_POST[$queryVar]) && !empty($_POST[$queryVar])) {
echo $title . ': ' . $_POST[$queryVar];
}
}
像这样使用它:
print_user_input('Engine Bearings', 'eng-bearings');
答案 1 :(得分:1)
有条件地回应价值。如果目标数据为空,则回显空字符串:
echo empty($_POST['eng-bearings']) ? '': 'Engine Bearings: ' . $_POST['eng-bearings'];
重复其他帖子值。有关三元运算符(<conditional> ? <value1> : <value2>
)的信息为here。
答案 2 :(得分:0)
你需要检查它的设置和放大器在将它打印在屏幕上之前它不是空的。
<?php
if (! empty($_POST['eng-bearings'])) {
echo 'Engine Bearings: ' . $_POST['eng-bearings'];
} else {
// whatever you wanna do here in case eng-bearings is not set or its empty
}
// Do same for other $_POST values ...
?>