>  기사  >  백엔드 개발  >  PHP로 MySQL 데이터베이스를 운영하는 방법에 대한 자세한 설명(3)

PHP로 MySQL 데이터베이스를 운영하는 방법에 대한 자세한 설명(3)

黄舟
黄舟원래의
2017-03-25 09:50:571611검색

관리자 로그인 배경 모듈

주로 다음을 포함하는 관리자 로그인 배경 모듈을 구현합니다.
1.
2. 로그인 프로세스 설계
3. 로그인 코드
4. 로그인 확인 코드

1. 관리자 데이터 테이블 - 007_admin

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

2. 로그인 흐름도

PHP로 MySQL 데이터베이스를 운영하는 방법에 대한 자세한 설명(3)

3. 로그인 구현

로그인 페이지login.php
<!--login.php-->
<!DOCTYPE html>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>PHP로 MySQL 데이터베이스를 운영하는 방법에 대한 자세한 설명(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">PHP로 MySQL 데이터베이스를 운영하는 방법에 대한 자세한 설명(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>

실행 효과

계정 비밀번호를 입력하고 로그인을 클릭하면 로그인 확인 페이지(login_check.php)로 이동합니다. PHP로 MySQL 데이터베이스를 운영하는 방법에 대한 자세한 설명(3)

로그인 확인 페이지login_check.php
<!--login_check.php-->
<?php
//********************PHP로 MySQL 데이터베이스를 운영하는 방법에 대한 자세한 설명(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 = "PHP로 MySQL 데이터베이스를 운영하는 방법에 대한 자세한 설명(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");
}?>

코드 PS:

md5() 함수

    설명: 문자열의 MD5 해시 값을 계산합니다
  • 설명: 32자의 16진수 숫자로 반환합니다. 해시 값
  • 참고: md5의 암호화 알고리즘은 더 이상 안전하지 않습니다
  • 예: md5("123456") =e10adc3949ba59abbe56e057f20f883e

$_SERVER[]

    설명: 서버 실행 환경 정보를 가져옵니다.
  • $_SERVER["REMOTE_ADDR"] //클라이언트의 IP 주소
  • $_SERVER["SERVER_ADDR"] //서버의 IP 주소
로그인 확인 페이지로 이동한 후, 관리자가 입력한 계정 비밀번호가 데이터베이스에 기록된 것과 일치합니다. 일치 성공)), 로그인 성공 페이지(success.php)로 이동하고, 그렇지 않으면 일치에 실패하면 로그인 실패 페이지(error.php)로 이동합니다.

로그인 성공 페이지 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>

실행 효과

5초 후 뉴스 관리 페이지(manage.php)로 이동합니다. 뉴스 관리 페이지는 PHP로 MySQL 데이터베이스를 운영하는 방법에 대한 자세한 설명(3)
PHP(4)에서 MySQL 데이터베이스를 운영합니다. )중간.

로그인 실패 페이지 error.php 로그인 실패 코드는 로그인 성공 코드와 거의 동일합니다. 로그인.

실행 효과

5초 후 로그인 페이지(login.php)로 이동하여 다음을 기다립니다. 관리자 계정 비밀번호를 다시 입력하세요. PHP로 MySQL 데이터베이스를 운영하는 방법에 대한 자세한 설명(3)

위 내용은 PHP로 MySQL 데이터베이스를 운영하는 방법에 대한 자세한 설명(3)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.