PHP Bootstrap表单提交后isset($_POST['submit'])为空问题求助
表单提交后
isset($_POST["submit"])返回空的解决方案 核心问题:提交按钮缺少name属性
你代码里的提交按钮仅设置了type="submit",但没有添加name="submit"属性。表单提交时,只有带name属性的控件才会将数据传入$_POST数组,因此$_POST["submit"]不存在,isset()自然返回false。
解决方法:给提交按钮补上name属性:
<button class="btn btn--radius-2 btn--red" type="submit" name="submit">Register</button>
顺带修复表单其他潜在问题(避免后续踩坑)
- 单选框
id重复:两个单选按钮的id均为whatsappnumber,HTML要求id必须唯一,且单选框建议添加明确的value值,修改如下:
<label for="whatsappnumber_yes" class="radio-container m-r-55">Yes <input type="radio" checked="checked" id="whatsappnumber_yes" name="whatsappnumber" value="yes"> <span class="checkmark"></span> </label> <label for="whatsappnumber_no" class="radio-container">No <input type="radio" name="whatsappnumber" id="whatsappnumber_no" value="no"> <span class="checkmark"></span> </label>
- 标签
for属性关联错误:Mobile Number模块的label错误关联了emailid,应改为对应输入框的id:
<div class="form-row"> <div class="name">Mobile Number</div> <label for="mobilenumber" class="label--desc"></label> <div class="value"> <div class="input-group"> <input class="input--style-5" type="text" id="mobilenumber" name="mobilenumber"> </div> </div> </div>
验证修改后的PHP逻辑
修改表单后,registration-logic.php中的检测逻辑即可正常工作,可通过以下代码调试:
<?php if(isset($_POST["submit"])){ echo "表单提交成功"; // 打印所有POST数据用于调试 print_r($_POST); } ?>
内容的提问来源于stack exchange,提问作者MARTIN ROBERT
相关产品推荐
相关产品推荐

