我知道我的查询有充分的文件记录,但我仍然不确定是否有人可以在这里讨价还价:我有一个下拉字段“&#; html'或者'普通'。
参见代码:
$mail_format = 0;
if (isset($_POST['mformat'])) {
$form_is_submitted = true;
if ($mail_format == 'plain' || $mail_format == 'html') {
$clean['mformat'] = $_POST['mformat'];
} else {
$errors['mformat'] = '***You have not ticked a format***';
$errors_detected = true;
}
if(isset($errors['mformat'])) {
$mformat_2 = $errors['mformat'];
} else {
$mformat_2 = '';
}
if (isset($clean['mformat'])) {
$mail_format = $clean['mformat'];
} else {
$mail_format = '';
}
<label for="mform">Mail format</label>
<select name="mformat" id="mform">
<option value="plain">Plain text</option>
<option value="html">HTML</option>
</select>
如果用户没有勾选格式,如何使用上面的消息在字段旁边注册错误?同样,如果他们确实勾选了一种格式,但其他字段是错误的,我该如何将其重新显示为用户选择的选项?
提前致谢。
答案 0 :(得分:0)
该脚本存在一些问题,您没有分配$mail_format
并且您的变量名称应该更清晰,但要回答您的一般问题,您只需将错误消息变量写入页面
<div class="error"><?php echo $mail_format_error_msg;?></div>
<select name="mail_format" id="mail_format">
<option value="plain">Plain text</option>
<option value="html">HTML</option>
</select>
要保持用户选择,您需要动态编写selected
属性。像这样:
<option value="plain" <?php if (isset($mail_format) && $mail_format=="plain") echo "selected";?>>Plain text</option>
<option value="html" <?php if (isset($mail_format) && $mail_format=="html") echo "selected";?>>HTML</option>