
本文旨在解决 php 的 `$_post` 超全局变量未能成功捕获表单提交数据的问题。文章将深入探讨一个常见的疏忽:即未能将输入字段和提交按钮正确地封装在带有 `method="post"` 属性的 html `
正确的 HTML 表单结构:
<form action="" method="post">
<div class="row inputRow">
<div class="col-2">
<h5> first name<h5>
<input type="text" class="form-control" placeholder="fname" name="fname" value="<?php if (isset($_GET['trn']) && $_GET['trn']=='UPDATE'){ echo $fname;} ?>">
</div>
<div class="col-2">
<h5> last name<h5>
<input type="text" class="form-control" placeholder="lname" name="lname" value="<?php if (isset($_GET['trn']) && $_GET['trn']=='UPDATE'){ echo $lname;} ?>">
</div>
<div class="col-2">
<h5> username<h5>
<input type="text" class="form-control" placeholder="username" name="username" value="<?php if (isset($_GET['trn']) && $_GET['trn']=='UPDATE'){ echo $username;} ?>">
</div>
<div class="col-2">
<h5> password<h5>
<input type="text" class="form-control" placeholder="password" name="password" value="<?php if (isset($_GET['trn']) && $_GET['trn']=='UPDATE'){ echo $password;} ?>">
</div>
<div class="col-6">
<h5> User type<h5>
<select class="form-select" aria-label="Default select example" name="type">
<option value="administrator" <?php if (isset($_GET['trn']) && $_GET['trn']=='UPDATE' && $id=='administrator'){ echo 'selected';} ?>>administrator</option>
<option value="customer" <?php if (isset($_GET['trn']) && $_GET['trn']=='UPDATE' && $id =='customer'){ echo 'selected';} ?>>customer</option>
</select>
</div>
<?php
// 按钮现在也在 <form> 标签内部
if (isset($_GET['trn']) && $_GET['trn']=='UPDATE'){
echo '<button type="submit" class="btn btn-primary addOrder" name="UpdateBtn">Update list</button>';
}else{
echo '<button type="submit" class="btn btn-primary addOrder" name="AddOrder">Add list</button>';
}
?>
</div>
</form>将上述代码部署后,当用户点击 "Update list" 按钮时,浏览器会将表单中的所有带有 name 属性的输入元素(包括 fname, lname, username, password, type 以及 UpdateBtn)通过 POST 请求发送到服务器。此时,PHP 脚本中的 $_POST['UpdateBtn'] 就会被正确识别,相应的更新逻辑也将被触发。
当 PHP 的 $_POST 变量无法获取预期的表单数据时,最常见且首要的检查点是确保所有相关的输入元素和提交按钮都被正确地包裹在带有 method="post" 属性的 HTML
以上就是解决 PHP $_POST 无法获取表单提交数据的问题的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号