You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么从HTML表单取值时PHP提示undefined array key错误

问题原因
  • 直接在浏览器地址栏访问welcome.php时,请求为GET类型,$_POST数组为空,不存在name、email两个键,因此触发未定义数组键的警告
  • 若从表单页提交但未输入任何内容,部分PHP环境配置下也可能触发同类警告
修复方案

方案1(推荐,兼容性更强)

修改welcome.php代码,先判断POST参数是否存在再输出,同时增加XSS防护:

<!DOCTYPE html>
<html>
<body>
<?php
if (isset($_POST['name'], $_POST['email'])) {
    echo "Hello " . htmlspecialchars($_POST['name']);
    echo "<br>Your email address is " . htmlspecialchars($_POST['email']);
} else {
    echo "请先从表单页面提交合法数据";
}
?>
</body>
</html>

方案2(无需改代码,仅调整访问逻辑)

不要直接访问welcome.php,先打开存放表单的HTML页面,填写姓名、邮箱后点击提交按钮,浏览器会自动以POST方法携带表单参数请求welcome.php,不会触发警告。

注意事项
  • 确认表单的method属性值为POST,如果设置为GET则需要改用$_GET数组获取参数
  • 确认表单的action属性路径正确,你当前代码里action="welcome.php"要求两个文件存放在同一级目录下,路径错误也会导致参数传递失败。

内容的提问来源于stack exchange,提问作者coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:15:05