Php creates a solution for remembering the password for automatic login, that is, to operate sessions and cookies.
// Check whether the user logs on
The code is as follows: |
Copy code |
Function checklogin (){ If (empty ($ _ SESSION ['User _ info']) {// check whether the session is empty. If (empty ($ _ COOKIE ['username']) | empty ($ _ COOKIE ['password']) {// if the session is empty, the user does not select to log on. Header ("location: login. php? Req_url = ". $ _ SERVER ['request _ URI ']); // go to the logon page and record the REQUEST url. After logging on, go to the logon page. The user experience is good. } Else {// Remember the logon status $ User = getUserInfo ($ _ COOKIE ['username'], $ _ COOKIE ['password']); // retrieves the user's personal data If (empty ($ user) {// if the user name and password are incorrect, the information is not obtained. Go to the logon page. Header ("location: login. php? Req_url = ". $ _ SERVER ['request _ URI ']); } Else { $ _ SESSION ['User _ info'] = $ user; // The user name and password are correct. Put the user's personal data in the session. } } } } |
2. The user submits logon information
The code is as follows: |
Copy code |
Username = trim ($ _ POST ['username']); $ Password = md5 (trim ($ _ POST ['password']); $ Validatecode = $ _ POST ['validatecode']; $ Ref_url = $ _ GET ['req _ url']; $ Remember = $ _ POST ['remember']; $ Err_msg = ''; If ($ validatecode! = $ _ SESSION ['checksum']) { $ Err_msg = "incorrect verification code "; } Elseif ($ username = ''| $ password = ''){ $ Err_msg = "neither user name nor password can be blank "; } Else { $ Row = getUserInfo ($ username, $ password ); If (empty ($ row )){ $ Err_msg = "the user name and password are incorrect "; } Else { $ _ SESSION ['User _ info'] = $ row; If (! Empty ($ remember) {// if the user chooses to log on, the user name and password added are recorded in the cookie. Setcookie ("username", $ username, time () + 3600*24*365 ); Setcookie ("password", $ password, time () + 3600*24*365 ); } If (strpos ($ ref_url, "login. php") === false ){ Header ("location:". $ ref_url ); } Else { Header ("location: main_user.php "); } } } |
3. When the user points out, the logon status is cleared.
// Log out
The code is as follows: |
Copy code |
Function logout (){ Unset ($ _ SESSION ['User _ info']); If (! Empty ($ _ COOKIE ['username']) |! Empty ($ _ COOKIE ['password']) { Setcookie ("username", null, time ()-3600*24*365 ); Setcookie ("password", null, time ()-3600*24*365 ); } } |