admin管理员组文章数量:1532281
2024年6月8日发(作者:)
登录注册模块编写
登录注册模块编写
1、 登录模块
1.1 功能描述
该模块实现用户的登录操作,需要支持以下功能:
(1)用户可以通过用户名和密码登录系统;
(2)支持用户的自动登录,用户在登录时可以勾选“记住我”
可以少输入用户名密码;
(3)支持用户的忘记密码功能,如用户忘记密码时可以通过邮
箱重新设置密码。
1.2 技术实现
(1)表设计
用户表(user_info)
字段名称t 数据类型t 备注
user_idt intt 用户ID
user_namet varchar(50)t用户名
user_passt varchar(50)t用户密码
user_saltt varchar(50)t密码盐
login_timet datetimet 最后登录时间
(2)代码实现
以下是登录模块的实现代码:
//登录模块
- 1 -
public function login(){
//接收用户名
$username=I('me');
//接收密码
$password=I('rd');
//判断参数是否为空
if(empty($username)||empty($password)){
//返回错误信息
$this->error('用户名或密码不能为空!');
}
//根据用户名查询信息
$userInfo=M('user_info')->where(array('username'=>$username
))->find();
//判断用户是否存在
if(empty($userInfo)){
//返回错误信息
$this->error('用户信息不存在!');
}
//根据用户id获取用户的盐
$salt = $userInfo['user_salt'];
//计算加密后的密码
- 2 -
$user_pass=md5($password.$salt);
//判断密码是否正确
if($user_pass!=$userInfo['user_pass']){
//返回错误信息
$this->error('密码不正确!');
}
//登录成功,记录登录时间和ip
$data['login_time']=time();
$data['login_ip']=get_client_ip();
M('user_info')->where(array('user_id'=>$userInfo['user_id']
))->save($data);
//设置session
session('username',$userInfo['username']);
//记住我功能
if(isset($_POST['remember_me'])){
//设置cookie
$time=3600*24*7;
cookie('username',$userInfo['username'],$time);
}
//跳转到首页
$this->redirect('Index/index');
- 3 -
}
2、 注册模块
2.1 功能描述
该模块实现用户的注册操作,需要支持以下功能:
(1)用户可以通过用户名和密码登录系统;
(2)支持邮箱的注册,用户可以通过邮箱进行注册;
(3)支持手机号码的注册,用户可以通过手机号进行注册;
(4)支持用户使用第三方账号进行注册,如QQ,微信登录等
2.2 技术实现
(1)表设计
用户表(user_info)
字段名称t 数据类型t 备注
user_idt intt 用户ID
user_namet varchar(50)t用户名
user_passt varchar(50)t用户密码
user_saltt varchar(50)t密码盐
login_timet datetimet 最后登录时间
(2)代码实现
以下是注册模块的实现代码:
//注册模块
public function register()
{
- 4 -
//接收参数
$username=I('me');
$password=I('rd');
$repassword=I('word');
//判断参数是否为空
if(empty($username)||empty($password)||empty($repassword)){
//返回错误信息
$this->error('用户名和密码不能为空!
- 5 -
版权声明:本文标题:登录注册模块编写 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1717780931a609289.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论