ホームページ >バックエンド開発 >PHPチュートリアル >PHPでMySQLデータベースを操作する詳細解説(3)

PHPでMySQLデータベースを操作する詳細解説(3)

黄舟
黄舟オリジナル
2017-03-25 09:50:571638ブラウズ

管理者ログイン バックエンド モジュール

主に次の内容を含む管理者ログイン バックエンド モジュールを実装します。
4. ログインチェックコード
1. 管理者データテーブル - 007_admin

説明

id レコード ID、自動的に生成されます

ユーザー名ユーザー名パスワード注文パスワード名前管理者名電話電話lastloginip最終ログインIP lastlogin最終ログイン時間ログインヒット数ログイン総数ステータスアカウント日付2. ログインフローチャートrrreええ
時間
ステータス、1が有効、0が無効 広告
アカウント作成日
3. ログインページ

ランエフェクト

アカウントのパスワードを入力してログインをクリックすると、ログイン確認ページ (login_check.php) にジャンプします PHPでMySQLデータベースを操作する詳細解説(3)

4. ログイン確認ページ

<!--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>

コード PS:

md5() 関数

説明: 文字列の MD5 ハッシュ値を計算します

PHPでMySQLデータベースを操作する詳細解説(3)

説明: ハッシュ値を 32 文字の 16 進数の形式で返します

注: 暗号化md5 のアルゴリズムは安全ではなくなりました

例: md5("123456") =e10adc3949ba59abbe56e057f20f883e

$_SERVER[]

    説明: サーバーの実行環境情報を取得します。
  • $_SERVER["REMOTE_ADDR"] //クライアントのIPアドレス
  • $_SERVER["SERVER_ADDR"] //サーバーのIPアドレス
  • ログイン確認ページに飛んだ後、運営がアカウントを照合します入力されたアカウントとパスワードが正しい場合 (つまり、一致した場合)、一致しない場合はログイン成功ページ (success.php) にジャンプします。失敗した場合は、ログイン失敗ページ(error.php)にジャンプします。

ログイン成功ページ

success.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");
}?>

  • ランニングエフェクト

  • 5秒後、ニュース管理ページ(manage.php)にジャンプします。ニュース管理ページは
  • にあります
  • PHP操作 MySQLデータベース

    (4)

ログイン失敗ページ

error.php

ログイン失敗のコードは、ログイン成功のコードとほぼ同じです。

ランニング効果

5秒後、ログインページ(login.php)にジャンプし、管理者がアカウントパスワードを再入力するのを待ちます。 PHPでMySQLデータベースを操作する詳細解説(3)

以上がPHPでMySQLデータベースを操作する詳細解説(3)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。