Discuz
发布时间:2022-05-06 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了uchome的积分机制,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
概述
UCHOME2.0积分机制分析A:管理员在后台修改积分规则B:数据被写入数据表creditrule 中,其中re
WARDtype=1表示奖励措施re
WARDtype
=0表示处罚措施并将数据写入缓存文件data/data_creditrule.
php 中C:用户发表文章或者进行其他操作的时候,通过getre
WARD函数来获取奖罚积分D:然后通过
sql语句将数据写入用户数据库表space中,从而增加或减少用户积分E:getre
WARD函数部分通过包含data/data_creditrule.
php 缓存文件来调用积分规则UCHOME积分变动提示是通过footer.htm监控的,代码如下:<script type="text/javascript"> showre
WARD(
);</script> 查下
source/script_common.js中showre
WARD函数,找到AJAX处理页面为
source/do_ajax.
php中的getre
WARD部分,代码如下代码} elseif($op ==
'getre
WARD')
{ $re
WARD =
''; if($_SCOOKIE[
'Re
WARD_log'])
{ $log = explode(',', $_SCOOKIE[
'Re
WARD_log']
); if(count($log) == 2 && $log[1])
{ @include_once(S_ROOT.'./data/data_creditrule.
php'
); $query = $_SGLOBAL['db']->query(
"seleCT * FROM ".tname('creditlog')." WHERE clid='$log[1]
'");
$creditlog = $_SGLOBAL['db']->fetch_array($query
); $rule = $_SGLOBAL['creditrule'][$log
[0]];
$rule['cyclenum'] = $rule[
'Re
WARDnum']? $rule[
'Re
WARDnum'] - $creditlog['cyclenum'] : 0;
}
ssetcookie(
'Re
WARD_log',
''
); } } 功能都在这里了,下面就开始往表creditlog里插条数据,我这里加的是天声人语的奖励规则。SQL如下:代码INSERT INTO `前缀_creditrule` (`rid` ,`rul
ename` ,`action` ,`cycletype` ,`cycletime` ,`re
WARDnum` ,`re
WARDtype` ,`norepeat` ,`credit` ,`experience`)VALUES (NULL ,
'天声人语',
'publishtsry',
'1',
'0', 1',
'1',
'0',
'10',
'1'
); 你也可直接用
phpR_496_11845@YADMIN进行添加,
值的含义参照后台其他积分的规则,更新一下缓存(重要)。然后在需要显示积分提示的地方加上:(注意红色地方是自定义的积分动作)//积分提示代码$re
WARD = getre
WARD('publishtsry', 0
);$_SGLOBAL['db']->query('
updatE
'.tname('space')." SET credit=credit+$re
WARD[credit], experience=experience+$re
WARD[experience] WHERE uid='
{$_SGLOBAL['supe_uid']}
'");
查下source/script_common.js中showreWARD函数,找到AJAX处理页面为source/do_ajax.PHP中的getreWARD部分,代码如下
代码
大佬总结
以上是大佬教程为你收集整理的uchome的积分机制全部内容,希望文章能够帮你解决uchome的积分机制所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。