ECshop中注册时的邮箱验证功能实现代码
2013-09-21 19:49
531 查看
1、注册成功自动发邮件并退出登录状态,提示需要验证邮件才能登录。
在user.php大约233行很234行
把:
$ucdata =empty($user->ucdata)? "" : $user->ucdata;
show_message(sprintf($_LANG['register_success'], $username .$ucdata), array($_LANG['back_up_page'], $_LANG['profile_lnk']),array($back_act, 'user.php'),
'info');
替换成:
$cfg =$_CFG['smtp_user'];
if(!empty($cfg) )
{
$sql="select user_id from".$GLOBALS['ecs']->table('users') ."where user_name ='$username'";
$user_id=$db->getOne($sql);
send_regiter_hash ($user_id);
}
$user->logout();
show_message('需要验证邮件才能登录',array($_LANG['back_up_page'], $_LANG['back_home_lnk']),array('user.php', 'index.php'), 'info');
购物流程时注册也要相应的修改
打开flow.php大约282行
查找:
if(register(trim($_POST['username']), trim($_POST['password']),trim($_POST['email'])))
将下面代码:
ecs_header("Location:flow.php?step=consignee\n");
exit;
替换成:
$cfg= $_CFG['smtp_user'];
if(!empty($cfg) )
{
$sql="select user_id from".$GLOBALS['ecs']->table('users') ."where user_name ='".trim($_POST['username'])."'";
$user_id=$db->getOne($sql);
send_regiter_hash ($user_id);
}
$user->logout();
show_message('需要验证邮件才能登录',array($_LANG['back_up_page'], $_LANG['back_home_lnk']), array('flow.php?step=login','index.php'), 'info');
2、登录时判断是否通过邮件验证,没通过提示需要验证邮件才能登录。
在includes/lib_mian.php里面php文件结束标签前添加:
function is_validated_emil($username)
{
$sql ="SELECT is_validated" .
" FROM". $GLOBALS['ecs']->table('users').
"WHERE user_name='" . $username."'";
return$GLOBALS['db']->getOne($sql);
}
用于检测邮箱验证状态!。
修改user.php大约349行
也可查找:
if($user->login($username,$password,isset($_POST['remember'])))
在下面把:
update_user_info();
recalculate_price();
$ucdata = isset($user->ucdata)?$user->ucdata : '';
show_message($_LANG['login_success'] . $ucdata ,array($_LANG['back_up_page'], $_LANG['profile_lnk']),array($back_act,'user.php'), 'info');
改成:
if(is_validated_emil($username) >0)
{
update_user_info();
recalculate_price();
$ucdata = isset($user->ucdata)?$user->ucdata : '';
show_message($_LANG['login_success'] . $ucdata ,array($_LANG['back_up_page'], $_LANG['profile_lnk']),array('user.php','user.php'), 'info');
}
else
{
$user->logout();
show_message('需要验证邮件才能登录',array($_LANG['back_up_page'], $_LANG['back_home_lnk']),array('user.php', 'index.php'), 'info');
}
购物流程时登录也要相应的修改
打开flow.php大约239行
查找:
if($user->login($_POST['username'],$_POST['password'],isset($_POST['remember'])))
将下面的代码:
update_user_info(); //更新用户信息
recalculate_price(); //重新计算购物车中的商品价格
$sql = "SELECT COUNT(*) FROM" . $ecs->table('cart') . " WHERE session_id = '" . SESS_ID . "'";
if ($db->getOne($sql) >0)
{
ecs_header("Location:flow.php?step=checkout\n");
}
else
{
ecs_header("Location:index.php\n");
}
exit;
改为:
if(is_validated_emil($_POST['username'])> 0)
{
update_user_info(); //更新用户信息
recalculate_price(); // 重新计算购物车中的商品价格
$sql = "SELECT COUNT(*) FROM " .$ecs->table('cart') . " WHERE session_id = '" . SESS_ID . "'";
if ($db->getOne($sql) > 0)
{
ecs_header("Location:flow.php?step=checkout\n");
}else{
ecs_header("Location:index.php\n");
}
exit;
}else{
$user->logout();
show_message('需要验证邮件才能登录',array($_LANG['back_up_page'], $_LANG['back_home_lnk']),array('flow.phpstep=login', 'index.php'), 'info');
}
在user.php大约233行很234行
把:
$ucdata =empty($user->ucdata)? "" : $user->ucdata;
show_message(sprintf($_LANG['register_success'], $username .$ucdata), array($_LANG['back_up_page'], $_LANG['profile_lnk']),array($back_act, 'user.php'),
'info');
替换成:
$cfg =$_CFG['smtp_user'];
if(!empty($cfg) )
{
$sql="select user_id from".$GLOBALS['ecs']->table('users') ."where user_name ='$username'";
$user_id=$db->getOne($sql);
send_regiter_hash ($user_id);
}
$user->logout();
show_message('需要验证邮件才能登录',array($_LANG['back_up_page'], $_LANG['back_home_lnk']),array('user.php', 'index.php'), 'info');
购物流程时注册也要相应的修改
打开flow.php大约282行
查找:
if(register(trim($_POST['username']), trim($_POST['password']),trim($_POST['email'])))
将下面代码:
ecs_header("Location:flow.php?step=consignee\n");
exit;
替换成:
$cfg= $_CFG['smtp_user'];
if(!empty($cfg) )
{
$sql="select user_id from".$GLOBALS['ecs']->table('users') ."where user_name ='".trim($_POST['username'])."'";
$user_id=$db->getOne($sql);
send_regiter_hash ($user_id);
}
$user->logout();
show_message('需要验证邮件才能登录',array($_LANG['back_up_page'], $_LANG['back_home_lnk']), array('flow.php?step=login','index.php'), 'info');
2、登录时判断是否通过邮件验证,没通过提示需要验证邮件才能登录。
在includes/lib_mian.php里面php文件结束标签前添加:
function is_validated_emil($username)
{
$sql ="SELECT is_validated" .
" FROM". $GLOBALS['ecs']->table('users').
"WHERE user_name='" . $username."'";
return$GLOBALS['db']->getOne($sql);
}
用于检测邮箱验证状态!。
修改user.php大约349行
也可查找:
if($user->login($username,$password,isset($_POST['remember'])))
在下面把:
update_user_info();
recalculate_price();
$ucdata = isset($user->ucdata)?$user->ucdata : '';
show_message($_LANG['login_success'] . $ucdata ,array($_LANG['back_up_page'], $_LANG['profile_lnk']),array($back_act,'user.php'), 'info');
改成:
if(is_validated_emil($username) >0)
{
update_user_info();
recalculate_price();
$ucdata = isset($user->ucdata)?$user->ucdata : '';
show_message($_LANG['login_success'] . $ucdata ,array($_LANG['back_up_page'], $_LANG['profile_lnk']),array('user.php','user.php'), 'info');
}
else
{
$user->logout();
show_message('需要验证邮件才能登录',array($_LANG['back_up_page'], $_LANG['back_home_lnk']),array('user.php', 'index.php'), 'info');
}
购物流程时登录也要相应的修改
打开flow.php大约239行
查找:
if($user->login($_POST['username'],$_POST['password'],isset($_POST['remember'])))
将下面的代码:
update_user_info(); //更新用户信息
recalculate_price(); //重新计算购物车中的商品价格
$sql = "SELECT COUNT(*) FROM" . $ecs->table('cart') . " WHERE session_id = '" . SESS_ID . "'";
if ($db->getOne($sql) >0)
{
ecs_header("Location:flow.php?step=checkout\n");
}
else
{
ecs_header("Location:index.php\n");
}
exit;
改为:
if(is_validated_emil($_POST['username'])> 0)
{
update_user_info(); //更新用户信息
recalculate_price(); // 重新计算购物车中的商品价格
$sql = "SELECT COUNT(*) FROM " .$ecs->table('cart') . " WHERE session_id = '" . SESS_ID . "'";
if ($db->getOne($sql) > 0)
{
ecs_header("Location:flow.php?step=checkout\n");
}else{
ecs_header("Location:index.php\n");
}
exit;
}else{
$user->logout();
show_message('需要验证邮件才能登录',array($_LANG['back_up_page'], $_LANG['back_home_lnk']),array('flow.phpstep=login', 'index.php'), 'info');
}
相关文章推荐
- Python通过Django实现用户注册和邮箱验证功能代码
- 实现邮箱验证功能的代码
- PHP-注册时邮箱验证功能的实现
- Java实现注册邮箱激活验证 即邮件发送功能
- yii2.0实现验证用户名与邮箱功能
- javamail实现邮箱验证代码记录
- C#代码实现邮箱验证C#中及一些常用的正则表达式
- 简单的asp.net模拟邮箱系统基础实现(二 (2)具体版块功能的实现及关键代码之登陆页面)
- java实现邮箱验证的功能
- Laravel框架实现发送短信验证功能代码
- C# 注册邮箱验证的实现代码
- 使用Flask实现邮箱验证激活和用户管理功能
- 用JAVA代码实现验证邮箱地址是否符合
- 邮箱验证功能的实现
- Java注册邮箱激活验证实现代码
- 用JQuery代码实现文本框强制验证功能
- vue+vue-validator 表单验证功能的实现代码
- vue动态绑定组件子父组件多表单验证功能的实现代码
- Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能
- 实现验证码,邮箱验证功能