PHP+MySql實現後臺數據的讀取

  咱們使用的是PHP 的php_mysqli擴展javascript

  首先了解一些基礎的用法php

 1.鏈接數據庫使用

  mysqli_connect()
  參數:①主機地址 ②MYSQL用戶名 ③MYSQL密碼 ④選擇鏈接的數據庫 ⑤ 端口號
  返回:若是鏈接成功 返回資源類型的標識符號,若是失敗返回false
  若是咱們與Mysql創建的鏈接不止一條,那麼之後操做數據庫的各類函數都必須傳入返回的鏈接符號
  若是咱們與mysql創建的鏈接只有一條,那麼之後操做數據庫的各類函數就沒必要傳入這個標識符號html

 2.設置字符集編碼格式
  mysqli_set_charset() java

 3.執行SQL語句
   若是是增刪改 將返回布爾類型的是否成功
   若是是查詢,將返回資源結果集
   $res=mysqli_query();mysql

 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);      關閉數據庫鏈接
jquery

 

下面咱們來實現一個簡單註冊登陸的功能。sql

先將通用的配置提到一個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便可

<div class="panel panel-primary">
            <div class="panel-heading">
                <div class="panel-title">用戶註冊</div>
            </div>
            <div class="panel-body">
                <form class="form-horizontal">
                    <div class="form-group">
                        <label>用戶名</label>
                        <input type="text" class="form-control" name="userName"/>
                    </div>
                    <div class="form-group">
                        <label>密碼</label>
                        <input type="password" class="form-control" name="pwd" />
                    </div>
                    <div class="form-group">
                        <label>確認密碼</label>
                        <input type="password" class="form-control" name="rePwd" />
                    </div>
                    <div class="form-group">
                        <label>真實姓名</label>
                        <input type="text" class="form-control" name="realName" />
                    </div>
                    
                    <div 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>
                    </div>
                    
                </form>
            </div>
        </div>

重點是看看如何用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

<div class="panel panel-primary">
            <div class="panel-heading">
                <div class="panel-title">用戶登陸</div>
            </div>
            <div class="panel-body">
                <form class="form-horizontal">
                    <div class="form-group">
                        <label>用戶名</label>
                        <input type="text" class="form-control" name="userName"/>
                    </div>
                    <div class="form-group">
                        <label>密碼</label>
                        <input type="password" class="form-control" name="pwd"/>
                    </div>
                    
                    <div 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>
                    </div>
                    
                </form>
            </div>
        </div>

 

重點仍是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)

相關文章
相關標籤/搜索