ホームページ >バックエンド開発 >PHPチュートリアル >PHP と MySql はバックグラウンド データの読み取りをどのように実装しますか? (コード)

PHP と MySql はバックグラウンド データの読み取りをどのように実装しますか? (コード)

不言
不言オリジナル
2018-07-25 18:03:552977ブラウズ

バックグラウンドデータの読み込みを実現する方法はたくさんあります。次に、バックグラウンドデータの読み込みを実現するための PHP MySql を紹介します。ここでは、PHP の php_mysqli 拡張機能を使用します。そこで、最初にいくつかの基本を理解してください。

1.

mysqli_connect()
を使用してデータベースに接続します。 パラメータ: ① ホスト アドレス ② MYSQL ユーザー名 ③ MYSQL パスワード ④ 接続するデータベースの選択 ⑤ ポート番号
戻り値: 接続が成功した場合に戻ります リソース タイプの識別子 失敗した場合は false を返します
Mysql との複数の接続を確立する場合、将来データベースを操作するさまざまな関数は、返された値を渡す必要があります接続記号
Mysql One との接続を 1 つだけ確立する場合、今後データベースを操作するさまざまな関数にこの識別子を渡す必要はありません

2. 文字セットのエンコード形式を設定します
mysqli_set_charset();

3. SQL ステートメントを実行します
追加、削除、変更の場合はブール型の成功を返します
クエリの場合は成功を返しますリソース結果セット
$res=mysqli_query();

4. 結果セットを処理します

mysqli_fetch_assoc($res); 連想配列を返します
mysqli_fetch_row($res);インデックス配列を返します
mysqli_fetch_object($res); オブジェクトを返します
mysqli_fetch_field($res); 結果セットの各列のフィールド情報を返します (フィールド名、テーブル名、データベース名、フィールド タイプ)

mysqli_data_seek($res, 0); 結果セットのポインタ位置をゼロに設定し、結果セットを先頭にリセットします

mysqli_free_result( $res); クエリ リソースの結果セットを解放します
mysqli_close ($conn); データベース接続を閉じます

簡単な登録とログイン機能を実装してみましょう。

最初に一般的な構成を PHP ファイルに記述し、後でインポートします

<?php
    header("Content-Type:text/html;charset=utf-8");
    
    
    define("HOST", "127.0.0.1");
    define("USERNAME", "root");
    define("PASSWORD", "");
    define("DBNAME", "mydb");
    define("CHARSET", "utf8");
    
    $con=mysqli_connect(HOST, USERNAME, PASSWORD, DBNAME) or die("数据库连接失败,<span style=&#39;color:red;&#39;>".mysqli_connect_error()."</span>");
    mysqli_set_charset($con, CHARSET) or die("字符集编码设置无效");

ユーザー情報にアクセスするためのテーブルをデータベースに作成します。ここでは、mydb データベースに submit という名前のテーブルを作成しました。

最初に行うことは関数を登録することです。登録とは、ユーザー入力フォームの情報をバックグラウンド データベースのテーブルに保存することです。は登録ページのスタイルです。何もありません。言うのは簡単です。名前を覚えてください。ID

<p class="panel panel-primary">
            <p class="panel-heading">
                <p class="panel-title">用户注册</p>
            </p>
            <p class="panel-body">
                <form class="form-horizontal">
                    <p class="form-group">
                        <label>用户名</label>
                        <input type="text" class="form-control" name="userName"/>
                    </p>
                    <p class="form-group">
                        <label>密码</label>
                        <input type="password" class="form-control" name="pwd" />
                    </p>
                    <p class="form-group">
                        <label>确认密码</label>
                        <input type="password" class="form-control" name="rePwd" />
                    </p>
                    <p class="form-group">
                        <label>真实姓名</label>
                        <input type="text" class="form-control" name="realName" />
                    </p>
                    
                    <p class="form-group btns">
                        <input type="button" class="btn btn-primary" value="确定注册" id="submit"/>
                            
                        <a type="button" class="btn btn-success" href="login.php"/>返回登录</a>
                    </p>
                    
                </form>
            </p>
        </p>

重要な点は、JQuery を使用してデータをバックグラウンドに POST する方法を確認することです。

