在网站开发和管理中,优化会员系统功能是一个常见的需求。本文将详细介绍如何通过修改代码实现“会员每日登录赠送积分”的功能。这一改动不仅可以提升用户体验,还能增加用户粘性。以下是具体的操作步骤及代码实现:

1、首先,进入后台管理系统,在会员字段管理中新增一个字段:
字段名:LastTime
字段标识:最后登陆时间
字段类型:大数值型(INT)
此字段用于记录用户最后一次登录的时间戳。

2、接下来,打开文件 e/class/user.php,找到大约第 1019 行的 if($set1&&$set2) 这段代码。
在 $location=DoingReturnUrl($location,$_POST@['ecmsfrom']); 前面插入以下 PHP 代码:


//会员登陆赠送点数 
$LastTime=time(); 
$useridz=(int)$r[$user_userid]; 
$fenus=2; //赠送积分 
$LastT=$empire->fetch1("select LastTime from {$dbtbpre}enewsmemberadd where `userid`={$useridz}"); 
(int)$newstime=$LastT['LastTime'];//时间 
(int)$times=mktime(0,0,0,date('m',$LastTime),date('d',$LastTime),date('Y',$LastTime));//当前时间 
if($newstime==0){
    $empire->query("update {$dbtbpre}enewsmember set `userfen`=userfen+{$fenus} where `userid`={$useridz}");
}else{
    if($times<$newstime && $newstime<$times+86400){
        //今天
    }else{
        $empire->query("update {$dbtbpre}enewsmember set `userfen`=userfen+{$fenus} where `userid`={$useridz}");
    }
}
$empire->query("update {$dbtbpre}enewsmemberadd set `LastTime`={$LastTime} where `userid`={$useridz}");
//结束

上述代码的功能如下:
- 首先获取当前时间戳并将其赋值给变量 $LastTime。
- 然后通过查询数据库获取该用户的上次登录时间,并判断是否需要赠送积分。
- 如果是第一次登录或非当天登录,则更新用户的积分;否则不进行任何操作。
- 最后,更新用户的最后登录时间为当前时间。

完成以上修改后,请确保保存所有更改并测试功能是否正常工作。这样,您的网站就可以实现每日登录赠送积分的功能了。

注意:在实际应用中,请根据您的具体需求调整积分值($fenus 变量),以及确保数据库表结构与代码中的表名一致。

通过这样的设置,可以有效激励用户每天登录网站,从而提高网站活跃度和用户留存率。希望这篇文章对您有所帮助!