php 评论系统 源码,PHP教程:PHP+Mysql无刷新问答评论系统(源码)

《PHP教程:PHP+Mysql无刷新问答评论系统(源码)》要点:

本文介绍了PHP教程:PHP+Mysql无刷新问答评论系统(源码),希望对您有用。如果有疑问,可以联系我们。

PHP应用针对某一篇文章进行评论

PHP应用

function subcomment() {

$data['uid'] = getUserid();

$data['mtype'] = I("post.mtype", 0, 'int');

if ($data['uid'] == '') {

echo json_encode(array("code" => -1));

} else {

$content = addslashes(str_replace("\n", "
", $_POST['content']));

$data['tid'] = I("post.id", 0, 'int'); //文章id

if (strlen(preg_replace('/\[ [^\)]+? \]/x', '', $content)) < 10) {

echo json_encode(array("code" => "short than 10", "error" => "评论的内容不能少于10个字符."));

exit;

}

if (C("DB_PWD") != '') {

if (time() - session("comment_time") < 60 && session("comment_time") > 0) {//2分钟以后发布

echo json_encode(array("code" => "fast", "error" => "您提交评论的速度太快了,请稍后再发表评论."));

exit;

}

}

$data['pid'] = I("post.pid", 0, 'int');

$data['pid_sub'] = I("post.pid_sub", 0, 'int');

$lyid = $data['pid_sub'] > 0 ? $data['pid_sub'] : $data['pid'];

if ($lyid > 0) {

$lyinfo = M("comment")->field("uid")->where("id='" . $lyid . "'")->find();

$data['touid'] = $lyinfo['uid'];

} else {

$data['touid'] = 2;

}

$data['addtime'] = time();

$emots = getTableFile("emot");

foreach ($emots as $v) {

$content = str_replace("[" . $v['name'] . "]", "" . $v[", $content);

}

$data['content'] = addslashes($content);

$info = M("comment")->field("id")->where("content='" . $data['content'] . "'")->find();

if ($info['id']) {

echo json_encode(array("code" => "comment_repeat", "error" => "检测到重复评论,您似乎提交过这条评论了"));

exit;

}

$lastid = M("comment")->add($data);

$points_comment = 20;

if ($lastid > 0) {

$day_start = strtotime(date("Y-m-d"));

$day_end = $day_start + 3600 * 24;

$comment_num_day = M("comment")->where("uid = " . $data['uid'] . " AND addtime between " . $day_start . " AND " . $day_end . "")->count();

if ($comment_num_day <= 5) { //少于5条每天,则添加积分

// addPoints("comment", $points_comment, $data['uid'], "评论获得" . $points_comment . "积分", 5, 1);

}

// addMessage('comment', $data['tid'], $data['pid'], $data['mtype'], $data['touid'], $content);

}

session("comment_time", time());

echo json_encode(array("code" => 200, "comment" => $content, "points" => $points_comment));

}

}

PHP应用根据分页参数获取对应评论列表

PHP应用

function comments() {

$id = I("get.id", 0, 'int');

$mtype = I("get.mtype", 1, 'int');

$page = I("get.page", 1, "int");

$totalnum = I("get.totalnum", 1, "int");

$start = 10 * ($page - 1);

$sql = "tid = " . $id . " AND pid = 0";

$comments = M("comment")->field("id,uid,content,addtime")->where($sql)->order("id DESC")->limit($start . ",10")->select();

// echo M("comment")->getlastsql();

foreach ($comments as $k => $v) {

$comments[$k]['sub'] = M("comment")->field("id,uid,content,pid_sub")->where("tid = " . $id . " AND pid = " . $v['id'] . "")->order("id ASC")->select();

}

$this->assign("id", $id);

$this->assign("mtype", $mtype);

$this->assign("comments", $comments);

$this->assign("comments_num", $totalnum - ($page - 1) * 10);

$this->display();

}

PHP应用切换评论分页

PHP应用

if ($("#detail-page").length > 0) {

var id = $("#detail-page").attr("data-id");

var mtype = $("#detail-page").attr("data-mtype");

var totalnum = $("#detail-page").attr("data-totalnum");

$("#detail-page").children("a").click(function() {

var page = parseInt($(this).attr("data-page"));

$("#detail-page").children("a").removeClass("current");

$("#detail-page").children("a").eq(page - 1).addClass("current");

$("#comment_list").html("

loading.gif
");

$.get(getUrl("Box/comments"), {

page: page,

id: id,

totalnum: totalnum,

mtype: mtype

},

function(data) {

$("#comment_list").html(data)

})

})

}

PHP应用评论表和表情表已放在压缩包里

PHP应用

CREATE TABLE IF NOT EXISTS `sucai_comment` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`uid` int(11) NOT NULL,

`touid` int(11) DEFAULT '0',

`pid_sub` int(11) DEFAULT '0',

`tid` int(11) NOT NULL,

`pid` int(11) DEFAULT '0',

`mtype` tinyint(1) NOT NULL,

`content` text NOT NULL,

`addtime` int(10) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5560 ;

PHP应用功能实现和demo原址:www.erdangjiade.com/js/816.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值