我知道如何使用文本输入。我可以轻松地将PHP脚本放入其值中,但使用输入组执行此操作似乎有所不同。如果提交表单失败,我怎样才能保留组输入的值?
答案 0 :(得分:0)
打印单选按钮和复选框" checked"
标记的input
属性,或下拉" selected"
标记的option
属性。
答案 1 :(得分:0)
要复选复选框或单选按钮,请使用以下代码:
<input type="checkbox" name="foo" id="foo" checked="checked"/>
关键是checked="checked"
。
如果您使用的是复选框组,请确保该字段的name
以方括号[]
结尾,如下所示:
<input type="checkbox" name="foo[]" id="foo_1" value="1" checked="checked"/>
<input type="checkbox" name="foo[]" id="foo_2" value="2" checked="checked"/>
然后,您的$_REQUEST['foo']
变量将自动成为已检查值的数组。您可以使用in_array
查看是否已选中特定复选框。
根据评论进行更新
以下是我如何设置它:
<input type="checkbox" name="foo[]" id="foo_1" value="1" <?= (isset($_POST['foo'] && in_array('1', $_POST['foo'])) ? 'check="checked"' : '' ?>/>
对于单个项目(如收音机),请使用:
<input type="radio" name="foo" id="foo" value="1" <?= isset($_POST['radio]) ? 'check="checked"' : '' ?>/>
希望有所帮助。
更新2: 此外, 确保您转义用户输入! 您的示例 应如下所示:
<input type="text" name="username" value="<?php if(isset($_POST['username']) echo htmlspecialchars($_POST['username']);?>">
始终假设用户试图破解您的系统,总是逃避用户输入!