You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP循环中生成带msg_id变量的删除链接失败求助

问题分析与解决方案

我一眼就发现问题所在了——你的删除链接里没有把msg_id的值输出到URL里!

错误原因

在你的删除链接代码中:

<a href="delete.php?msg_id=<?php $row["msg_id"]?>">delete</a>

这里的<?php $row["msg_id"]?>只是在PHP中访问了这个变量,但没有将它输出到HTML页面,所以最终生成的URL会是delete.php?msg_id=,后面没有实际的ID值,自然无法正确传递参数。

修正后的完整代码

只需要在变量前加上echo,把ID值输出到URL中即可:

<?php while($row = mysqli_fetch_assoc($result)) { ?>
  <li>
    <?php echo $row["msg"] ;?>(id: <?php echo $row["msg_id"] ;?>) | sent at <?php echo $row["data"] ;?> 
    <a href="message.php">see</a> | 
    <a href="delete.php?msg_id=<?php echo $row["msg_id"]; ?>">delete</a>
  </li>
<?php } ?>

额外优化建议

为了避免XSS攻击(跨站脚本),建议在输出用户提交的数据时,使用htmlspecialchars()函数进行转义,比如:

<?php echo htmlspecialchars($row["msg"]); ?>
(id: <?php echo htmlspecialchars($row["msg_id"]); ?>) | 
sent at <?php echo htmlspecialchars($row["data"]); ?>

这样可以防止恶意脚本被注入到页面中,提升代码的安全性。

内容的提问来源于stack exchange,提问作者bogdaNNN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:13:53