Maison >développement back-end >tutoriel php >Partage de code de l'interface API de développement PHP

Partage de code de l'interface API de développement PHP

小云云
小云云original
2018-02-27 09:43:019868parcourir

Cet article partage principalement avec vous le code de php pour implémenter l'interface API pour réaliser les fonctions d'enregistrement des utilisateurs, de connexion et de requête d'informations utilisateur. excellente façon d'apprendre l'API PHP Un bon exemple de développement, j'espère que cela pourra aider tout le monde.

Partie serveur de l'API PHPinterface

Exemple de code :

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

API PHP Partie client de l'exemple de code

 :

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

Recommandations associées :

Exemple de code de sortie d'interface PHPAPI au format json

Comment utiliser PHP pour appeler l'interface API afin d'implémenter la fonction de requête météo

Utiliser l'interface API de capture d'écran de page Web pour générer automatiquement des captures d'écran de page Web

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn