PHP POST方法失效:仅移除样式后才可正常工作
表单添加Bootstrap样式后无法提交的解决办法
你的问题和样式无关,核心错误是提交按钮用错了标签:你用了<a>标签来做提交按钮,但<a>标签的默认行为是跳转页面,不会触发表单的提交动作,哪怕你加了type="submit"属性也没用——这个属性只对<button>或<input>标签生效。
之前移除样式后能正常工作,应该是你换成了原生的提交按钮(比如<input type="submit">),所以才触发了提交动作。
修改方案
把原来的<a>标签替换成<button>标签,保留所有Bootstrap样式类即可:
<?php if(isset($_POST['register'])) { echo "Working"; } ?> <form method="post" action="register.php"> <!-- 其他表单内容保持不变 --> <div class="mt-4 mb-0"> <div class="d-grid"> <!-- 核心修改:将<a>标签替换为<button>标签 --> <button class="btn btn-primary btn-block" type="submit" name="register" id="register"> Create Account</button> </div> </div> </form> <!-- 后续脚本内容保持不变 --> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script> <script src="js/scripts.js"></script> </body> </html>
修改后点击按钮就能正常触发表单提交,PHP代码也能检测到$_POST['register']了。
内容的提问来源于stack exchange,提问作者yodo
相关产品推荐
相关产品推荐

