PHP表单提交无响应问题:初次学习PHP遇提交无输出情况
表单提交后PHP无输出的排查方案
针对你遇到的表单提交后无反应、无报错的情况,结合你的代码,主要排查以下几个点:
1. 表单提交目标文件不匹配
你的表单设置了action="users.php",但如果当前编写PHP判断代码的文件不是users.php,提交后页面会跳转到users.php(文件不存在则显示404,存在但无对应PHP逻辑也不会输出内容),而你写的if(isset($_POST["submit"]))判断代码在当前文件,自然不会执行。
解决方法:
- 若要提交到当前页面,把
action属性留空:<form action="" method="POST"> - 或者明确指定当前文件的文件名,比如当前文件是
index.php,就写<form action="index.php" method="POST">
2. 开启PHP错误显示排查潜在问题
默认情况下PHP可能关闭了错误显示,即使代码有问题也看不到报错。可以在PHP代码最开头加上以下代码,强制开启错误显示:
<?php error_reporting(E_ALL); ini_set('display_errors', 1); if(isset($_POST["submit"])){echo "it is done";} ?>
这样如果有语法错误、变量未定义等问题,会直接在页面上显示,方便排查。
3. 清除浏览器缓存
有时候浏览器会缓存旧页面,导致提交后看不到更新的内容。可以按下Ctrl+F5强制刷新页面,再测试提交。
修改后的完整示例代码
<?php error_reporting(E_ALL); ini_set('display_errors', 1); if(isset($_POST["submit"])){echo "it is done";} ?> <!DOCTYPE html> <html lang="en"> <head> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous"> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div class="container"> <div class="col-xs-6"> <form action="" method="POST"> <div class="form-group"> <label for="username">username</label> <input type="text" class="form-control" name="username"> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" name="password" class="form-control"> </div> <input type="submit" name="submit" value="Submit" class="btn btn-primary"> </form> </div> </div> </body> </html>
内容的提问来源于stack exchange,提问作者Blakjay116
相关产品推荐
相关产品推荐

