重新编写了Trackback程序

王志勇 发表于 2009年10月10日 11:28

因为xml的Trackback方式,时常会收到批量的spam,并且xml有时会发送失败,所以我放弃这种方式很久了。取而代之的是类似于发表评论的方式,直接在网页上发表Trackback。事实上,评论程序与这里要谈的直接发送Trackback的程序,95%以上是一样的。因为程序大致相同,所以我现在将评论程序、Trackback程序的公共部分写在另外的文件如gr.php,然后gr.php被这2个程序用include()函数调用

因为www.auciou.com整个Blog都是最近重新编写的,所以Trackback程序也需要重新编写。我的评论程序与Trackback程序的表单名称相同的是:用户名、留言内容;不同的是URL代表的含义不同,Trackback程序有文章标题。相同的表单,可以做相同的处理。

因为我的评论采用审核的方式,所以每个帖都有单独的序号,以便于在后台处理时能够直接找到这个帖子,Trackback在序号后面加个字母“t”。例如3楼帖子的序号是3,4楼正好发了一条Trackback,4楼的序号为4t,5楼评论的序号是5。有了字母“t”,程序就能识别是评论,还是Trackback。

批量审核一篇博客的评论时,$tn值为含有“t”的序号数量,可以计算出本篇博客共有多少个Trackback待审核,$ne计算出共有本篇博客多少个评论(包含Trackback数,因为评论和Trackback都是写在同一组数据库),$ne2=$ne-$tn,$ne2计算出本篇博客有多少个非Trackback的评论。

这样计算$tn的值,假设$ac是帖子的序号:

<?$tn=0;
if (strpos($ac,"t")) $tn++; //此语句用于循环程序中
?>

在数据统计中,需要实现的功能是当审核Trackback时,网站的Trackback总数统计加一,评论总数不变;单篇博客的Trackback数和评论数的统计,各加一。

用了4个多小时,程序重新调整完毕,是在原有的评论程序comments.php上,以及审核程序上做的调整,已含有多条规则的防spam功能,与原有功能整合起来很方便。实例:http://www.auciou.com/commence/trackback/79

4条评论:
1   唏嘘一世 2009-10-10 14:54
Trackback好像很冷门的功能,国内的Blogger很少使用。
2   自由勇 2009-10-10 17:48
也可以站内给自己发Trackback。
3   lu 2009-10-11 06:35
这程序很有个性
4   华晨 2009-10-12 16:24
最喜欢志勇兄的技术文章了,我也在想着给自己博客写个trackback,但是还不是很清楚它到底怎么回事呢。

发表评论:
名字: (*必填)
博客: (可省)

正文:

  记住信息?

直接发送Trackback到此文章

说明:本评论系统不支持HTML代码。(您的留言需要审核,审核规则请见这里。)

王志勇:1980-09-26 (38周岁)
程序设计,前端设计。

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

Blog存档 Archives

2018年11月
2018年10月(30)
2018年09月(17)
2016年-2017年(9)
2014年06月-09月(10)
2013年 +

2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2018 auiou.com All rights reserved.
此Blog程序由王志勇编写 已经发布在Arsue