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

    客户端

    <?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("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)));
    ?>
  • 相关阅读:
    CCF 201712-4 90分
    hdu2159
    ch11 持有对象
    ch7复用类
    PLSQL Developer 9注册码
    vue + typespript + webpack
    JavaScript 复制内容到剪贴板
    在不同电脑设备之间, 同步 VSCode 的插件和配置
    常用正则:提取内容, 格式化数字
    js css3 固定点拖拽旋转
  • 原文地址:https://www.cnblogs.com/baocheng/p/5902565.html
Copyright © 2020-2023  润新知