帝国CMS短消息功能默认用于后台管理员沟通,前台需自定义开发实现。通过操作[!db.pre!]enewsmsend表,结合登录用户ID查询收发消息,可在前台展示消息列表并实现发送功能,核心是数据库操作与权限验证。

帝国CMS的短消息功能默认主要在后台使用,如果要在前台调用并实现用户查看或发送短消息,需要通过自定义开发结合系统提供的数据库表和函数来完成。系统自带的“短消息”功能(msend)通常用于后台管理员之间沟通,前台并不直接开放此功能。
1. 理解短消息数据结构
帝国CMS的短消息存储在数据库表 `[!db.pre!]enewsmsend` 中,主要字段包括:
- id:消息ID
- fuid:发件人ID
- fu:发件人用户名
- touid:收件人ID
- tou:收件人用户名
- title:消息标题
- msg:消息内容
- sendtime:发送时间
- isre:是否为回复
要实现在前台调用,核心是根据当前登录用户的ID($userid)查询其收到或发送的消息。
2. 前台调用的基本实现方法
可以通过在模板中插入PHP代码,从数据库读取当前用户的消息列表。以下是一个简单的示例代码,可放入前台页面(如会员中心):
query("SELECT * FROM {$dbtbpre}enewsmsend WHERE touid=$userid ORDER BY sendtime DESC LIMIT 20");
while($r = $empire->fetch($sql)){
echo '';
echo ''.$r['title'].'
';
echo '来自:'.$r['fu'].' | 时间:'.date('Y-m-d H:i', $r['sendtime']).'
';
echo ''.$r['msg'].'
瑞志企业建站系统(ASP版)2.2
支持模板化设计,基于标签调用数据 支持N国语言,并能根据客户端自动识别当前语言 支持扩展现有的分类类型,并可修改当前主要分类的字段 支持静态化和伪静态 会员管理功能,询价、订单、收藏、短消息功能 基于组的管理员权限设置 支持在线新建、修改、删除模板 支持在线管理上传文件 使用最新的CKEditor作为后台可视化编辑器 支持无限级分类及分类的移动、合并、排序 专题管理、自定义模块管理 支持缩略图和图
下载
';
echo '';
}
}
?>注意:真实环境中需通过 SESSION 或 COOKIE 获取已登录用户的 $userid,并做好权限验证,防止越权访问。
3. 发送短消息的前台表单
若要在前台实现发送功能,可创建一个HTML表单,提交后执行插入数据库操作。关键步骤如下:
- 创建表单,包含“收件人用户名”、“标题”、“内容”等字段
- 接收表单数据,通过 $empire->query() 插入 `enewsmsend` 表
- 插入时需同时填写发件人ID/名、收件人ID/名、时间等信息
- 建议加入验证码和防灌水机制
4. 使用插件简化操作
已有第三方插件扩展了帝国CMS的短消息功能,例如:
- “按用户名批量发送短消息”插件,在后台增加了发送界面(/e/admin/member/MySendMsg.php)
- 部分插件支持前台展示评论回复或系统通知
这类插件通常只增强后台功能,若需完整前台交互,仍需在此基础上二次开发,将功能暴露到前台模板。
基本上就这些,核心是操作数据库表并确保用户权限安全。









