PHP和MySql如何?後台資料的讀取 ?(代碼)

來源:互聯網
上載者:User
實現後台資料讀取的方式有很多種,接下來我給大家分享的是PHP+MySql實現後台資料的讀取,在這裡,我們使用的是PHP 的php_mysqli擴充,那麼,首先瞭解一些基礎的用法吧。

1.串連資料庫使用

mysqli_connect()
參數:①主機地址 ②MYSQL使用者名稱 ③MYSQL密碼 ④選擇串連的資料庫 ⑤ 連接埠號碼
返回:如果串連成功 返回資源類型的標識符號,如果失敗返回false
如果我們與Mysql建立的串連不止一條,那麼以後操作資料庫的各種函數都必須傳入返回的串連符號
如果我們與mysql建立的串連只有一條,那麼以後操作資料庫的各種函數就不必傳入這個標識符號

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='color:red;'>".mysqli_connect_error()."</span>");    mysqli_set_charset($con, CHARSET) or die("字元集編碼設定無效");

在資料庫中建個表,以便存取使用者資訊。在這我在mydb資料庫中建立了一個名為submit的表。

首先做的事註冊功能,註冊就是將使用者輸入表單中的資訊儲存到後台資料庫的表中

下邊的是註冊頁的樣式,沒什麼好說的,記住name 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"/>                        &nbsp;&nbsp;&nbsp;&nbsp;                        <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='userName']").val();                var pwd = $("input[name='pwd']").val();                var rePwd = $("input[name='rePwd']").val();                var realName = $("input[name='realName']").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 'true';    }else{        die();    }

這樣,點擊註冊按鈕,就可將輸入的資訊存入表中。成功後跳轉登陸頁

下面做的就是登陸頁,登入功能需要讀取存在表中的使用者名稱與密碼資訊

登入頁樣式也不多說。同樣記住需要的name與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"/>                        &nbsp;&nbsp;&nbsp;&nbsp;                        <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='userName']").val();                var pwd = $("input[name='pwd']").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)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.