ホームページ  >  記事  >  バックエンド開発  >  PHP 開発 API インターフェイスのコード共有

PHP 開発 API インターフェイスのコード共有

小云云
小云云オリジナル
2018-02-27 09:43:019811ブラウズ

この記事では主に、ユーザー登録、ログイン、ユーザー情報のクエリの機能を実現するための APIインターフェースを実装するphpのコードを紹介します。これは、PHP APIの開発を学ぶための良い例になることを願っています。それはすべての人を助けることができます。
PHP API

インターフェースのサーバー部分

コードサンプル:

<?php
/**
*三目
* PHP开发API接口 服务端

*/
require &#39;conn.php&#39;; 
header(&#39;Content-Type:text/html;charset=utf-8&#39;); 
 
$action = $_GET[&#39;action&#39;]; 
switch ($action) { 
 
    //注册会员 
    case"adduserinfo"; 
        $username = lib_replace_end_tag(trim($_GET[&#39;username&#39;])); 
        $password2 = lib_replace_end_tag(trim($_GET[&#39;userpassword&#39;])); 
        $password = md5("$password2" . ALL_PS); 
        $email = lib_replace_end_tag(trim($_GET[&#39;email&#39;])); 
 
        if ($username == &#39;&#39; || $password2 == &#39;&#39; || $password == &#39;&#39;) { 
            $res = urlencode("参数有误"); 
            exit(json_encode($res)); //有空信息 
        } 
 
        $sql = "select username from `member` where username=&#39;$username&#39;"; 
        $query = mysql-query.html target=_blank class=infotextkey>mysql_query()($sql, $conn); 
        $count = mysql_num_rows($query); 
 
        if ($count > 0) { 
            exit(json_encode(1)); //返回1表示注册失败 
        } else { 
 
            $addsql = "insert into `member` (username,password,email) values (&#39;$username&#39;,&#39;$password&#39;,&#39;$email&#39;)"; 
            mysql_query($addsql); 
            exit(json_encode(0)); //返回0表示注册成功 
        } 
        break; 
 
 
    //查询用户信息 
    case"selectuserinfo"; 
        $username = lib_replace_end_tag($_GET[&#39;username&#39;]); 
        $sql = "select id,username,nickname,mobile from `member` where username=&#39;$username&#39;"; 
        $query = mysql_query($sql, $conn); 
        $row = mysql_fetch_array($query); 
        foreach ($row as $key => $v) { 
            $res[$key] = urlencode($v); 
        } 
        exit(json_encode($res)); 
        break;
    //会员登录 
    case"userlogin"; 
        $username = lib_replace_end_tag($_GET[&#39;username&#39;]); 
        $password2 = lib_replace_end_tag(trim($_GET[&#39;userpassword&#39;])); 
        $password = md5("$password2" . ALL_PS); 
        $sqluser = "select id,username,password from `member` where username=&#39;" . $username . "&#39; and password=&#39;" . $password . "&#39;"; 
        $queryuser = mysql_query($sqluser); 
        $rowuser = mysql_fetch_array($queryuser); 
        if ($rowuser && is_array($rowuser) && !empty($rowuser)) { 
            if ($rowuser[&#39;username&#39;] == $username && $rowuser[&#39;password&#39;] == $password) { 
                if ($rowuser[&#39;password&#39;] == $password) { 
                    $res = urlencode("登录成功"); 
                    exit(json_encode($res)); 
                } else { 
                    $res = urlencode("密码错误"); 
                    exit(json_encode($res)); 
                } 
            } else { 
                $res = urlencode("用户名不存在"); 
                exit(json_encode($res)); 
            } 
        } else { 
            $res = urlencode("用户名密码错误"); 
            exit(json_encode($res)); 
        } 
        /*
         * 0:表示登录成功,1:表示密码错误,2:用户名不存在,3:用户名密码错误
         */ 
        break; 
 
    default: 
        exit(json_encode(error)); 
  }
}

PHP API

クライアント部分

コードサンプル:

<?php
/**
* PHP API接口 客户端
* edit: 办公用品
*/
header(&#39;Content-Type:text/html;charset=utf-8&#39;); //避免输出乱码 
 
function httpPost($url, $parms) { 
    $url = $url . $parms; 
    if (($ch = curl_init($url)) == false) { 
        throw new Exception(sprintf()("curl_init error for url %s.", $url)); 
    } 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 600); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
    if (is_array($parms)) { 
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(&#39;Content-Type: multipart/form-data;&#39;)); 
    } 
    $postResult = @curl_exec($ch); 
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
    if ($postResult === false || $http_code != 200 || curl_errno($ch)) { 
        $error = curl_error($ch); 
        curl_close($ch); 
        throw new Exception("HTTP POST FAILED:$error"); 
    } else { 
        // $postResult=str_replace()("\xEF\xBB\xBF", &#39;&#39;, $postResult); 
        switch (curl_getinfo($ch, CURLINFO_CONTENT_TYPE)) { 
            case &#39;application/json&#39;: 
                $postResult = json_decode()($postResult); 
                break; 
        } 
        curl_close($ch); 
        return $postResult; 
    } 
} 
$postUrl = "http://pujia.test.com/api/server.php"; 
 
$p=$_GET[&#39;p&#39;]; 
if ($p =="selectuserinfo") { 
 
    $username = $_GET[&#39;username&#39;]; 
    $parms = "?action=selectuserinfo&username=" . $username . ""; 
 
} elseif ($p =="adduserinfo") { 
 
    $username = $_GET[&#39;username&#39;]; 
    $userpassword = $_GET[&#39;userpassword&#39;]; 
    $parms = "?action=adduserinfo&username=" . $username . "&userpassword=" . $userpassword . ""; 
 
} elseif ($p =="userlogin") { 
    $username = $_GET[&#39;username&#39;]; 
    $userpassword = $_GET[&#39;userpassword&#39;]; 
    $parms = "?action=userlogin&username=" . $username . "&userpassword=" . $userpassword . ""; 
 
} 
$res = httpPost($postUrl, $parms); //$parms 
$res = json_decode($res); 
print_r(urldecode(json_encode($res)));
}

関連推奨事項:

PHPAPIインターフェース出力json形式データサンプルコード

PHP を使用して API インターフェースを呼び出し、天気クエリ機能を実装する方法

Web ページのスクリーンショット API インターフェースを使用して Web ページのスクリーンショットを自動的に生成する

以上がPHP 開発 API インターフェイスのコード共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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