ホームページ > バックエンド開発 > PHPチュートリアル > PHP 開発 API インターフェイス (登録、ログイン、クエリなど) のコード例

PHP 開発 API インターフェイス (登録、ログイン、クエリなど) のコード例

WBOY
リリース: 2016-07-25 08:59:59
オリジナル
1351 人が閲覧しました
  1. /**
  2. * API インターフェースサーバー
  3. * サイト http://bbs.it-home.org
  4. *
  5. */
  6. require 'conn.php';
  7. header('Content-Type:text/html;charset=utf-8');
  8. $action = $_GET['action'];
  9. switch ($action) {
  10. //注册会员
  11. case"adduserinfo";
  12. $username = lib_replace_end_tag(trim($_GET['username']));
  13. $password2 = lib_replace_end_tag(trim($_GET['userpassword']));
  14. $password = md5("$password2" . ALL_PS);
  15. $email = lib_replace_end_tag(trim($_GET['email']));
  16. if ($username == '' || $password2 == '' || $password == '') {
  17. $res = urlencode("パラメータ有误");
  18. exit(json_encode($res)); //有空情報
  19. }
  20. $sql = "select username from `member` where username='$username'";
  21. $query = mysql_query($sql, $conn);
  22. $count = mysql_num_rows($query);
  23. if ($count > 0) {
  24. exit(json_encode(1)); // 戻り1 表示注册失败
  25. } else {
  26. $addsql = "「メンバー」 (ユーザー名、パスワード、電子メール) の値 ('$ユーザー名','$パスワード','$電子メール') に挿入します";
  27. mysql_query($addsql);
  28. exit(json_encode(0)); //戻り0表示注册成功
  29. }
  30. break;
  31. //查询用户情報
  32. case"selectuserinfo";
  33. $username = lib_replace_end_tag($_GET['username']);
  34. $sql = "username='$username' の `member` から ID、ユーザー名、ニックネーム、モバイルを選択します";
  35. $query = mysql_query($sql, $conn);
  36. $row = mysql_fetch_array($query);
  37. foreach ($row as $key => $v) {
  38. $res[$key] = urlencode($v);
  39. }
  40. exit(json_encode($res));
  41. Break;
  42. //会员登录
  43. case"userlogin";
  44. $username = lib_replace_end_tag($_GET['username']);
  45. $password2 = lib_replace_end_tag(trim($_GET['userpassword']));
  46. $password = md5("$password2" . ALL_PS);
  47. $sqluser = "select id,username,password from `member` where username='" . $ユーザー名 。 "' およびパスワード='" 。 $パスワード 。 "";
  48. $queryuser = mysql_query($sqluser);
  49. $rowuser = mysql_fetch_array($queryuser);
  50. if ($rowuser && is_array($rowuser) && !emptyempty($rowuser)) {
  51. if ($rowuser['username'] == $username && $rowuser['password'] == $password) {
  52. if ($rowuser['password'] == $password) {
  53. $res = urlencode("登录成功");
  54. exit(json_encode($res));
  55. } else {
  56. $res = urlencode("密码错误");
  57. exit(json_encode($res));
  58. }
  59. } else {
  60. $res = urlencode("用户名不存在");
  61. exit(json_encode($res));
  62. }
  63. } else {
  64. $res = urlencode("用户名密码错误");
  65. exit(json_encode($res));
  66. }
  67. /*
  68. * 0:表示登录成功,1:表示密码错误,2:用户名不存在,3:用户名密码错误
  69. */
  70. Break;
  71. デフォルト:
  72. exit(json_encode(error));
  73. }
  74. ?>
复制代

2、客户端の例:

  1. /**
  2. * クライアントは API を呼び出します
  3. * サイト http://bbs.it-home.org
  4. */
  5. header('Content-Type:text/html;charset=utf-8'); //回避输出乱コード
  6. function httpPost($url, $parms) {
  7. $url = $url . $parms;
  8. if (($ch =curl_init($url)) == false) {
  9. throw new Exception(sprintf("url %s.のcurl_initエラー。", $url));
  10. }
  11. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  12. curl_setopt($ch, CURLOPT_HEADER, 0);
  13. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 600);
  14. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  15. if (is_array($parms)) {
  16. curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data;'));
  17. }
  18. $postResult = @curl_exec($ch);
  19. $http_code =curl_getinfo($ch, CURLINFO_HTTP_CODE);
  20. if ($postResult === false || $http_code != 200 ||curl_errno($ch)) {
  21. $error =curl_error($ch);
  22. curl_close($ch);
  23. throw new Exception("HTTP POST FAILED:$error");
  24. } else {
  25. // $postResult=str_replace("xEFxBBxBF", '', $postResult);
  26. switch (curl_getinfo($ch, CURLINFO_CONTENT_TYPE)) {
  27. case 'application/json':
  28. $postResult = json_decode($postResult);
  29. 休憩;
  30. }
  31. curl_close($ch);
  32. $postResult を返します;
  33. }
  34. }
  35. $postUrl = "http://pujia.test.com/api/server.php";
  36. $p=$_GET['p'];
  37. if ($p =="selectuserinfo") {
  38. $username = $_GET['username'];
  39. $parms = "?action=selectuserinfo&username=" . $ユーザー名 。 "";
  40. } elseif ($p =="adduserinfo") {
  41. $username = $_GET['username'];
  42. $userpassword = $_GET['userpassword'];
  43. $parms = "?action=adduserinfo&username=" . $ユーザー名 。 「&ユーザーパスワード=」。 $userpassword 。 "";
  44. } elseif ($p =="ユーザーログイン") {
  45. $ユーザー名 = $_GET['ユーザー名'];
  46. $userpassword = $_GET['userpassword'];
  47. $parms = "?action=userlogin&username=" . $ユーザー名 。 「&ユーザーパスワード=」。 $userpassword 。 "";
  48. }
  49. $res = httpPost($postUrl, $parms); //$parms
  50. $res = json_decode($res);
  51. print_r(urldecode(json_encode($res)));
  52. ?>
复制コード

以上は、今天php教程が出した例示コード、php公開の単一のAPIインターフェイスを使用しており、大家に役立つことを願っています。 程序员の家、私は毎日を心掛けています。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート