Home  >  Article  >  Backend Development  >  Detailed explanation of operating MySQL database with PHP (3)

Detailed explanation of operating MySQL database with PHP (3)

黄舟
黄舟Original
2017-03-25 09:50:571611browse

Administrator login background module

Implement the administrator login background module, which mainly includes:
1. Data table Design
2. Login process design
3. Login code
4. Login check code

1. Administrator data table——007_admin

Field name Explanation
id Record id, automatically generated
username Username
password Password
name Administrator name
tel Phone number
lastloginip Last login IP
lastlogintime Last login time
loginhits Total number of logins
status AccountStatus, 1 enabled, 0 disabled
addate Account creation date

2. Login flow chart

Detailed explanation of operating MySQL database with PHP (3)

3. Login implementation

Login Pagelogin.php

<!--login.php-->
<!DOCTYPE html>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Detailed explanation of operating MySQL database with PHP (3)</title>
</head>
<body>
<form name="form1" method="post" action="login_check.php">
<table width="500" border="1" bordercolor="#ccc" rules="all" align="center" cellpadding="5">
    <tr>
        <th colspan="2" bgcolor="#ccc">Detailed explanation of operating MySQL database with PHP (3)</th>
    </tr>
    <tr>
        <td width="80" align="right">用户名:</td>
        <td><input type="text" name="username" /></td>
    </tr>
    <tr>
        <td align="right">密码:</td>
        <td><input type="password" name="password"/></td>
    </tr>
    <tr>
        <td> </td>
        <td>
            <input type="submit" value="登录"/>
            <input type="hidden" name="ac" value="login"/>  <!--隐藏域,向服务器隐式传值,用于表单验证-->
        </td>
    </tr></table></form></body></html>

Running effect

Detailed explanation of operating MySQL database with PHP (3)## Enter After entering the account and password, click Login and you will be redirected to the login check page (login_check.php)

4. Login check pagelogin_check.php
<!--login_check.php-->
<?php
//********************Detailed explanation of operating MySQL database with PHP (3)检查**********************
//连接MySQL数据库include "conn.php";
//判断表单是否提交if(isset($_POST[&#39;ac&#39;]) && $_POST[&#39;ac&#39;]==&#39;login&#39;){    

    //获取表单提交的数据
    $username = $_POST[&#39;username&#39;];    
    $password = md5($_POST[&#39;password&#39;]);   
     //md5() 对密码进行加密

    //构建要查询的SQL语句
    $sql = "SELECT * FROM 007_admin WHERE username=&#39;$username&#39; AND password=&#39;$password&#39;";    //执行SQL语句
    $result = mysql_query($sql);    //获取结果集中的记录数
    $records = mysql_num_rows($result);    //判断是否匹配
    if($records){  //匹配
        //获取相关变量信息
        $lastloginip = $_SERVER[&#39;REMOTE_ADDR&#39;];        
        $lastlogintime = time();        //构建更新记录的SQL语句
        $sql = "UPDATE 007_admin SET lastloginip=&#39;$lastloginip&#39;, lastlogintime=$lastlogintime, loginhits=loginhits+1 WHERER username=&#39;$username&#39;";       
         //执行SQL语句
        mysql_query($sql);        //跳转到成功页面
        $url = "manage.php";        $message = "Detailed explanation of operating MySQL database with PHP (3)成功!";
        header("location:success.php?url=$url&message=$message");
    }else{  //未匹配
        $message = urlencode("用户名或密码不正确!");
        header("location:error.php?message=$message");
    }

}else{  //如果非法操作
    $message = urlencode("非法操作!"); 
    header("location:error.php?message=$message");
}?>

Code PS:

md5() function

  • Description: Calculate the MD5 hash value of the string

  • Description: Return the hash value in the form of a 32-character hexadecimal number

  • Note: The encryption algorithm of md5 is no longer safe

  • Example: md5("123456") =e10adc3949ba59abbe56e057f20f883e

$_SERVER[]

  • Description: Obtain server execution environment information.

  • $_SERVER[“REMOTE_ADDR”] //Client’s IP address

  • $_SERVER[“SERVER_ADDR”] //Server’s IP address

After jumping to the login check page, the account and password entered by the administrator will be matched with the records in the database. When the entered account and password are correct (that is, the match is successful) ), jump to the login success page (success.php); otherwise, if the match is unsuccessful, jump to the login failure page (error.php).

Login success page success.php
<!--success.php-->
<?php$message=urldecode($_GET["message"]);
$url=trim($_GET["url"]);?>
<!DOCTYPE><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>操作成功</title>
<style type="text/css">
*{margin:0px;padding:0px;}.box{    
width:450px;   
 border:1px solid #f0f0f0;    
 background:#FFFFCC;    
 margin:100px auto;   
  padding:20px;    
  font-size:14px;   
  line-height:180%;    
  color:#444;}h2{margin-bottom:10px;}
  #time{color:#FF0000;
  }.
  .color2{color:#0099FF;}
  a.a1:link,a.a1:visited{color:#0099FF;text-decoration:none;}
  a.a1:hover{color:#FF0000;text-decoration:underline;}
  </style></head><body><p class="box">
    <h2 align="center">操作成功</h2>
    <p><b>提示:<?php echo $message;?></b></p>
    <p>系统将在 <span id="time">5</span> 秒钟后自动跳转,如果不想等待,请点击 <a class="a1" href="<?php echo $url?>">这里</a> 跳转。</p>
    </p></body></html><script language="javascript">function playSec(num){
    //获取id=time的元素对象
    var time = document.getElementById("time");
    time.innerHTML = num;    if(--num >0)
    {
        window.setTimeout("playSec("+num+")",1000);
    }else
    {
        location.href="<?php echo $url?>";
    }
}
playSec(5);</script>

Running effect

Detailed explanation of operating MySQL database with PHP (3) After 5 seconds, jump to the news management page (manage.php). The news management page operates the MySQL database in
PHP(4)middle.

Login failure page error.php

The code for failed login is similar to the code for successful login.

Running effect

Detailed explanation of operating MySQL database with PHP (3) After 5 seconds, jump to the login page (login.php) and wait for the administrator Re-enter the account password.

The above is the detailed content of Detailed explanation of operating MySQL database with PHP (3). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn