直接在后台数据库中删除(最直接、最简单)
这是最直接的方法,适合一次性清理少量数据或对技术不熟悉的用户。

(图片来源网络,侵删)
操作步骤:
-
登录你的网站后台 (
你的域名/dede/)。 -
进入SQL命令行工具:
- 在后台左侧菜单栏找到 “系统” -> “SQL命令行工具”。
-
编写并执行删除SQL语句:
(图片来源网络,侵删)-
情况A:删除单条记录
- 你需要找到要删除的那条记录的ID,你可以通过前台查看表单提交的内容,或者直接在数据库里查看。
- 假设你要删除的记录ID是
100,表单表名是dede_addon10。 - 在SQL命令行工具的文本框中输入以下命令:
DELETE FROM `dede_addon10` WHERE id = 100;
- 点击 “提交查询”,这条记录就会被永久删除。
-
情况B:批量删除所有记录
- 如果你想清空整个表单的所有提交数据,可以使用
TRUNCATE命令,它比DELETE更快,并且会重置自增ID。 - 假设表单表名是
dede_addon10。 - 输入以下命令:
TRUNCATE TABLE `dede_addon10`;
- 点击 “提交查询”。警告:此操作将删除该表中的所有数据,且无法恢复,请务必谨慎操作!
- 如果你想清空整个表单的所有提交数据,可以使用
-
优点:
- 简单快捷,无需修改任何文件。
- 适合一次性清理。
缺点:

(图片来源网络,侵删)
- 无法在前台进行操作,需要登录后台。
- 删除后无法恢复(除非你有数据库备份)。
修改模板,增加删除链接(推荐,适合需要前台管理的场景)
如果你想让用户或者管理员在浏览表单提交内容时,可以直接点击删除,就需要修改模板文件,并增加一个处理删除动作的页面。
操作步骤:
第1步:找到并修改列表模板
-
找到你的自定义表单列表模板:
- 这个模板通常位于
/templets/plus/目录下,文件名可能是list_你的表单ID.htm或者你在创建表单时指定的模板文件名。 - 你的自定义表单在后台的“自定义表单管理”中ID是
1,那么模板文件就是list_1.htm。
- 这个模板通常位于
-
编辑模板文件:
- 在你希望显示删除按钮的地方(比如每条记录的末尾),添加一个删除链接。
- 示例代码:
<li> 姓名:[field:name/] 电话:[field:tel/] <a href="javascript:;" onclick="delOne({field:id/})">删除</a> </li> - 这里的
{field:id/}会循环输出每条记录的ID。delOne是一个我们接下来要写的JavaScript函数。
-
在模板文件底部添加JavaScript代码:
- 在
</body>标签之前,添加以下JS代码,用于处理删除操作并给出用户提示。<script type="text/javascript"> function delOne(id) { if(confirm("确定要删除这条记录吗?此操作不可恢复!")) { window.location.href = "/plus/del.php?aid=" + id + "&dopost=del"; } } </script>
- 在
第2步:创建或修改 del.php 文件
del.php 是织梦处理删除操作的通用文件,我们需要让它能识别并删除我们自定义表单的数据。
-
找到
del.php文件:- 它位于
/plus/目录下。
- 它位于
-
修改
del.php文件:-
用代码编辑器打开它。
-
找到处理删除逻辑的核心代码段,通常在文件末尾附近,类似下面这样:
// ... 其他代码 ... if($dopost == 'del') { // ... 一些验证逻辑 ... // 删除附加表数据 $deladdSql = "DELETE FROM `dede_addon{$arcatt}` WHERE aid='$aid'"; $dsql->ExecuteNoneQuery($deladdSql); // ... 更多逻辑 ... } -
我们需要在
if($dopost == 'del')里面增加对自定义表单的判断。 -
修改后的代码大致如下(请根据你的实际情况调整):
// ... 其他代码 ... if($dopost == 'del') { // 获取你的自定义表单表名,例如是 dede_addon10 $custom_addon_table = 'dede_addon10'; // <--- 请务必修改成你自己的表名! // 判断要删除的是否是自定义表单的内容 // 你可以通过一个额外的参数来判断,比如自定义一个 &formtype=custom // 这里我们简单假设所有通过这个链接删除的都是自定义表单内容 // 更严谨的做法是检查 $arcatt 是否为自定义表单对应的ID // 删除自定义表单中的数据 $deladdSql = "DELETE FROM `{$custom_addon_table}` WHERE aid='$aid'"; if($dsql->ExecuteNoneQuery($deladdSql)) { ShowMsg('删除成功!', '-1'); exit(); } else { ShowMsg('删除失败!', '-1'); exit(); } } // ... 其他代码 ... -
关键点:
$custom_addon_table = 'dede_addon10';这一行必须修改成你自己的自定义表单表名,你可以在数据库中查看dede_arctype表或直接在后台表单管理里找到对应的表名。ShowMsg()是织梦的提示函数,'-1'表示返回上一页。
-
优点:
- 用户可以在前台直接操作,非常方便。
- 界面友好,有确认提示。
缺点:
- 需要修改模板和核心文件,对新手有一定门槛。
- 修改核心文件 (
del.php) 在升级织梦时可能会被覆盖,需要重新修改。
使用二次开发或插件(最规范、功能最强)
如果你的网站功能复杂,或者需要完善的权限管理(比如只有管理员能删除),建议使用二次开发或寻找现成的插件。
思路:
-
开发一个管理页面:
- 在后台创建一个新的菜单项,自定义表单管理”。
- 这个页面连接数据库,读取
dede_addonxx表中的所有数据,并以列表形式展示出来。 - 每条记录后面都有“删除”按钮,点击后调用一个专门的处理脚本(
delete_custom_form.php)来删除数据。 - 这个处理脚本的安全性比直接修改
del.php要高,可以加入更严格的权限判断。
-
寻找现成插件:
在DedeCMS的官方论坛、插件市场或第三方资源网站上搜索“自定义表单管理”、“自定义表单删除”等关键词,看是否有已经开发好的插件可以使用。
优点:
- 功能最强大,可扩展性最好。
- 界面美观,操作规范。
- 安全性高,可以集成用户权限系统。
缺点:
- 开发成本最高,需要一定的PHP编程基础。
- 寻找合适的插件可能需要花费时间。
总结与建议
| 方法 | 难度 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|---|
| 数据库操作 | ★☆☆☆☆ (非常简单) | 一次性少量数据清理;紧急删除。 | 无需修改文件,直接快速。 | 无法前台操作,删除后无法恢复。 |
| 修改模板 | ★★★☆☆ (中等) | 需要在前台提供删除功能;普通网站管理员。 | 用户友好,操作直观。 | 需要修改文件,升级可能被覆盖。 |
| 二次开发/插件 | ★★★★☆ (较难) | 功能复杂的网站;需要权限管理;长期维护的项目。 | 功能强大、规范、安全。 | 开发/寻找成本高,技术门槛高。 |
给你的建议:
- 如果你只是想偶尔删掉几条垃圾信息,用方法一最快。
- 如果你希望访客或普通管理员能在前台看到内容并自行删除,用方法二最合适。
- 如果你的网站是正式运营的,并且对管理功能要求较高,建议投入时间研究方法三,这样最稳定、最安全。
重要提醒: 在进行任何数据库操作或文件修改之前,请务必备份你的网站数据库和文件!以防操作失误导致数据丢失。
