PHP跨文件传递MYSQL行ID到update.php表单自动填充问题求助
修复方案
存在的问题
- URL参数分隔错误:多个GET参数需要用
&分隔,你当前跳转链接里用了两个?,导致i参数无法被正确传递到目标页面 - 表单提交方式不匹配:update.php里表单用
method="GET"提交,但后续更新逻辑用$_POST接收参数,导致提交后无法触发更新操作 - ID填充逻辑错误:ID输入框的value属性输出的是固定字符串
"id",没有输出你提前从GET参数里拿到的$id变量 - 标签语法错误:update.php的form标签缺失开头的
< - 多余错误代码:Display.php中循环外有一行提前输出
$result的代码,此时$result还未赋值,会抛出PHP警告
修正后的代码
Display.php修正部分
只需要修改循环内的Update跳转链接即可:
// 原来的错误链接 // <td><a href = 'http://mexyz.tech/?page_id=586?i=$result[id]'>Update</td> // 修正后 <td><a href = 'http://mexyz.tech/?page_id=586&i={$result['id']}'>Update</td>
同时删除循环外多余的那行echo $result[...];代码。
update.php修正后的完整代码
<?php include("connection.php"); // 加判空避免未传参时报错 $id = $_GET['i'] ?? ''; ?> <!-- 补全form开头标签,提交方式改成POST和后续接收逻辑匹配 --> <form action="" method="POST"> Enter id : <input type="text" value="<?php echo $id ?>" name="id" required> <br><br> Enter Query Code: <input type="text" name="QC"> <br><br> <td> <select name="Status"> <option>Choose Option</option> <option>Pending</option> <option>Assigned</option> <option>Resolved</option> </select> </td> <br><br> <input type="submit" value="Submit" name="Submit"> </form> <?php if (isset($_POST['Submit'])) { $ids = $_POST['id']; $s = $_POST['Status']; $QC = $_POST['QC']; $tablename = "query_data"; $data = array("Status" =>$s, "Query_Code" =>$QC); $wherecondition = array('id' => $ids); $updated = $wpdb->update( $tablename, $data, $wherecondition ); if ($updated == true) { echo "<script> alert('Submitted Successfully!...')</script>"; } } ?> </div><!-- #primary --> <?php if (astra_page_layout() == 'right-sidebar') : get_sidebar(); endif; get_footer();
内容的提问来源于stack exchange,提问作者Prajwal Babar
相关产品推荐
相关产品推荐

