最近工作中需要完成一个评论的功能,上网查找了几个评论系统的展示样式。最后参考“多说”和“畅言”等评论系统,自己使用PHP语言实现了一个简单的评论系统。...具体实现方案如下(在ThinkPHP框架上实现): 1、递归方式 优点:实现代码简单,而且如果评论的层级固定在5个层次一下的话,建议使用该种方法,这样前端通过这种数据结果实现简单。...缺点:如果评论的层级没有固定的话,前端将无法展示评论信息了,而且如果层级太多的话,将会极大的消耗内存,更要命的是每次递归都得查询数据库,性能将大大的降低。.../** * @param $arc_id 文章id * @param int $comm_id 评论id * @param array $result * @return array */...可以实现n层级的评论,前端也能很好的展示 缺点:代码稍微复杂,对于固定的层级评论,前端展示评论较为复杂。
简单模仿了一个评论模板,当然肯定是没有博客的 valine 这么强大的 hhhh, PHP 表单安全性的重要提示 $_SERVER["PHP_SELF"]变量能够被黑客利用!...php echo htmlspecialchars($_SERVER['PHP_SELF']);?...php echo $name;?>"> * "> * 评论:<?php echo $comment;?
昨天晚上 @roker 在小密圈里问了一个问题,就是eval(xxx),xxx长度限制为16个字符,而且不能用eval或assert,怎么执行命令。 我把他的叙述写成代码,大概如下: <?...PHP会认为N是一个常量,但我之前并没有定义这个常量,于是PHP就会把它转换成字符串'N';第二个参数是要写入的数据,a也被转换成字符串'a';第三个参数是flag,当flag=8的时候内容会追加在文件末尾...于是微博上 @买贴膜的 想出一个办法,每次向文件'N'中写入一个字母或数字,最后构成一个base64字符串,再包含的时候使用php://filter对base64进行解码即可。...变长参数是PHP5.6新引入的特性,文档在此: http://php.net/manual/zh/migration56.new-features.php 和Python中的**kwargs,类似,在PHP...POST /test.php?
经常在各大论坛或新闻板块详情页面下边看到评论功能,当然不单单是直接发表评论内容那么简单,可以对别人的评论进行回复,别人又可以对你的回复再次评论或回复,如此反复,理论上可以说是没有休止,从技术角度分析很容易想到运用无限级分类技术存储数据...一、效果需求分析: 1.在头部可以直接发布一级评论,最新发表的评论显示在最上面,如下效果图 ? 2.对发表的评论可以回复,回复显示在上级评论下边,形成层级关系,如下效果图 ?...3.页面操作细节:点击某个评论的回复按钮时,显示回复文本输入框,同时其他评论的回复文本输入框消失,当再次点击该回复按钮时,该文本框消失 4.在最后一级评论(这里设置是第三级)关闭回复功能 5.即时显示评论总数...<html lang="en" <head <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" <title php...测试用数据 var replyswitch = $(this).attr("replyswitch");//获取回复开关锁属性 $.ajax({ type:"POST", url:"/index.php
如果我们在制作和设计ZBlog PHP主题的时候,自用主题其实并不需要多么自动化,只需要能实现功能即可。有些代码调用我们直接不需要做成模块,可以直接用代码嵌入在主题中直接调用。...包括前面有提到的调用随机文章(ZBlog PHP随机调用文章代码 任意调用站内文章),在这篇文章中再分享一个可以调用评论的代码。...','1')), array('comm_PostTime' => 'DESC'), 10, null); {/php} {foreach $comments as $comment} {php}$clpl...>{$comment.Author.Alias} 评论于...默认是10条评论,标题是60个字符,如果我们需要可以进行调整合适的。 本文出处:老蒋部落 » ZBlog PHP无插件调用最新评论标题的方法 | 欢迎分享
在开发过程中经常会遇到分级场景,如菜单分级、评论、商品类型分级等;在同一张mysql数据表中可能设计单表结构,如同如下数据: $menuList = [ [ 'id' = 1,'parent_id...php class Menu { /** * 递归循环菜单列表, 转化为菜单树 * @param $treeList 菜单树列表 * @param $menuList 菜单列表 *
本文介绍RSA加解密中必须考虑到的密钥长度、明文长度和密文长度问题,对第一次接触RSA的开发人员来说,RSA算是比较复杂的算法,天缘以后还会补充几篇RSA基础知识专题文章,用最简单最通俗的语言描述RSA...本文先只谈密钥长度、明文长度和密文长度的概念知识,RSA的理论及示例等以后再谈。提到密钥,我们不得不提到RSA的三个重要大数:公钥指数e、私钥指数d和模值n。...但我们说的“密钥长度”一般只是指模值的位长度。目前主流可选值:1024、2048、3072、4096... 2、模值主流长度是多少?...二、明文长度 网上有说明文长度小于等于密钥长度(Bytes)-11,这说法本身不太准确,会给人感觉RSA 1024只能加密117字节长度明文。...所以,RSA实际可加密的明文长度最大也是1024bits,但问题就来了: 如果小于这个长度怎么办?
偶然的机会,在准备做小半谈否 API 的时候,正在寻找用户人群时看到了利器 (liqi.io) 网站 他们使用了一款 2015年(貌似是) 由一个国外开发者做的句子标记插件,实现了文章中点击句子即可标记并评论的功能...php } ?...> ↑ 文章页展示评论区块 $(function(){ var len = $('.new-single-content-pad...php } ?...stats'=>'0')); } die(); } } // 将接口加到 init 中 add_action('init', 'send_post_mark_comment'); ↑ 提交评论
val[1]; 7 }; 变量 描述 1 gc 变量的引用计数信息,内存管理会用到 2 h harh code, 字符串通过Times33算法计算得到的 3 len 字符串的长度...注意: 1. zend_string = 引用计数 + 字符串hash code + 字符串长度 + 字符串内容。 2. 字符串val是一个可变数组,val[1]表示默认存放'\0' 字符串结束符。...字符串是这样存放的: val[0] = 't' val[1] = 'e' val[2] = 's' val[3] = 't' val[4] = '\0' 字符串结束符 参考资料: http://www.php-internals.com.../ PHP7内核剖析 作 者: Jackson0714 出 处:http://www.cnblogs.com/jackson0714/ 关于作者:专注于微软平台的项目开发...特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。
PHP 内核之旅系列 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli PHP内核之旅-3.变量 PHP内核之旅-4.字符串 一、字符串源码 zend_string 1 typedef...val[1]; 7 }; 变量 描述 1 gc 变量的引用计数信息,内存管理会用到 2 h harh code, 字符串通过Times33算法计算得到的 3 len 字符串的长度...注意: 1. zend_string = 引用计数 + 字符串hash code + 字符串长度 + 字符串内容。 2. 字符串val是一个可变数组,val[1]表示默认存放'\0' 字符串结束符。.../ PHP7内核剖析 作 者: Jackson0714 出 处:http://www.cnblogs.com/jackson0714/ 关于作者:专注于微软平台的项目开发...特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。
HTTP GET请求的最大长度是多少? 是否定义了一个响应错误,如果服务器收到超过此长度的GET请求,服务器可以/应该返回该错误?...至于客户端问题,HTTP 1.1规范甚至对此有所警告,这是第3.2.1章的摘录: 注意:服务器应谨慎使用255个字节以上的URI长度,因为某些较旧的客户端或代理实现可能无法正确支持这些长度。...因此,我们可以假定8KB是最大可能的长度,而2KB是在服务器端依赖的更合理的长度,并且255个字节是假定整个URL都将进入的最安全的长度。...---- #4楼 您在这里问两个独立的问题: HTTP GET请求的最大长度是多少? 如前所述,HTTP本身并未对请求长度施加任何硬编码的限制。...是否定义了一个响应错误,如果服务器收到超过此长度的GET请求,服务器可以/应该返回该错误? 那是没人回答的那个。
最后,这个评论是关联到某篇文章(Post)的,由于一个评论只能属于一篇文章,一篇文章可以有多个评论,是一对多的关系,因此这里我们使用了 ForeignKey。...created_time 记录用户发表评论的时间,我们肯定不希望用户在发表评论时还得自己手动填写评论发表时间,这个时间应该自动生成。 创建了数据库模型就要迁移数据库,迁移数据库的命令也在前面讲过。...当用户想要发表评论时,他找到我们给他展示的一个评论表单(我们已经看到在文章详情页的底部就有一个评论表单,你将看到表单呈现给我们的样子),然后根据表单的要求填写相应的数据。...,因为后面需要把评论和被评论的文章关联起来。...{% endfor %} 接下来尝试在详情页下的评论表单提交一些评论数据,可以看到详情页的评论列表处渲染了你提交的评论数据。
像我们常用的WordPress、ZBLOG PHP程序只需要修改定制主题即可实现企业网站。...今天在整理一个ZBLOG PHP程序制作的企业网站发现升级版本之后导致调出的文章有些兼容问题,于是找到重新调用文章的方法,这里一并整理下来。...1、调用评论最多的文章 {php} $order = array('log_CommNums'=>'DESC'); $where = array(array('=','log_Status','0'))...} {$hotlist.CommNums}评论 {$hotlist.Title...本文出处:老蒋部落 » ZBLOG PHP调用评论最多的文章/点击最多的文章方法 | 欢迎分享
最后,这个评论是关联到某篇文章(Post)的,由于一个评论只能属于一篇文章,一篇文章可以有多个评论,是一对多的关系,因此这里我们使用了 ForeignKey。...当用户想要发表评论时,他找到我们给他展示的一个评论表单(我们已经看到在文章详情页的底部就有一个评论表单,你将看到表单呈现给我们的样子),然后根据表单的要求填写相应的数据。...,因为后面需要把评论和被评论的文章关联起来。...{% endfor %} 接下来尝试在详情页下的评论表单提交一些评论数据,可以看到详情页的评论列表处渲染了你提交的评论数据。...https://www.zmrenwu.com/courses/django-blog-tutorial/materials/13/ 多级评论实例 需求分析 一般论坛中有评论和子评论,这样很容易就成了一个评论树
:「WPJAM 评论增强」插件。...后台评论管理 因为评论置顶的功能是针对单篇文章的评论才能置顶,所以我在 WordPress后台 「文章」菜单下,添加了「文章评论」子菜单: 在该界面,我把页面分成左右两块,左边首先显示文章列表,点击某篇文章即可显示该篇文章的评论列表...管理员添加评论 另外一个比较重要的功能是:管理员可以给一些文章添加一些评论来丰富文章的内容了,操作也非常简单,在后台的文章列表,点击「添加评论」按钮: 就会弹出管理员添加评论的界面: 按照要求输入平路用户的昵称...前台评论展示和点赞 前端界面无需更改任何代码,即可实现点赞,置顶评论的作者昵称前会显示置顶的图标,其他评论则按照点赞数排序。...评论增强 支持评论点赞,评论置顶和按照点赞数排序。 图片集 1. 给媒体创建个分类「图片集 | collection」 2. 图片分类限制为二级 3. 取消图片编辑入口 4. 附件页面直接图片链接。
对于本项目,设计的是,既可以评论,也可以进行回复,评论和回复分开存储。在显示上,评论和回复显示的位置不同,回复相较于评论向右靠一些,这样,看起来比较舒适,当然也可以设置成其他的样式。...评论会显示评论者头像,回复不会。 评论的管理:后台系统应该具备基本的评论管理功能,比如:删除,折叠,优选,排序。...三、数据库表的设计: 本评论功能采用评论和回复分离的方式进行存储,一共设计了两张表,一张用户评论表(comment),一张针对评论的回复表(comment_reply)。...评论表主要保存对文章或者回答的评论,回复表保存对每一条评论的回复。...评论表(comment)如下图:主要包括了:评论ID(作为回复表的主键),回答(文章)ID,评论者ID,评论内容,点赞数,评论时间,审核状态 评论回复表(comment_reply)如下图:
typecho 在评论时默认是没有 @ 评论人的功能,可以用代码加一下。...在 functions.php 中: /* * 评论回复时 @ 评论人 */ function get_comment_at($coid) { $db = Typecho_Db::get()..."){ if (@$prow['status'] == "waiting"){ echo '(评论审核中...))'; }else{ echo ''; } } } 然后在 comments.php 中输出评论内容代码的前面加上: coid)?> ▼代码所示 ▼效果图
记录下如何为小程序评论组件添加内容安全检测功能 最近打算为之前做的小程序增加评论功能,提交审核被拒,理由是存在信息安全风险 ? 于是就需要修改 WxComment 组件增加检测功能了。...# 修改评论组件 找到 WxComment/component/WxComment/WxComment.js 文件 在 bindFormSubmit 方法前追加如下方法: async checkMsg(...false; } }, bindFormSubmit 函数前增加 async 关键字,如下: async bindFormSubmit(e) 修改 bindFormSubmit 函数,在判断内容长度的后面追加如下代码
WPJAM「评论增强插件」新增后台添加评论功能,这样管理员也给一些文章添加一些评论来丰富文章的内容了,操作也非常简单,在后台的文章列表,点击「添加评论」按钮: 就会弹出管理员添加评论的界面: 按照要求输入平路用户的昵称...,上传头像,撰写评论内容,点击添加即可。...评论增强 支持评论点赞,评论置顶和按照点赞数排序。 图片集 1. 给媒体创建个分类「图片集 | collection」 2. 图片分类限制为二级 3. 取消图片编辑入口 4. 附件页面直接图片链接。...外部链接 将文章或评论中的外部链接加上安全提示的中间页。 让用户确认之后再跳转,并还支持添加 nofollow rel 属性。 话题标签 文章中插入 #话题标签#。
前几天把这个主要的博客的评论系统切换为 Disqus 了。 用的是 DisqusJS 的代理。巧了,DisqusJS 在几天之后发布了 3.0.0 的更新。...在追求极致速度的同时,却换上 Disqus 如此臃肿的评论系统。简直离经叛道? 其实原因很简单: 首先,Twikoo 和 Waline 都不再轻量了,至少不是我想要的那种轻。...毕竟生活中不止维护评论系统这一件事,所以基本上会忘记上次更新部署时做了些什么。 还如上文所述,有些更新对我来说也是可有可无的。 Disqus Disqus 是不是最优解?不是。...其实现在独立博客盛景不再,要不要评论系统又有什么关系呢。
领取专属 10元无门槛券
手把手带您无忧上云