php post接口,登錄功能


  • 登錄功能同注冊功能一樣,都是使用 post 方法在執行 sql 語句時,同樣要使用 "select * from 表名 where 鍵名 = 參數" 的查詢方式,不同的是:
  1. 注冊使用查詢語句是為了判斷注冊用的字段值是否重復 ? 注冊失敗 : 注冊成功;
  2. 登錄使用查詢語句是為了查詢表中是否有那個字段的值 ? 登錄成功 : 登錄失敗;

 

  • 另一個相同的地方是都用到了 mysql_num_rows($result) 的sql 語句,都用它來做一件事,那就是通過它來確定返回的值是否為 1,根據返回這個值,來進行判斷是否成功:
  1. 注冊時,使用 $row = mysql_num_rows($result); 如果 $row=1,手機號存在,注冊失敗;
  2. 登錄時,使用 $row = mysql_num_rows($result); 如果 $row=1,手機號存在,登錄成功;

這個接口同樣分為 5 步走:

連接服務器;

$link = mysql_connect("localhost","root","root") or die ("連接服務器失敗".mysql_error());
//防止中文亂碼
mysql_query("SET NAMES UTF8");

 

連接數據庫;

mysql_select_db("test",$link) or die("選擇數據庫失敗".mysql_error());

 

執行sql語句;

//參數
$tel = $_POST["tel"];
$pwd = $_POST["pwd"];

//根據條件查詢
$insert = "select * from t_user where user_phone = '$tel' and user_password = '$pwd'";
$result = mysql_query($insert);

 

根據執行的結果,寫兩種不同的結果並以JSON方式返回;

//判斷是否可以查詢出要登錄的手機號,還是使用 mysql_num_rows()返回的值是否為 1,就是1條數據,因此這個$row就是返回的一整條數據
    $row = mysql_num_rows($result);
    if($row == 1){
        //定義一個數組
        $array = array();
        /*
         * 如果等於1,說明查詢成功,也就是登錄成功,說明這個用戶是存在的,就需要把對應的數據返回給一個數組
         * 為什么要用 while 語句呢?因為登錄一次只查詢一條語句,while(){}語句,只執行一次
        */
        while($row = mysql_fetch_array($result)){
            //把返回的數據從 $row 中取出存入 $array中,一般是要把所有的字段都儲存在 數組中
            $array["user_id"] = $row["user_id"];
            $array["user_phone"] = $row["user_phone"];
            $array["user_name"] = $row["user_name"];
            $array["user_sex"] = $row["user_sex"];
            $array["user_password"] = $row["user_password"];
            $array["user_header"] = $row["user_header"];
        }
        //把上面的數組以 json 格式返回
        $json = json_encode(array(
            "resultCode"=>200,
            "message"=>"登錄成功!",
            "data"=>$array
        ));
        echo($json);
    }else{
        $json = json_encode(array(
            "resultCode"=>500,
            "message"=>"登錄失敗!"
        ));
        echo($json);
    }

 

關閉服務器;

mysql_close($link);    

 

任何接口在讓客戶端使用時,都要進行測試,同樣使用 Rest Client,參數同注冊時一樣:

 

唯一不同的是,登錄需要返回查詢的結果,也就是是否登錄成功的消息需要返回給客戶端:

 

 

有個問題不太明白,返回的 “message”為什么是"\u767b\u5f55\u6210\u529f\uff01"  ????

有知情的大俠能不能指點一下,非常感謝!

 巳找到解決辦法:http://www.cnblogs.com/baiyygynui/p/6653869.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM