Home  >  Article  >  Backend Development  >  PHP development API interface code sharing

PHP development API interface code sharing

小云云
小云云Original
2018-02-27 09:43:019744browse

This article mainly shares with you phpThe code that implements the API interface, realizes the functions of user registration, login, and query user information, is to learn PHP API A good example of development, I hope it can help everyone.

PHP APIServer part of the interface

Code example:

<?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 Client part

Code example:

<?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)));
}

Related recommendations:

PHPAPI interface output json format data sample code

How to use PHP to call the API interface to implement the weather query function

Use the web page screenshot API interface to automatically generate web page screenshots

The above is the detailed content of PHP development API interface code sharing. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn