emlog非插件实现一键点赞功能

  • 内容
  • 相关

非插件实现文章点赞功能,用法很简单

第一步:在module.php里面加如以下代码

<?php //点赞
function syzan(){
$DB = MySql::getInstance();
if($DB->num_rows($DB->query("show columns from ".DB_PREFIX."blog like 'slzan'")) == 0){
$sql = "ALTER TABLE ".DB_PREFIX."blog ADD slzan int unsigned NOT NULL DEFAULT '0'";
$DB->query($sql);}}syzan();
function update($logid){
$logid = intval($_POST['id']);
$DB = Database::getInstance();
$DB->query("UPDATE " . DB_PREFIX . "blog SET slzan=slzan+1 WHERE gid=$logid");
setcookie('slzanpd_'. $logid, 'true', time() + 31536000);}
function lemoninit() {if( @$_POST['plugin'] == 'slzanpd' &&@$_POST['action'] == 'slzan' &&isset($_POST['id'])){
$id = intval($_POST['id']);
header("Access-Control-Allow-Origin: *");
update($id);echo getnum($id);die;}}lemoninit();
function getnum($id){
static $arr = array();
$DB = Database::getInstance();
if(isset($arr[$logid])) return $arr[$logid];
$sql = "SELECT slzan FROM " . DB_PREFIX . "blog WHERE gid=$id";
$res = $DB->query($sql);
$row = $DB->fetch_array($res);
$arr[$id] = intval($row['slzan']);
return $arr[$id];}
?>
第二步:在文章页echo_log.php位置<?php echo content($log_content); ?>下加入以下代码


<a class="slzanpd" data-slzanpd="<?php echo $logData['logid'];?>" title="喜欢这篇文章就赞一个吧!">赞 (<?php echo(isset($logData['slzan'])?$logData['slzan']:getnum($logData['logid']));?>次)</a>
第三步:在JS文件里加上以下代码


$(document).on('click', '.slzanpd',
function() {
	var a = $(this),
	id = a.data('slzanpd');
	if (slzanpd_check(id)) {
		alert('您已赞过本文!');
	} else {
		$.post('', {
			plugin: 'slzanpd',
			action: 'slzan',
			id: id
		},
		function(b) {
			a.find('u').html(b);
			slzanpd_(a);
		});
	}
});
function slzanpd_check(id) {
	return new RegExp('slzanpd_' + id + '=true').test(document.cookie);
}
$('[data-slzanpd]').each(function() {
	var a = $(this),
	id = a.data('slzanpd');
	if (slzanpd_check(id)) {
		slzanpd_(a);
	} else {
		a.attr('title', '给小站来点动力吧!')
	}
});
function slzanpd_(a) {
	a.css('cursor', 'not-allowed').attr('title', '您已赞过本文!');
}


emlog非插件实现一键点赞功能
         本页正文内容约1842个文字
         本文标签:这篇文章木有标签

         版权声明:若无特殊注明,本文皆为“懒人的小窝”原创,转载请保留文章出处。

         本文链接:https://suppore.cn/dianzan.html   百度已收录

发表评论

电子邮件地址不会被公开, 推荐使用QQ快速评论!

评论

7条评论
  1. avatar

    小康 Lv.1 IBrowse r IBrowse r Android 8.0.0 Android 8.0.0 回复

    大佬来帮我看看我的为什么都弄好了点按钮没效果js文件放main.js了

    江苏省连云港市 电信

    1. avatar

      夏玖梦 Lv.2 Chrome 45.0.2454.101 Chrome 45.0.2454.101 Windows 7 x64 Edition Windows 7 x64 Edition 回复

      夏玖梦's Blog友情回访!祝博主生活愉快!
                 ——消息来自夏玖梦's Blog自动回访评论系统
      Ps:系统已检测您的博客程序:Emlog

      湖南省长沙市 电信

      1. 小陈 Lv.6 Chrome 52.0.2743.116 Chrome 52.0.2743.116 Windows Windows 回复

        回复了夏玖梦:不错,越来越自动化了。 表情

              湖南省邵阳市 移动

      2. 夏玖梦 Lv.2 Chrome 45.0.2454.101 Chrome 45.0.2454.101 Windows 7 x64 Edition Windows 7 x64 Edition 回复

        回复了小陈:插件实现的,自己写了一个插件,用了做这个的,觉得挺方便的 表情

              湖南省长沙市 电信

      3. 小陈 Lv.6 Chrome 52.0.2743.116 Chrome 52.0.2743.116 Windows Windows 回复

        回复了夏玖梦:直接在后台一键发文?

              湖南省邵阳市 移动

      4. 夏玖梦 Lv.2 Chrome 45.0.2454.101 Chrome 45.0.2454.101 Windows 7 x64 Edition Windows 7 x64 Edition 回复

        回复了小陈:把博客地址输入之后,然后选定随机文章评论,然后把要回复的内容输入就可以了
        就比如,我在你博客的评论内容就是“夏玖梦's Blog友情回访!祝博主生活愉快!”

              湖南省长沙市 电信

      5. 小陈 Lv.6 Chrome 52.0.2743.116 Chrome 52.0.2743.116 Windows Windows 回复

        回复了夏玖梦:嗦嘎,我还以为更简单呢,直接在后台把网址输入就开始随机发文。 这个挺适合群发AD的。

              湖南省邵阳市 移动

    00:00 / 00:00
    顺序播放