thinkphp-登入接口示例

接著上一個(gè)筆記編寫第一個(gè)后臺(tái)接口

新建數(shù)據(jù)表

  • 在數(shù)據(jù)庫zero中新建一個(gè)數(shù)據(jù)表,命名為db_account
新建數(shù)據(jù)表
  • 編輯列。共有三列,id,name,password。并將id設(shè)為自增長和主鍵
編輯列

編寫后臺(tái)接口

在控制器Controller目錄中新建名為_A_mysql的php文件,此文件的功能是php操作mysql的常用代碼,這里封裝成一個(gè)文件,為了減少代碼的重復(fù),和方便修改mysql的登入信息。

_A_mysql.php代碼如下

<?php
    $con = mysql_connect("localhost","root","xiao1234");
    if (!$con){die('Could not connect:'.mysql_error());}
    mysql_select_db("zero",$con);
?>

AccountController.class.php代碼如下

<?php
namespace Home\Controller;
use Think\Controller;
header("Content-Type: text/html;charset=utf-8");
header('Access-Control-Allow-Origin:*');//允許跨域


class AccountController extends Controller { 
    public function login(){
        $name = $_GET['name']; // 獲取參數(shù)
        $password = $_GET['password']; // 獲取參數(shù)

        $data = $this -> mysql_select($name);

        if(!$data['password'] || $data['password'] !== $password){
            $re->state = 0;  
        }else{
            $re->state = 1;
            $re->data->id = $data['id'];
        }
        $this->ajaxReturn($re);
    }
    
    public function addAccount(){
        $name = $_GET['name']; // 獲取參數(shù)
        $password = $_GET['password']; // 獲取參數(shù)
        $result = $this -> mysql_insert($name,$password);
        $this->ajaxReturn($result);
    }

    public function deleteAccount(){
        $name = $_GET['name']; // 獲取參數(shù)
        $result = $this -> mysql_delete($name);
        $this->ajaxReturn($result);
    }

    public function setPassword(){
        $name = $_GET['name']; // 獲取參數(shù)
        $password = $_GET['password']; // 獲取參數(shù)
        $result = $this -> mysql_updata($name,$password);
        $this->ajaxReturn($result);
    }

    public function mysql_insert($name,$password){
        if(json_encode($this->mysql_select($name))=='false'){//是否重名
            include '_A_mysql.php';
            mysql_query("INSERT INTO db_account (name, password) 
                VALUES ('{$name}', '{$password}')");
            mysql_close($con);
            $re = 1;
        }else{
            $re = 0;
        }
        return $re;
    }

    public function mysql_delete($name){
        include '_A_mysql.php';
        mysql_query("DELETE FROM db_account WHERE name='{$name}'");
        mysql_close($con);
        return;
    }

    public function mysql_updata($name,$password){
        include '_A_mysql.php';
        mysql_query("UPDATE db_account SET password = '{$password}'
            WHERE name = '{$name}' ");
        mysql_close($con);
        return;
    }

    public function mysql_select($name){
        include '_A_mysql.php';
        $sql = "SELECT * FROM db_account WHERE name='{$name}'";
        $result = mysql_query($sql);
        $row = mysql_fetch_array($result);//獲取一行數(shù)據(jù)
        mysql_close($con);
        return $row;
    }
}

訪問接口

在瀏覽器中輸入

http://localhost/zero/index.php/Home/Account/addAccount?name=adrian&password=angel

網(wǎng)頁訪問接口

在打開mysql管理工具,可以看到已經(jīng)多了一條數(shù)據(jù)

插入數(shù)據(jù)

ajax請(qǐng)求

打開包含有jqery.js的html頁面的控制臺(tái)

輸入如下js代碼

$.ajax({
    type: "GET",
    url: "http://localhost/zero/index.php/Home/Account/addAccount?",
    data: {
        name:'simon',
        password:'simon',
    },
    dataType: "json",
    success: function(result){
        console.log('成功回調(diào)',result);
    },
    error: function(result){
        console.log('失敗回調(diào)',result);
    }
});
Paste_Image.png

打開mysql管理工具,可以看到又多了一條記錄

ajax請(qǐng)求
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容