PHP开发API接口代码展示

(干货请收藏)
这是一例php实现API接口的代码:
实现用户注册、登录、查询的功能;
是学习PHP API开发的不错实例。
代码示例:

<?php
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.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 ('$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) && !empty($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));
  }
}
**API客户端部分代码:
代码示例:**
	<?php
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()(*******'', $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)));
}

(干货请收藏,有问题请指教)

发布了29 篇原创文章 · 获赞 22 · 访问量 2163

猜你喜欢

转载自blog.csdn.net/qq_44476335/article/details/103388395
今日推荐