PHP学习项目:表单提交内容未在后端显示,求排查原因
问题原因及解决方法
核心问题:请求方法不匹配
你的HTML表单设置的是method="GET",但PHP代码里却尝试从$_POST数组读取数据——两者完全不对应。GET请求的提交参数会附加在URL末尾,存储在$_GET超全局数组中;而$_POST仅用于存储POST请求的参数。所以isset($_POST["submit"])永远为假,自然不会执行后续代码,也不会有任何输出。两种修正方案
方案1:修改表单的请求方法为POST
把HTML中的form标签修改为:<form action="index.php" method="POST"> <input type="text" placeholder="Enter name" name="name"/> <input type="submit" value="Go" name="submit"/> </form>这样PHP里的
$_POST就能正确获取提交的数据。方案2:修改PHP代码使用
$_GET数组
保持表单method不变,将PHP代码中的$_POST替换为$_GET:<?php if(isset($_GET["submit"])) { $name = $_GET["name"]; $result = strtoupper($name); echo $result; } ?>调试小技巧
调试时可以用var_dump($_REQUEST)查看所有请求参数,这个数组会包含$_GET和$_POST的所有数据,能快速确认参数是否成功传递。另外,提交表单后观察URL:GET请求会把参数拼在URL后(比如index.php?name=test&submit=Go),POST请求则不会显示参数。
内容的提问来源于stack exchange,提问作者wind0027
相关产品推荐
相关产品推荐

