You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

HTML表单无法向同文件PHP传数据,请求排查错误并指导

嘿,我帮你找出了代码里的核心问题,还有一些实用的优化建议,咱们一步步来解决:

1. 修复超全局变量的大小写错误

PHP的超全局变量是严格区分大小写的,你代码里写的$_post是小写的p,这是导致表单提交后PHP没反应的关键原因——正确的写法应该是大写的$_POST。另外你还笔误写了Yes is is,我顺便帮你改成了Yes it is

错误代码行:

<?php if(isset($_post['submit'])){ echo "Yes is is working"; } ?>

修正后:

<?php if(isset($_POST['submit'])){ echo "Yes it is working"; } ?>

2. 表单action属性的灵活写法

既然你的PHP代码和HTML表单在同一个文件(test.php)里,完全不用硬写文件名,把action设为空字符串action="",或者用$_SERVER['PHP_SELF']动态获取当前文件路径会更灵活,避免后续改文件名时还要修改这里:

<form action="" method="post">
<!-- 或者更严谨的安全写法 -->
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">

(加上htmlspecialchars()是为了防止XSS攻击,属于实用的安全小细节)

完整修正后的代码

<?php 
if(isset($_POST['submit'])){ 
    echo "Yes it is working"; 
} 
?>
<!DOCTYPE html>
<html>
<head>
    <title>testing form</title>
</head>
<body>
    <br><br><br><br>
    <form action="" method="post">
        <input type="text" name="name" placeholder="Enter Name"><br>
        <input type="text" name="location" placeholder="Enter location"><br>
        <input type="submit" name="submit">
    </form>
</body>
</html>

测试步骤

  1. 把上面的代码保存为test.php
  2. 在浏览器中打开这个文件,随便输入点内容后点击提交按钮
  3. 页面顶部应该会显示Yes it is working,这就说明表单数据已经成功传递给同一文件里的PHP代码啦

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

火山引擎 最新活动