用戶登錄與退出,建立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 中把用戶名的默認值進行判斷.
新聞熱點
疑難解答