如有错误,请保留用户信息

时间:2010-01-04 12:38:30

标签: php css

如果他/她在表单中出错,以便他/她不必再次输入,我如何保留用户在表单中输入的信息?

我还想通过突出显示带有红色错误的texbox来表示错误

2 个答案:

答案 0 :(得分:3)

没有“神奇”的解决方案:当表单提交错误时,您必须:

  • 重新显示表单,
  • 根据用户输入的内容($_GET$_POST中收到的内容)填写字段,将这些数据放入正确的属性中
    • 即。 value
    • <input>
    • <textarea>
    • 的内容
    • 或设置selected
    • <select>属性
  • 并且,不要忘记使用htmlspecialchars来逃避数据,以防止HTML注入


对于错误的指示,解决方案是将CSS类添加到您检测到错误的表单元素。

为存在错误的class="error"添加<input>之类的内容,并在CSS文件中正确定义.error类。

答案 1 :(得分:0)

一般来说,想法是使用:

<input type="text" name="field_1" id="field_1" class="<?= ($errors['field_1'] ? 'error':'') ?>" value="<?= @$_POST['field_1'] ?>" />

如果处理此表单的脚本认为此值无效,则会使用输入的用户填充文本框的值,并为您提供样式。

e.g。

if(empty($_POST['field_1']))
   $errors['field_1'] = 'Cannot be blank';