我的php表单验证没问题。我想在用户表示用户时(即,如果发生错误)保持用户在表单中输入的数据。我可以使用此代码来处理文本条目:
<input type="text" name="firstname" id ="firstname" value = "<?php echo $firstname;?>" >
对于使用此代码的单选按钮:
<input type="radio" name="entree" <?php if (isset($entree) && $entree =="chicken") echo "checked";?> value = "chicken">Chicken
但是我无法使用以下代码将其用于十进制输入。
<input type="DECIMAL(4,2)" name = "meal_cost" id ="meal_cost" value = "<?php echo htmlspecialchars($meal_cost);?>">
我将感谢Stackoverflow提供的任何帮助
答案 0 :(得分:0)
没有&#39;十进制(4,2)&#39;输入类型为html。只需使用<input type="number"... />
您可以使用max
和min
属性在输入上设置最大值和最小值。查看输入数字类型的规范:http://www.w3.org/TR/html-markup/input.number.html
此外,您可以使用php number_format
函数在呈现表单时格式化值,并将其限制为2位小数。这并不意味着用户只提交2位小数。您需要添加一些内容来验证/更正它们发布到服务器的值。
总而言之,你应该改变
<input type="DECIMAL(4,2)" name = "meal_cost" id ="meal_cost" value = "<?php echo htmlspecialchars($meal_cost);?>">
到
<input type="number" max="9999" min="0" step="any" name="meal_cost" id="meal_cost" value="<?php echo number_format($meal_cost,2);?>">