Maison  >  Article  >  développement back-end  >  Explication détaillée du fonctionnement de la base de données MySQL avec PHP (3)

Explication détaillée du fonctionnement de la base de données MySQL avec PHP (3)

黄舟
黄舟original
2017-03-25 09:50:571611parcourir

Module d'arrière-plan de connexion de l'administrateur

Implémentez le module d'arrière-plan de connexion de l'administrateur, qui comprend principalement :
1.
2. Conception du processus de connexion
3. Code de connexion
4. Code de vérification de connexion

1. Table de données de l'administrateur - 007_admin

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

2. Organigramme de connexion

Explication détaillée du fonctionnement de la base de données MySQL avec PHP (3)

3.

Page de connexion

login.php

<!--login.php-->
<!DOCTYPE html>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Explication détaillée du fonctionnement de la base de données MySQL avec 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">Explication détaillée du fonctionnement de la base de données MySQL avec 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>
Effet de course

Après avoir entré le mot de passe du compte et cliqué sur connexion, vous accéderez à la page de vérification de connexion (login_check.php)

Explication détaillée du fonctionnement de la base de données MySQL avec PHP (3)

4.

login_check.php

Code PS :
<!--login_check.php-->
<?php
//********************Explication détaillée du fonctionnement de la base de données MySQL avec 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 = "Explication détaillée du fonctionnement de la base de données MySQL avec 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");
}?>

md5( ) Fonction

Description : Calculer la valeur de hachage MD5 de la chaîne
  • Description : En hexadécimal de 32 caractères Retour la valeur de hachage sous forme de chiffres
  • Remarque : L'algorithme de cryptage de md5 n'est plus sûr
  • Exemple : md5("123456") = e10adc3949ba59abbe56e057f20f883e
$_SERVER[]

Description : Obtenez des informations sur l'environnement d'exécution du serveur.
  • $_SERVER["REMOTE_ADDR"] //Adresse IP du client
  • $_SERVER["SERVER_ADDR"] //Adresse IP du serveur
  • Après avoir accédé à la page de vérification de connexion, le mot de passe du compte saisi par l'administrateur sera mis en correspondance avec les enregistrements de la base de données lorsque le mot de passe du compte saisi est correct (c'est-à-dire le. la correspondance est réussie) ), passez à la page de réussite de la connexion (success.php) ; sinon, si la correspondance échoue, passez à la page d'échec de connexion (error.php).

Page de réussite de connexion

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>
Effet de course

Après 5 secondes, accédez à la page de gestion des actualités (manage.php). La page de gestion des actualités exploite la base de données MySQL en

Explication détaillée du fonctionnement de la base de données MySQL avec PHP (3)PHP
. (4 ) po.

Page d'échec de connexion

error.php Le code d'échec de connexion est presque le même que le code de connexion réussie se connecter.

Effet d'exécution

Après 5 secondes, accédez à la page de connexion (login.php) et attendez le administrateur Saisissez à nouveau le mot de passe du compte.

Explication détaillée du fonctionnement de la base de données MySQL avec PHP (3)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn