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

PHP+MySQL待办清单添加删除按钮点击无响应无报错求助

问题根因

核心错误为前后端传递的待删除ID参数名不匹配:
前端删除链接中定义的ID参数名为item,但你的后端删除逻辑中使用$_GET['id']接收参数,无法获取到正确的待删除条目ID,导致DELETE语句的查询条件永远匹配不到数据,因此没有删除动作执行也无报错。

修复方案

二选一即可:

  • 方案1:修改后端delete.php中的参数接收逻辑,将参数名改为和前端一致的item
  • 方案2:修改前端删除链接的参数名,将item改为和后端一致的id

修正后的delete.php示例代码

<?php
require_once 'app/init.php';

// 新增isset判断避免未传参数时报警告
if(isset($_GET['delete']) && isset($_GET['item'])){

   $id =  $_GET['item']; // 修改为接收前端传递的item参数

    $deleteQuery = $db->prepare("
    DELETE 
    FROM todo_list
    WHERE id = :id
    AND user = :user LIMIT 1
    ");

    $deleteQuery->execute([
        'id' => $id,
        'user' => $_SESSION['user_id']
    ]);

    // 可临时添加以下代码调试,确认删除行数,调试完成后删除即可
    // echo '成功删除行数:' . $deleteQuery->rowCount();
    // exit;
}

header('Location: index.php');
?>

其他可选排查项

如果修改参数名后仍然无法删除,可按以下顺序排查:

  • 确认app/init.php中已经调用了session_start(),否则$_SESSION['user_id']不存在,会导致删除条件匹配失败
  • 确认数据库中todo_list表的user字段存储的值和$_SESSION['user_id']的类型、值完全一致,避免字符串/数字类型不匹配导致的条件失效
  • 临时注释header('Location: index.php')代码,打开PHP错误显示,查看是否有数据库连接、语法相关的报错信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 06:36:05