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

点击删除按钮更新数据表列时提示comment_id未设置如何解决

问题原因

核心错误出在comment_frame.php的变量拼写:你构造表单action链接时用的变量是$comment_idd(末尾多了1个字母d),但实际存储有效评论ID的变量是$comment_id,这就导致传到delete_comment.php的comment_id参数为空,isset()判断不通过,自然就进入else分支输出「Not set」。

修复方案

把comment_frame.php里action部分的变量名改成正确的$comment_id即可,修正后的代码如下:

if ($userLoggedIn == $posted_by) {
    $delete_button = "
    <form action='includes/form_handlers/delete_comment.php?comment_id=$comment_id' method='GET' >
        <button name='delete_com' class='delete_comment btn-danger'>X " . $comment_id . "</button>
    </form>";
    echo $delete_button;
}

额外优化建议

  • 不要用GET请求执行删除操作,GET属于幂等的只读请求,容易被浏览器预加载、爬虫爬取时误触发删除,建议把表单改为method="POST",参数放在表单隐藏域里传递,后端对应改用$_POST接收。
  • 后端拿到评论ID后要做二次权限校验,不要只依赖前端的$userLoggedIn == $posted_by判断,防止越权删除他人评论。
  • 补充参数校验逻辑,比如判断接收到的comment_id是否为合法数字,避免SQL注入风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:15:02