case:1为Email验证方式。
$idstring为随机生成的6位字符串。
$authstr为根据规则生成的对应该用户的验证串。
$verifyurl为生成的该用户的验证url链接。
- sendmail("$username <$email>", lang('email', 'email_verify_subject'), $email_verify_message);
向该用户发送验证邮件(邮件内容包含验证链接)。
用户点击邮件里的链接进行验证分析:
找到source\module\member\member_activate.php文件
- $query = DB::query("SELECT m.uid, m.username, m.credits, mf.authstr FROM ".DB::table('common_member')." m, ".DB::table('common
_member_field_forum')." mf- WHERE m.uid='$_G[gp_uid]' AND mmf.uid=m.uid AND m.groupid='8'");
- $member = DB::fetch($query);
- list($dateline, $operation, $idstring) = explode("\t", $member['authstr']);
从数据库里查询对应这个用户的验证串(authstr)。
- if($operation == 2 && $idstring == $_G['gp_id']) {
- $query = DB::query("SELECT groupid FROM ".DB::table('common_usergroup')." WHERE type='member' AND '$member[credits]'>
=creditshigher AND '$member[credits]'<creditslower LIMIT 1");- DB::query("UPDATE ".DB::table('common_member')." SET groupid='".DB::result($query, 0)."', emailstatus='1' WHERE uid='$member[uid]'");
- DB::query("UPDATE ".DB::table('common_member_field_forum')." SET authstr='' WHERE uid='$member[uid]'");
- showmessage('activate_succeed', 'index.php', array('username' => $member['username']));
- } else {
- showmessage('activate_illegal', 'index.php');
- }