PHP開發API介面代碼分享

來源:互聯網
上載者:User
本文主要和大家分享php實現API介面的代碼,實現使用者的註冊、登入、查詢使用者資訊的功能,是學習PHP API開發的不錯執行個體,希望能協助到大家。

PHP API介面的服務端部分

程式碼範例:

<?php/***三目* PHP開發API介面 服務端*/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));   }}

PHP API 用戶端部分

程式碼範例:

<?php/*** PHP API介面 用戶端* edit: 辦公用品*/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()("\xEF\xBB\xBF", '', $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)));}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.