mysql添加数组_【20201127】做个用户管理系统(11)——用户模块user之添加用户和用户身份认证的实现...

1. 介绍

1.1 介绍

今天我们来建立TFUMS的第一个模块用户模块user,然后在这个模块里面实现添加用户和用户身份认证两个基础功能。

添加用户就是向user表插入一条数据,只不过插入之前需要通过查询语句检查用户名是否已经被其他人使用了,因为用户名userName是约束键,就是说用户名userName不能有重复的情况。

用户身份认证最简单的做法就是根据用户提交用户名在user表里查询对应的数据记录,如果找到了再使用数据库里存储的密码和用户提交的密码进行比较,如果密码校验通过了就表示认证成功了。

2. 用户模块

用户模块user是一个主要模块,福哥把它保存在了WEB-INF/Model/user.inc.php里面了。用户模块user继承自框架模块对象TFModel,唯一的构造器参数就是TFPHP全局对象实例。

cc0a804adab14836894b0313d998fbd5.png这里建立了4个常量,用来表示用户身份码和状态码。

3. 添加用户

3.1 代码

/** * note: *   1 - user name is used *   2 - exception * * @param string $user * @param string $pwd * @return int */public function add(string $user, string $pwd){    $tfdo = $this->tfphp->getDatabase()->getTFDO();    $userInfo = $tfdo->fetchOne("select * from user where userName = @str", $user);    if($userInfo != null){        return 1;    }    $ret = $tfdo->insert("user", array(        'userName'=>$user,        'passwd'=>md5($pwd),        'createDT'=>date("Y-m-d H:i:s"),        'userFlag'=>user::T_FLAG_NORMAL,        'userState'=>user::T_STATE_NORMAL,    ));    if(!$ret){        return 2;    }    return 0;}

4. 用户身份认证

4.1 代码

/** * note: *   1 - user is not exists *   2 - password is incorrectly *   3 - user is locked * * @param string $user * @param string $pwd * @param bool $remember * @return int */public function auth(string $user, string $pwd):int {    $tfdo = $this->tfphp->getDatabase()->getTFDO();    $userInfo = $tfdo->fetchOne("select * from user where userName = @str", $user);    if($userInfo == null){        return 1;    }    if($userInfo['passwd'] == md5($pwd)){        return 2;    }    if($userInfo['userState'] != user::T_STATE_NORMAL){        return 3;    }    return 0;}

5. 讲解

5.1 添加用户

首先通过tfphp对象拿到一个TFDO实例,它用来操作MySQL数据库。

接着通过fetchOne方法查询user表内是否存在userName等于准备添加的用户名,如果有则报错。

然后使用insert方法向user表写入一条数据,该数据作为新用户的基础数据,如果写入失败则报错。

如果一切顺利就返回0,表示函数执行成功了。

5.2 用户身份认证

首先通过tfphp对象拿到一个TFDO实例,它用来操作MySQL数据库。

接着通过fetchOne方法查询user表内是否存在userName等于准备认证的用户名,如果没有就报错。

然后从返回的用户数据数组里面取出passwd字段,该字段保存着使用MD5哈希算法加密的密码,我们将认证传入的密码也通过MD5哈希算法加密,然后比较两个密文密码是否一样,不一样就报错。

再来从返回的用户数据数组里面取出userState字段,该字段表示用户的状态,只有userState为1才是正常状态,否则就报错。

通过一系列检查后,认证通过了,把状态0返回出来。

6. 总结

今天福哥带着童鞋们完成了用户模块user的添加用户和用户身份认证两个功能,有了添加用户功能就可以开发用户注册功能了,而又了用户身份认证功能就可以实现用户登录功能了。

下一课,福哥将带着大家开发用户注册功能,敬请期待~~


【20201126】做个用户管理系统(10)——重新设计数据表和字段

【20201125】做个用户管理系统(9)——用以处理表单的jQuery控件之表单验证


免费看文章,自己学技术


每一篇文章都是福哥一个字一个字地敲出来的,都是福哥原创的。

每一篇文章都是经过了福哥的反复验证的,都是可以正常使用的。


f3b3cec56157f08aa8ee5b9bcac73056.png

9a3d4dd19ec7a6246932106f894985da.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值