/**
*一览(www.yl1001.com)
* 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'])); //lib_replace_end_tag() 防止sql注入
$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实现API接口的代码,实现用户的注册、登录、查询用户信息的功能,
是学习PHP API开发的不错实例,有兴趣的朋友研究下吧。
PHP API接口的服务端部分
代码示例: <?php PHP API 客户端部分 代码示例:
 <?php
/**
* PHP API接口 客户端
* edit: www.jbxue.com
*/
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)));
}

 

转载自:http://www.cnblogs.com/mssql8/p/4034842.html

php 登录注册api接口代码的更多相关文章

  1. day102:MoFang:后端完成对短信验证码的校验&基于celery完成异步短信发送&flask_jwt_extended&用户登录的API接口

    目录 1.用户注册 1.后端完成对短信验证码的校验 2.基于celery实现短信异步发送 2.用户登录 1.jwt登录验证:flask_jwt_extended 2.服务端提供用户登录的API接口 1 ...

  2. 基于HTML5手机登录注册表单代码

    分享一款基于HTML5手机登录注册表单代码.这是一款鼠标点击注册登录按钮弹出表单,适合移动端使用.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class=&qu ...

  3. JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  4. 公交线路免费api接口代码

    描写叙述:本接口主要是依据城市名称 +  线路名称 模糊查找城市公交线路信息. 开源api接口:http://openapi.aibang.com/bus/lines?app_key=keyvalue ...

  5. Flask博客类登录注册验证模块代码(十四)

    1 文件系统 blog #博客类 App forms #表单 __init__.py user.py models #模型 __init__.py user.py static #静态文件 templ ...

  6. 教你如何帮助前端同学快速生成API接口代码

    最近我们团队开源的后端微服务框架go-zero增长势头比较迅猛,这篇文章我讲讲go-zero对前端团队的作用,并通过一个示例来给大家演示我们是怎么做的,希望能给后端的同学也可以帮助前端同学提高开发效率 ...

  7. 身份证归属地查询免费api接口代码

    描写叙述 :依据身份证编号 查询归属地信息. 身份证实体类: package org.wx.xhelper.model; /** * 身份证实体类 * @author wangxw * @versio ...

  8. 手机号码归属地查询免费api接口代码

    依据手机号码查询用户的卡类型.运营商.归属地.区域等信息. 手机归属地实体类 package org.wx.xhelper.model; /** * 手机归属地 * @author wangxw * ...

  9. 使用jsp,tomcat实现用户登录注册留言的代码

    以下jsp中,未使用样式表对网页进行排版和表单的验证(每个jsp的表单填写的时候应该进行空值与空格的验证,防止提交时出错) 所有错误,链接到error.jsp <%@ page language ...

随机推荐

  1. 【转】如何使用VS 2013发布一个可以在Windows XP中独立运行的可执行文件

    问题描述: 用VS2013写好一个程序,在本机上运行一切正常.但是如果直接把exe文件放到另一台机器上用,则会出现: Windows XP:不是一个正常的win32程序 Window 7:缺少msvc ...

  2. 【xcode5的使用】

    layout: post title: "WWDC 2013 Session笔记 - Xcode5和ObjC新特性" date: 2013-06-13 10:05 comments ...

  3. SPRING MVC总结

    DispatcherServlet -- 前置控制器HandlerMapping接口 -- 处理请求的映射HandlerMapping接口的实现类:DefaultAnnotationHandlerMa ...

  4. 给Jquery动态添加的元素添加事件

    给Jquery动态添加的元素添加事件 来源:[http://wangqixia.diandian.com/post/2011-05-10/6597866] 我想很多人都会向我一样曾经 被新元素的事件绑 ...

  5. wp8 入门到精通 仿美拍评论黑白列表思路

    static bool isbool = false; private void BindGameDelete() { Tile tile = new Tile(); List<Color> ...

  6. Linux之CentOS 常用命令

    软件安装:安装软件:yum install <名称>移除软件:yum remove <名称>安装软件包:rpm -ivh <包全名>安装ifconfig: yum ...

  7. OpenCV成长之路(2):图像的遍历

    我们在实际应用中对图像进行的操作,往往并不是将图像作为一个整体进行操作,而是对图像中的所有点或特殊点进行运算,所以遍历图像就显得很重要,如何高效的遍历图像是一个很值得探讨的问题. 一.遍历图像的4种方 ...

  8. BestCoder Round #85(ZOJ1569尚未验证)

    A题 子序列和啊,就要想到前缀和的差.这个转换一定要!记着!那么i到j的一段子序列和Sij%m ==  0就等价于(Sj-Si-1)%m == 0 了,那么什么意思呢?就是如果有两段前缀和%m的模是一 ...

  9. 【oracle】oracle表结构导出到Word

    因为需要写数据库文档,所以需要把数据库里边的表结构在word中用表格列出来,之前一直用powerdesigner,感觉有些麻烦,后来在网上找到了一段sql语句,经测试完全符合我的需求,不敢独享,语句如 ...

  10. UVA567

    var i,n,j,k,t:longint;a:array[1..20,1..20]of longint; function min(a,b:longint):longint;begin if a&l ...