如何用PHP表单获取文本框输入_用PHP表单获取文本框输入方法【基础】

1次阅读

php表单获取文本框输入需确保method与超全局数组匹配、name属性一致,用isset()和!empty()判空防Notice,输出前必过htmlspecialchars()防xss数据库写入须用预处理或mysqli_real_escape_string()。

如何用PHP表单获取文本框输入_用PHP表单获取文本框输入方法【基础】

PHP 表单获取文本框输入,关键不是“能不能拿到”,而是“拿得对不对、安不安全”。直接用 $_POST['name']$_GET['name'] 读取,但没校验、没过滤、没判断是否提交,90% 的基础问题都出在这几步。

确认表单 method 和 input name 是否匹配

常见错误是前端

后端却去读 $_GET['username'];或者 后端却写 $_POST['username'](少个下划线)。

  • 检查 HTML 表单的 method 属性:是 post 就查 $_POST,是 get 就查 $_GET
  • 标签必须有 name 属性,idclass 不起作用
  • 提交按钮要有 type="submit",否则 $_POST 可能为空

用 isset() 和 empty() 判断输入是否真实存在

直接访问 $_POST['content'] 会触发 Notice: undefined index 错误。不能假设用户一定点了提交、填了内容。

  • 先用 isset($_POST['content']) 确认字段被提交(防止未提交时报错)
  • 再用 !empty($_POST['content']) 判断值非空且非 “0”、false、NULL 等“假值”
  • 如果只是想区分“空字符串”和“未提交”,用 array_key_exists('content', $_POST)

别跳过 htmlspecialchars() 就直接 echo 输出

用户在文本框里输 ,你原样 echo $_POST['comment'],就等于把 XSS 漏洞亲手贴到页面上。

立即学习PHP免费学习笔记(深入)”;

  • 所有要输出到 HTML 的用户输入,必须过 htmlspecialchars($str, ENT_QUOTES, 'UTF-8')
  • 数据库写入前要用 mysqli_real_escape_string() 或更推荐 pdo 预处理,不能只靠 htmlspecialchars()
  • filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL) 可以一步完成获取 + 校验邮箱格式

一个安全可用的最小示例

下面这段代码能跑通、不报 Notice、防简单 XSS、有基本判空,适合新手起步:

" . $safe_name . "!";     } else {         echo "请输入姓名";     } } ?> 

注意:trim() 去首尾空格、?? '' 防止未定义、ENT_QUOTES 同时转义单双引号——这些细节漏掉一个,上线后就可能被绕过。

text=ZqhQzanResources