Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erklärung zum Betrieb einer MySQL-Datenbank mit PHP (3)

Ausführliche Erklärung zum Betrieb einer MySQL-Datenbank mit PHP (3)

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

Administrator-Login-Hintergrundmodul

Implementieren Sie das Administrator-Login-Hintergrundmodul, das hauptsächlich Folgendes umfasst:
1
2. Login-Prozessdesign
3. Login-Code
4. Login-Prüfcode

1. Administratordatentabelle - 007_admin

字段名 解释
id 记录id,自动生成的
username 用户名
password 密码
name 管理员姓名
tel 电话
lastloginip 最后登录IP
lastlogintime 最后登录时间
loginhits 登录总次数
status 账号状态,1启用,0停用
addate 账号创建日期

2. Login-Flussdiagramm

Ausführliche Erklärung zum Betrieb einer MySQL-Datenbank mit PHP (3)

3. Login-Implementierung

Anmeldeseitelogin.php

<!--login.php-->
<!DOCTYPE html>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Ausführliche Erklärung zum Betrieb einer MySQL-Datenbank mit 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">Ausführliche Erklärung zum Betrieb einer MySQL-Datenbank mit 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>

Laufeffekt

Ausführliche Erklärung zum Betrieb einer MySQL-Datenbank mit PHP (3)
Nachdem Sie das Kontopasswort eingegeben und auf „Anmelden“ geklickt haben, gelangen Sie zur Seite zur Anmeldeprüfung (login_check.php)

4 login_check.php

<!--login_check.php-->
<?php
//********************Ausführliche Erklärung zum Betrieb einer MySQL-Datenbank mit 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 = "Ausführliche Erklärung zum Betrieb einer MySQL-Datenbank mit 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( ) Funktion

  • Beschreibung: Berechnen Sie den MD5-Hash-Wert der Zeichenfolge

  • Beschreibung: In 32-stelliger Hexadezimalausgabe der Hashwert in Ziffernform

  • Hinweis: Der Verschlüsselungsalgorithmus von md5 ist nicht mehr sicher

  • Beispiel: md5("123456") = e10adc3949ba59abbe56e057f20f883e

$_SERVER[]

  • Beschreibung: Informationen zur Serverausführungsumgebung abrufen.

  • $_SERVER["REMOTE_ADDR"] //IP-Adresse des Clients

  • $_SERVER["SERVER_ADDR"] //IP-Adresse des Servers

Nach dem Springen zur Seite zur Anmeldeüberprüfung wird das vom Administrator eingegebene Kontokennwort mit den Datensätzen in der Datenbank abgeglichen Wenn die Übereinstimmung nicht erfolgreich ist, springen Sie zur Seite „Anmeldung erfolgreich“ (success.php); andernfalls springen Sie zur Seite „Fehler bei der Anmeldung“ (error.php).

Login-Erfolgsseite 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>

Laufeffekt

Ausführliche Erklärung zum Betrieb einer MySQL-Datenbank mit PHP (3)
Springen Sie nach 5 Sekunden zur Nachrichtenverwaltungsseite (manage.php). Die Nachrichtenverwaltungsseite betreibt die MySQL-Datenbank in PHP (4 )in.

Seite „Anmeldefehler“ error.php

Der Code für eine fehlgeschlagene Anmeldung ist fast derselbe wie der Code für eine erfolgreiche Anmeldung Login.

Laufeffekt

Ausführliche Erklärung zum Betrieb einer MySQL-Datenbank mit PHP (3)
Springen Sie nach 5 Sekunden zur Anmeldeseite (login.php) und warten Sie auf die Administrator Geben Sie das Kontokennwort erneut ein.

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zum Betrieb einer MySQL-Datenbank mit PHP (3). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn