php api查询开发,PHP开发API接口(注册、登录、查询用户信息)的实例代码

本节主要内容:

php开发API接口的实现代码

一、PHP API接口的服务端部分

复制代码 代码示例:

/**

* PHP开发API接口 服务端

* edit: www.jbxue.com

*/

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 = "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接口 客户端

* 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.mzph.cn/news/469983.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

json字符串与json对象之间的转换

字符串转对象(strJSON代表json字符串) var obj eval(strJSON); (运用时候需要除了eval()以外需要json.js包) var obj strJSON.parseJSON(); var obj JSON.parse(strJSON); json对象转字符串(obj代表json对象) var str obj.toJSONS…

ubuntu php 解析,ubuntu运行后台php服务详解

创建一个php服务脚本,该脚本负责抓取mqtt等通信记录,并且保存到数据库。平时,我们只要在服务器端开个终端,就可以运行代码,去抓数据,但是将终端关闭后,就无法抓取数据了。守护进程(daemon)就是一…

04_类与对象_课程动手动脑问题以及课后实验性问题及解答集锦

Answer: 动手动脑: 1——以下代码为何无法通过编译?哪儿出错了? Answer: 因为类Foo的构造函数是有一个参数的,所以我们在new一个Foo类的对象时必须赋予一个符合条件的实参。 2—— 请运行TestStaticInitializeBlock.java示例&…

php如果能编译就完美了,centos7 完美编译PHP7 php-7.2.10.tar.gz

1.下载去官网下载。2、上传并解压tar -zxvf php-7.2.10.tar.gz3、进入文件夹cd php-7.2.104、安装相关依赖包yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel gd gd-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel e2fsprogs e…

UVA - 11246 - K-Multiple Free set(容斥原理)

题意&#xff1a;给定n&#xff08;1 < n < 10^9&#xff09;和k&#xff08;1 < k < 100&#xff09;&#xff0c;从1~n中选尽量多的整数&#xff0c;使的任意两个整数之间都不是k倍的关系。 容斥原理&#xff0c;&#xff08;例如n 20&#xff0c;k 3&#xff…

2017年php还能火多久,PHP还会火吗?

据不完全数据得知&#xff0c;我国对PHP人才非常紧缺&#xff0c;大约每年有50万人左右。伴随着近几年信息化&#xff0c;智能化&#xff0c;网络化的发展&#xff0c;PHP的发展前景也是不可估量的&#xff0c;那么&#xff0c;你知道是什么影响PHP继续火热的吗?下面我们就来分…

[JZOJ P1288] [DP]矩阵取数

kaike 传送门 07年noipT3&#xff1f; 要我写我肯定放弃 嗯没错就是这么果断 据说要 高精 DP 状态&#xff1f; 举例说明&#xff0c;假设有矩阵 a1,a2,a3,a4....an b1,b2,b3,b4....bn 假设矩阵的最大得分取法为 a1*2b1*2a2*4b2*4a3*8b3*8.....an*2^nb2*2^n&#xff1b; 可以转…

php留言板实现留言评价,PHP实现留言板功能的思路

本文实例为大家分享了php留言板的实现思路&#xff0c;供大家参考&#xff0c;具体内容如下1.创建一个存放留言信息的文件名2.获取表单中的数据给一个变量3.判断文件的时候存在4.对文件执行写的操作&#xff0c;在这之前&#xff0c;注意打开文件的时候&#xff0c;选择对文件的…

jQuery 获取页面元素的属性值

获取浏览器显示区域&#xff08;可视区域&#xff09;的高度 &#xff1a; $(window).height(); 获取浏览器显示区域&#xff08;可视区域&#xff09;的宽度 &#xff1a;$(window).width(); 获取页面的文档高度 $(document).height(); 获取页面的文档宽度 &#xf…

php解析xml数据格式,PHP解析xml格式数据工具类实例分享

本文主要介绍了PHP解析xml格式数据工具类,涉及php针对xml格式数据节点添加、获取、解析等相关操作技巧,需要的朋友可以参考下&#xff0c;希望能帮助到大家。本文实例讲述了PHP解析xml格式数据工具类。分享给大家供大家参考&#xff0c;具体如下&#xff1a;class ome_xml {/**…

Linux命令入门

// 查看日历cal // 修改密码passwd // 查看目录和文件ls -lls // 查看当前用户信息whoami // 查看当前在线用户userswho 在Linux中&#xff0c;可以使用 vi 编辑器创建一个文本文件&#xff0c;例如&#xff1a;$ vi filename上面的命令会创建文件 filename 并打开&#xff0c;…

php 动态参数,php怎么实现动态传参数?

先贴代码&#xff0c;代码精简了。$invoker_function($argus);}}?>描述&#xff1a;程序是在ThinkPHP开发&#xff0c;目的是把Cache的get方法接收的参数转发到指定的方法上&#xff0c;最后一行&#xff1a;其中D方法是ThinkPHP自带的方法用的是单例模式。如果不加参数$ar…

Bug2算法的实现(RobotBASIC环境中仿真)

移动机器人智能的一个重要标志就是自主导航&#xff0c;而实现机器人自主导航有个基本要求——避障。之前简单介绍过Bug避障算法&#xff0c;但仅仅了解大致理论而不亲自动手实现一遍很难有深刻的印象&#xff0c;只能说似懂非懂。我不是天才&#xff0c;不能看几遍就理解理论中…

php l方法,ThinkPHP的L方法使用简介

thinkPHP的L方法用于启用多语言的情况下&#xff0c;设置和获取当前的语言定义。其调用格式为&#xff1a;L(语言变量[,语言值])1.设置语言变量除了使用语言包定义语言变量之外&#xff0c;我们可以用L方法动态设置语言变量&#xff0c;例如&#xff1a;L(LANG_VAR,语言定义);语…

linux-pcap 抓包程序框架

转&#xff1a;http://blog.chinaunix.net/uid-21556133-id-120228.html libpcap详解2010-12-01 22:07libpcap&#xff08;Packet Capture Library&#xff09;&#xff0c;即数据包捕获函数库&#xff0c;是Unix/Linux平台下的网络数据包捕获函数库。它是一个独立于系统的用户…

策略模式场景举例

容错恢复机制 容错恢复机制是应用程序开发中非常常见的功能。那么什么是容错恢复呢&#xff1f;简单点说就是&#xff1a;程序运行的时候&#xff0c;正常情况下应该按照某种方式来做&#xff0c;如果按照某种方式来做发生错误的话&#xff0c;系统并不会崩溃&#xff0…

php写抢票脚本,火车票抢票python代码公开揭秘!

市场上很多火车票抢票软件大家应该非常熟悉&#xff0c;但很少有人研究具体是怎么实现的&#xff0c;所以觉得很神秘&#xff0c;其实很简单。下面使用Python模拟抢票程序&#xff0c;给大家揭秘抢票到底是怎么回事。该代码仅供参考&#xff0c;主要用于大家沟通交流&#xff0…

python不用加号实现加法

问题: Calculate the sum of two integers a and b, but you are not allowed to use the operator and -.Example:Given a 1 and b 2, return 3. class Solution(object):def getSum(self, a, b):""":type a: int:type b: int:rtype: int"""…

.net与mysql,ASP.NET与MySql的连接

ASP.NET与MySql的连接1.数据连接方式ASP.NET本身的数据访问ADO.NET不支持对于MySql的连接和查询&#xff0c;但是MySQL官网上均提供了多种ASP.NET连接到MySQL的方式&#xff1a;(1)ODBC驱动的访问方式&#xff1a;mysql-connector-odbc-5.1.5-win32.msi&#xff0c;ODBC(2)ADO.…

php 反射 视频教程,php 实现反射

定义一个人类class person{public $name;public $gender;public function say(){//echo $this->name."say".$this->gender;}public function __set($name,$value){$this->name$value;}public function __get($name){if(!isset($name)){echo "未设置&qu…