php开发API接口(注册,登录,查询等)的代码示例

发布时间:2020-02-22编辑:脚本学堂
为大家介绍如何用php开发API接口,以实现一个简单的注册,登录及查询用户资料的功能,有需要的朋友,可以参考学习下。

1、服务端
 

复制代码 代码示例:
<?php
/**
* API接口服务端
* site http://www.jb200.com
*
*/
    require 'conn.php'; 
    header('Content-Type:text/html;charset=utf-8'); 
     
    $action = $_GET['action']; 
    switch ($action) { 
     
        //注册会员 
        case"adduserinfo"; 
            $username = lib_replace_end_tag(trim($_GET['username'])); 
            $password2 = lib_replace_end_tag(trim($_GET['userpassword'])); 
            $password = md5("$password2" . ALL_PS); 
            $email = lib_replace_end_tag(trim($_GET['email'])); 
     
            if ($username == '' || $password2 == '' || $password == '') { 
                $res = urlencode("参数有误"); 
                exit(json_encode($res)); //有空信息 
            } 
     
            $sql = "select username from `member` where username='$username'"; 
            $query = 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 ('$username','$password','$email')"; 
                mysql_query($addsql); 
                exit(json_encode(0)); //返回0表示注册成功 
            } 
            break;
     
        //查询用户信息 
        case"selectuserinfo"; 
            $username = lib_replace_end_tag($_GET['username']); 
            $sql = "select id,username,nickname,mobile from `member` where username='$username'"; 
            $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['username']); 
            $password2 = lib_replace_end_tag(trim($_GET['userpassword'])); 
            $password = md5("$password2" . ALL_PS); 
            $sqluser = "select id,username,password from `member` where username='" . $username . "' and password='" . $password . "'"; 
            $queryuser = mysql_query($sqluser); 
            $rowuser = mysql_fetch_array($queryuser); 
            if ($rowuser && is_array($rowuser) && !emptyempty($rowuser)) { 
                if ($rowuser['username'] == $username && $rowuser['password'] == $password) { 
                    if ($rowuser['password'] == $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)); 
    }  
?> 

2、客户端例子:
 

复制代码 代码示例:
<?php     
/**
 * 客户端调用API
* site http://www.jb200.com
*/
    header('Content-Type:text/html;charset=utf-8'); //避免输出乱码 
     
    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('Content-Type: multipart/form-data;')); 
        } 
        $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("xEFxBBxBF", '', $postResult); 
            switch (curl_getinfo($ch, CURLINFO_CONTENT_TYPE)) { 
                case 'application/json': 
                    $postResult = json_decode($postResult); 
                    break; 
            } 
            curl_close($ch); 
            return $postResult; 
        } 
    } 
     
    $postUrl = "http://pujia.test.com/api/server.php"; 
     
    $p=$_GET['p']; 
    if ($p =="selectuserinfo") { 
     
        $username = $_GET['username']; 
        $parms = "?action=selectuserinfo&username=" . $username . ""; 
     
    } elseif ($p =="adduserinfo") { 
     
        $username = $_GET['username']; 
        $userpassword = $_GET['userpassword']; 
        $parms = "?action=adduserinfo&username=" . $username . "&userpassword=" . $userpassword . ""; 
     
    } elseif ($p =="userlogin") { 
        $username = $_GET['username']; 
        $userpassword = $_GET['userpassword']; 
        $parms = "?action=userlogin&username=" . $username . "&userpassword=" . $userpassword . ""; 
     
    } 
    $res = httpPost($postUrl, $parms); //$parms 
    $res = json_decode($res); 
    print_r(urldecode(json_encode($res))); 
?>

以上就是今天php 教程给出的示例代码,用php开发简单的API接口,希望对大家有所帮助。
脚本学堂,专为心你每一天。