Home > Article > Backend Development > Detailed explanation of operating MySQL database with PHP (3)
Implement the administrator login background module, which mainly includes:
1. Data table Design
2. Login process design
3. Login code
4. Login check code
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 |
<!--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>
## Enter After entering the account and password, click Login and you will be redirected to the login check page (login_check.php)
<!--login_check.php--> <?php //********************Detailed explanation of operating MySQL database with PHP (3)检查********************** //连接MySQL数据库include "conn.php"; //判断表单是否提交if(isset($_POST['ac']) && $_POST['ac']=='login'){ //获取表单提交的数据 $username = $_POST['username']; $password = md5($_POST['password']); //md5() 对密码进行加密 //构建要查询的SQL语句 $sql = "SELECT * FROM 007_admin WHERE username='$username' AND password='$password'"; //执行SQL语句 $result = mysql_query($sql); //获取结果集中的记录数 $records = mysql_num_rows($result); //判断是否匹配 if($records){ //匹配 //获取相关变量信息 $lastloginip = $_SERVER['REMOTE_ADDR']; $lastlogintime = time(); //构建更新记录的SQL语句 $sql = "UPDATE 007_admin SET lastloginip='$lastloginip', lastlogintime=$lastlogintime, loginhits=loginhits+1 WHERER username='$username'"; //执行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:
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).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
<!--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>
After 5 seconds, jump to the news management page (manage.php). The news management page operates the MySQL database in
PHP(4)middle.
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!