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