PHP多页表格操作刷新后保留滚动位置与当前页码问题咨询
问题根源
你遇到的跳转后始终回到第1页的问题,是两个语法错误共同导致的:
- URL参数拼接错误,多个参数之间应该用
&分隔而不是重复用? - validation.php的逻辑和重定向语法存在错误
修复步骤
1. 修改index.php中的Valider按钮链接
找到表格中Valider按钮的a标签代码,将第二个参数前的?替换为&:
<!-- 原错误代码 --> <a href="validation.php?id=<?php echo $data['id']; ?>?page=<?php echo $page ?>">Valider</a> <!-- 修改后正确代码 --> <a href="validation.php?id=<?php echo $data['id']; ?>&page=<?php echo $page ?>">Valider</a>
2. 重写validation.php代码
原代码中冗余引入了index.php、缺少page参数获取逻辑、重定向header语法错误,完整修正后的代码如下:
<?php include 'db.inc.php'; // 获取传入的参数 $id = $_GET['id']; $page = isset($_GET['page']) ? intval($_GET['page']) : 1; // 转义id避免SQL注入,建议后续改为预处理语句更安全 $safe_id = mysqli_real_escape_string($db, $id); $edit = mysqli_query($db, "update `database` set B='Validé' where id='$safe_id'"); if($edit) { mysqli_close($db); // 补全Location头前缀,正确跳转 header("Location: index.php?page=".$page); exit; } else { echo mysqli_error($db); } ?>
额外优化建议
原有代码存在SQL注入风险,建议将更新操作改为mysqli预处理语句写法,避免被恶意攻击。
内容的提问来源于stack exchange,提问作者Sans
相关产品推荐
相关产品推荐

