最直接方式是用$_POST或$_GET值填充表单控件的value、selected或checked属性;文本框和textarea需用htmlspecialchars()转义并配合?? ''防Notice;下拉框须比对$_POST值为匹配option添加selected属性。

PHP表单提交后如何回显用户已填数据
最直接的方式是:用 $_POST 或 $_GET 的值填充表单控件的 value 属性(文本框、密码框)或 selected/checked 属性(下拉框、单选/复选框)。前提是表单已提交过,且服务端未清空原始请求数据。
文本类输入框(input[type="text"]、textarea)怎么安全回填
必须对输出到 HTML 中的值做 htmlspecialchars() 转义,否则可能引发 XSS。不能直接 echo 原始 $_POST['name']。
- 正确写法:
- 注意
?? ''防止未提交时触发 Notice 错误 -
textarea要把内容放在标签体内,且同样需转义:
下拉框(select + option)怎样让选项自动选中
不是设置 select 的 value,而是给匹配的 option 加 selected 属性。PHP 需逐个比对 $_POST['city'] 和每个 option 的 value。
- 示例:
- 若选项来自数据库,建议用循环生成
option,避免硬编码重复逻辑 - 注意用
===严格比较,防止字符串与数字隐式转换出错(如'0'和0)
单选/复选框(input[type="radio"] / input[type="checkbox"])回填要点
单选框靠 name 分组,每组只有一项可选;复选框可多选,值通常为数组。回填关键在 checked 属性是否出现。
立即学习“PHP免费学习笔记(深入)”;
- 单选框:
>男 - 复选框(假设提交的是数组):
>阅读 - 务必检查
$_POST['hobby']是否存在且为数组,否则in_array()会警告 - 复选框的
name含[]是 PHP 自动转成数组的约定,别漏掉
回填本身不难,真正容易出问题的是没处理好未提交时的空值、类型松散比较、XSS 转义遗漏,以及复选框数组判空逻辑。这些地方一疏忽,轻则页面报错,重则被注入脚本。











