用户登录与退出,建立login.php用户登录页面,isset判断如果act 是点击登录按钮后进来的,收用户名/密码,验证,实例化UserModel 调用checkUser核对用户名,密码
如果为真,开启session,把$row信息设置给sisson,为了安全在设置sission时把密码删掉unset($row['passwd']);,引用front/msg.html打印返回信息,如果为假,引用denglu.html返回登录.
在UserModel中写checkUser方法 根据用户名,密码两个要素查询,如果只传一个参数根据用用户名查用户信息,用两个参数到数据库取出用户名和密码,与传过来的对比是否相等,根据用户名查询用户信息.
- */
- public function checkUser($username,$passwd='') {
- if($passwd == '') { //如果没传密码,以用户查询
- $sql = 'select count(*) from ' . $this->table . " where username='" .$username . "'";
- return $this->db->getOne($sql);
- } else { //用用户名和密码查询
- $sql = "select user_id,username,email,passwd from " . $this->table . " where username= '" . $username . "'";
- $row = $this->db->getRow($sql);
- if(emptyempty($row)) { //判断用户名为空
- return false;
- }
- if($row['passwd'] != $this->encPasswd($passwd)) { //输入的密码与查询的密码对比
- return false;
- }
- unset($row['passwd']); //删除$row的密码,确保安全
- return $row;
- }
- }
新建index.php 引用index.html模板
在index.html中isset判断$_SESSION['username']存在且非空,为真echo $_SESSION['username'] ; 退出引用logout.php 登录引用login.php
新建logout.php session_start(); session_destroy(); 引用front/msg.html;
默认记住用户名
在login.php中判断下,如果钩中则接收的session信息中有remember字段,就setcookie增加有效期,如没钩中设为失效.
在denglu.html 中把用户名的默认值进行判断.
新闻热点
疑难解答