#
<script src="../../js/jquery-1.10.2.js"></script>
    <script type="text/javascript">
        $(function(){
            $("#submit").on("click",function(){
                var userName = $("input[name=&#39;userName&#39;]").val();
                var pwd = $("input[name=&#39;pwd&#39;]").val();
                var rePwd = $("input[name=&#39;rePwd&#39;]").val();
                var realName = $("input[name=&#39;realName&#39;]").val();
                if(userName==""||pwd==""||rePwd==""||realName==""){
                    alert("所有信息不可为空,请确认!");
                    return;
                }else if(pwd!=rePwd){
                    alert("两次密码输入不一致!");
                    return;
                }
                
                $.post("doReg.php",{
                    "userName":userName,
                    "pwd":pwd,
                    "realName":realName
                },function(data){
                    alert(data);
                    
                    if(data=="注册成功"){
                        location = "login.php";
                    }
                })
                
            });
        });
    </script>

バックグラウンド PHP ファイルがデータを受信した後、SQL ステートメントを通じてデータベースを操作し、テーブルにデータを保存します

<?php
    header("Content-Type:text/html;charset=utf-8");
    $str=$_POST["formData"];
    list($username)=explode("&", $str);
    list(,$pwd)=explode("&", $str);
    list(,,,$realname)=explode("&", $str);
    list(,$username)=explode("=", $username);
    list(,$pwd)=explode("=", $pwd);
    list(,$realname)=explode("=", $realname);
    include_once("mysql.php");
    $sql=<<<sql
    insert into submit (username,pwd,realname) values ("$username","$pwd","$realname");
sql;
    $sql2=<<<sql2
    SELECT username FROM submit WHERE username="$username";
sql2;
    $res2=mysqli_query($con, $sql2);
    $res=mysqli_query($con, $sql);
    if(mysqli_num_rows($res2)>0){
        die("用户名已经存在!");  
    }
    elseif($res){
        echo &#39;true&#39;;
    }else{
        die();
    }

このように、登録ボタンをクリックすると、入力した情報がテーブルに保存されます。成功したら、ログイン ページに移動します。

#次はログイン ページです。ログイン関数は、テーブルに保存されているユーザー名とパスワードの情報を読み取る必要があります

#ログインページ スタイルについては言うまでもありません。必要な名前とIDも覚えてください

<p class="panel panel-primary">
            <p class="panel-heading">
                <p class="panel-title">用户登录</p>
            </p>
            <p class="panel-body">
                <form class="form-horizontal">
                    <p class="form-group">
                        <label>用户名</label>
                        <input type="text" class="form-control" name="userName"/>
                    </p>
                    <p class="form-group">
                        <label>密码</label>
                        <input type="password" class="form-control" name="pwd"/>
                    </p>
                    
                    <p class="form-group btns">
                        <input type="button" class="btn btn-primary" value="登录系统" id="submit"/>
                            
                        <a type="button" class="btn btn-success" href="reg.php"/>注册账号</a>
                    </p>
                    
                </form>
            </p>
        </p>
重要なポイントはJQコードです

<script src="../../js/jquery-1.10.2.js"></script>
    <script type="text/javascript">
        $(function(){
            $("#submit").on("click",function(){
                var userName = $("input[name=&#39;userName&#39;]").val();
                var pwd = $("input[name=&#39;pwd&#39;]").val();
                
                $.post("doLogin.php",{
                    "userName":userName,
                    "pwd":pwd
                },function(data){
                    alert(data);
                    if(data=="登录成功"){
                        location = "index.php";
                    }else{
                        alert("用户名或密码有误!");
                    }
                });
            });
        });
    </script>

JQコード上記のランディング ページ 実行されるのは、バックグラウンド ログイン PHP ファイル内のデータベースから読み取られたユーザー名とパスワード情報を取得し、それをユーザーによる新しい入力と比較することです。true の場合、ログインは成功です。その後、バックグラウンド ログイン ページが表示されます。書き方は非常に簡単で、テーブルからSQL文で情報を読み込んだ後、フロントログインページ

#

<?php

    header("Content-Type:text/html;charset=utf-8");include_once("../mysql/mysql.php");
    
    $userName = $_POST["userName"];
    $pwd = $_POST["pwd"];
    
    $loginSql = <<<login
    select * from submit where username="{$userName}" and pwd = "{$pwd}";
login;

    $res = mysqli_query($con, $loginSql);
    
    if($row = mysqli_fetch_row($res)){
        $_SESSION["user"] = $row;

        echo "登录成功";
    }else{
        echo "登录失败";
    }

    
    mysqli_free_result($res);
    mysqli_close($con);
#に戻ることができます。

## ログインに成功すると、ログインが成功したことを示すメッセージが表示され、ホームページ (index.html) にジャンプします。

関連する推奨事項:

php小さな実用的な推奨事項: ログインとクエリ関数を実装するための php mysql コード例

以上がPHP と MySql はバックグラウンド データの読み取りをどのように実装しますか? (コード)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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