如果表单提交错误,我想保留值,这样用户就不需要再次填写完整的表单了。
对于文本字段,我编写了它。
我在选项上遇到了问题,其中选项值来自mysql数据库。
当用户选择选项但是其他表单字段有错误且表单未提交时,如何将选中的选项附加到选项?
代码:
<select name="college" id="college" class="form-control input-lg" style="width:90%;">
<option value="">Select College</option>
<?php
$q = "select * from colleges order by college_name asc ";
$r = $database->get_results($q);
foreach ($r as $row){?>
<option value="<?php echo $row['college_name'];?>"><?php echo $row['college_name'];?></option>
<?php } ?>
</select>
现在在上面的示例表单中,如果用户从填充的列表中选择大学名称。如果他错过了其他一些输入字段,表单会在提交时显示错误。在这里,我想保留用户选择的大学名称。
我该怎么办?
对于其他领域,我的工作如下:
$fullname = $_POST['fullname']; // In php code during form processing
$gender = $_POST['gender'];
<input type="text" name="fullname" id="fullname" value="<?php if (isset($fullname)) { echo $fullname;}?>">
<select name="gender" id="gender">
<option value="">Select</option>
<option value="Male" <?php if((isset($gender)) && ($gender=="Male")){?> selected="selected" <?php } ?>> Male </option>
<option value="Female" <?php if((isset($gender)) && ($gender=="Female")){?> selected="selected" <?php } ?>> Female </option>
</select>
// html form field
答案 0 :(得分:0)
这是您需要在代码中更改的内容:
<option value="<?php echo $row['college_name'];?>"
<?php echo (isset($college) && $college == $row['college_name']) ? "selected" : '' ?> >
<?php echo $row['college_name'];?></option>
这里我们检查$ college变量是否设置并且等于给定的选项值,然后将其显示为选中