-
- /**
- * API インターフェースサーバー
- * サイト http://bbs.it-home.org
- *
- */
- 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 = "「メンバー」 (ユーザー名、パスワード、電子メール) の値 ('$ユーザー名','$パスワード','$電子メール') に挿入します";
- mysql_query($addsql);
- exit(json_encode(0)); //戻り0表示注册成功
- }
- break;
-
- //查询用户情報
- case"selectuserinfo";
- $username = lib_replace_end_tag($_GET['username']);
- $sql = "username='$username' の `member` から ID、ユーザー名、ニックネーム、モバイルを選択します";
- $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='" . $ユーザー名 。 "' およびパスワード='" 。 $パスワード 。 "";
- $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;
-
- デフォルト:
- exit(json_encode(error));
- }
- ?>
复制代
2、客户端の例:
-
- /**
- * クライアントは API を呼び出します
- * サイト http://bbs.it-home.org
- */
- 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("url %s.のcurl_initエラー。", $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);
- 休憩;
- }
- curl_close($ch);
- $postResult を返します;
- }
- }
-
- $postUrl = "http://pujia.test.com/api/server.php";
-
- $p=$_GET['p'];
- if ($p =="selectuserinfo") {
-
- $username = $_GET['username'];
- $parms = "?action=selectuserinfo&username=" . $ユーザー名 。 "";
-
- } elseif ($p =="adduserinfo") {
-
- $username = $_GET['username'];
- $userpassword = $_GET['userpassword'];
- $parms = "?action=adduserinfo&username=" . $ユーザー名 。 「&ユーザーパスワード=」。 $userpassword 。 "";
-
- } elseif ($p =="ユーザーログイン") {
- $ユーザー名 = $_GET['ユーザー名'];
- $userpassword = $_GET['userpassword'];
- $parms = "?action=userlogin&username=" . $ユーザー名 。 「&ユーザーパスワード=」。 $userpassword 。 "";
-
- }
- $res = httpPost($postUrl, $parms); //$parms
- $res = json_decode($res);
- print_r(urldecode(json_encode($res)));
- ?>
复制コード
以上は、今天php教程が出した例示コード、php公開の単一のAPIインターフェイスを使用しており、大家に役立つことを願っています。
程序员の家、私は毎日を心掛けています。
|