使用下拉PHP重新显示表单

时间:2016-03-26 19:42:03

标签: php html forms display

我知道我的查询有充分的文件记录,但我仍然不确定是否有人可以在这里讨价还价:我有一个下拉字段“&#; 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>

如果用户没有勾选格式,如何使用上面的消息在字段旁边注册错误?同样,如果他们确实勾选了一种格式,但其他字段是错误的,我该如何将其重新显示为用户选择的选项?

提前致谢。

1 个答案:

答案 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>