闲来无事又开始用AI折腾EMLOG.发现没有发起投票功能.强迫症表示高低得安排一个.
目录结构如下:
./EMLOG_vote/
├─ vote.php # 插件头、引入 lib、注册钩子
├─ vote_callback.php # 建表/升级/删表
├─ vote_lib.php # 数据层、校验、渲染、IP 哈希
├─ vote_show.php # 前台 AJAX(?plugin=vote)
└─ static/
├─ vote.css
└─ vote.js
反正是AI生成的 我也不太懂.是否有啥不妥.若有 还请各路大神指点一二哈.
需求实现
- 一篇文章可以包含多个投票:编辑页的「添加投票」可以连点多次创建多个投票;保存后,这些投票按顺序显示在文章正文末尾。
- 投票后锁定:当某个投票已有参与者后,它的类型、选项和「其他」开关在界面上被禁用;服务端也会强制忽略这些字段的修改,只允许修改标题。只要有投票记录,编辑页就会隐藏删除按钮,服务端也会拒绝删除。
- 后台明细:点击后台侧边栏「文章投票」,会按文章列出所有投票和每个选项的票数;点「明细」可查看每一条记录,包括时间、IP、所选选项和「其他」补充文字,并且可以按单个选项筛选。
-
类型与「其他」:发布投票时选择单选或多选;勾选「包含其他」后,投票者可以填写补充说明,前端、后端和数据库把说明限制为 20 个字符。
另外:游客可以投票,每个 IP 对每个投票只能投一次(通过数据库唯一索引,并发情况下也安全);投票前只显示选项,投票后显示各选项票数和百分比;同一个 IP 再次提交时会提示「已参与过」。发一个试试水先.
评论一下?