验证邮件送积分

2016-07-07 15:01 来源:www.chinab4c.com 作者:ecshop专家



最近研究了下验证邮件送积分1.查了相关资料送积分
lib_common.php 的 log_account_change方法
/**
* 记录帐户变动
* @paramint$user_id用户id
* @paramfloat$user_money可用余额变动
* @paramfloat$frozen_money冻结余额变动
* @paramint$rank_points 等级积分变动
* @paramint$pay_points消费积分变动
* @paramstring$change_desc 变动说明
* @paramint$change_type 变动类型:参见常量文件
* @returnvoid
*/
function log_account_change($user_id, $user_money = 0, $frozen_money = 0, $rank_points = 0, $pay_points = 0, $change_desc = '', $change_type = ACT_OTHER)

它会执行两个动作,一个是调整注册会员积分调整记录日志,一个就是修改个人帐户的积分了。
2.在user.php验证邮件方法下加入如下代码
/* 验证用户注册邮件 */
elseif ($action == 'validate_email')
{
$hash = empty($_GET['hash']) ? '' : trim($_GET['hash']);
if ($hash)
{
include_once(ROOT_PATH . 'includes/lib_passport.php');
$id = register_hash('decode', $hash);
if ($id > 0)
{
$sql = 'SELECT is_validated FROM '.$ecs->table('users')." WHERE user_id='$id'";
$row = $db->getRow($sql);
if($row['is_validated'] == 0)
{
$sql = "UPDATE " . $ecs->table('users') . " SET is_validated = 1 WHERE user_id='$id'";
$db->query($sql);
$sql = 'SELECT user_name, email FROM ' . $ecs->table('users') . " WHERE user_id = '$id'";
$row = $db->getRow($sql);
//验证完成 送积分 by gaojin 201003300850
include_once(ROOT_PATH .'includes/lib_common.php');
log_account_change($id, 0, 0, 0, 500,$GLOBALS['_LANG']['register_points']);
show_message(sprintf($_LANG['validate_ok'], $row['user_name'], $row['email']),$_LANG['profile_lnk'], 'user.php');

}
else
{
show_message(sprintf('请不要重复验证', $row['user_name'], $row['email']),$_LANG['profile_lnk'], 'user.php');
}
}
}
show_message($_LANG['validate_fail']);
}
希望对大家有所帮助

修改了重复点击验证邮件未验证的bug,会导致重复送积分的问题

回答:
正好用上,谢谢分享

支持共享~

可以吸引更多用户,谢谢共享,

怎么添加,能具体点?

支持你一下

想问下LZ,如果改成验证送现金该如何改呢?

怎么添加,能具体点?
xyzdesign 发表于 2010-4-9 18:54

你好在user.php里搜下验证邮件的方法就可以了,如果不行PM我

呵呵,不错。谢谢。

支持你一下

这个功能不错支持一下!

很好,支持一下!

这样的一定要顶起来!!

其实验证邮件有什么分别