重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本文实例讲述了php版微信返回用户text输入的方法。分享给大家供大家参考,具体如下:
创新互联公司提供成都做网站、网站设计、外贸营销网站建设、网页设计,成都品牌网站建设,一元广告等致力于企业网站建设与公司网站制作,十载的网站开发和建站经验,助力企业信息化建设,成功案例突破1000多家,是您实现网站建设的好选择.
获得用户输入的内容,并发回相同内容
//获取post数据
//
$PostData
=
$HTTP_RAW_POST_DATA;
$PostData
=
file_get_contents("php://input");
//判断POST是否为空
if(!$PostData){
echo
"wrong
input!";
exit(0);
}
//解析XML字符串
$xmlObj
=
simplexml_load_string($PostData,
'SimpleXMLElement',
LIBXML_NOCDATA);
if(!$xmlObj){
echo
"wrong
input!";
exit(0);
}
//获取数据
$fromUserName
=
$xmlObj-FromUserName;
$toUserName
=
$xmlObj-ToUserName;
$msgType
=
$xmlObj-MsgType;
//返回用户输入
if('text'
!=
$msgType){
//不是文本,输出错误提示消息
$retMsg
=
"只支持文本消息";
}
//用户输入文本
else{
$content
=
$xmlObj-Content;
$retMsg
=
$content;
}
//输出xml模板
$retTmp
=
"xml
ToUserName![CDATA[%s]]/ToUserName
FromUserName![CDATA[%S]]/FromUserName
CreateTime%s/CreateTime
MsgType![CDATA[text]]/MsgType
Content![CDATA[%s]]/Content
FuncFlag0/FuncFlag
/xml";
//对消息中的通配符进行替换
$resultStr
=
sprintf($retTmp,
$fromUserName,
$toUserName,
time(),
$retMsg);
//输出xml的消息
echo
$resultStr
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP微信开发技巧汇总》、《PHP编码与转码操作技巧汇总》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
$input = file_get_contents('php://input');
if (!empty($input) empty($_GET['out_trade_no'])) {
$obj = simplexml_load_string($input, 'SimpleXMLElement', LIBXML_NOCDATA);
$data = json_decode(json_encode($obj), true);
//根据$data处理自己所要的逻辑
}
$data具体参数看微信文档,最常用的是:out_trade_no(商户订单号)、transaction_id(微信交易号)、result_code(交易状态)
交易状态如果是success记得处理完逻辑后返回一个success,不然微信会认为你的处理未完成而继续向服务器发送请求
微信小程序的js后台只能执行一些简单的逻辑,遇到比较复杂的处理表单数据的功能或者网络功能就需要连接服务器来远程处理,实现方式就是调用小程序的 wx.request() 这一接口。
request请求 就是基本的HTTP请求,可以携带一些表单数据,交给服务器处理。
在小程序中的写法如下:
采用php作为服务器端语言,通过WAMP等框架可以很容易地搭建环境,服务器主要完成对请求数据的处理以及结果数据的返回。
请求数据的获取非常容易,直接访问相应的超全局数组,对于GET方法而言,通过下面的方式即可:
为了方便小程序端数据的处理,结果数据仍通过json格式返回,具体在php中的简单做法就是
这样返回的json数据就为
其中value1,value2等变量可以设置为多维数组,这样通过json_encode() 函数之后就可以得到相应的嵌套的json数据,从而方便处理。
通过php可以很容易地处理微信小程序的request请求,笔者是由于前一段时间需要进行微信小程序的开发,就研究了一下小程序的逻辑,然后尝试用php进行服务端处理,对于简单的请求处理起来觉得还不错,这篇文章可以作为初次接触微信小程序的一个参考。
这么几行代码看不出什么问题,我是这样处理的。
$data = file_get_contents("php://input");
$result_xml = xml_parser_create();
xml_parse_into_struct($result_xml, $data, $vals, $index);
xml_parser_free($result_xml);
foreach( $vals as $k)
{
if(strtolower($k['tag'])!='xml')$result_array[strtolower($k['tag'])] = $k['value'];
}
var_dump($result_array);
//$result_array这个变量对应的就是你代码中的$result
微信服务器post数据是后台进行的,你直接print并截断是看不到信息的,另外post过来的数据是特殊的xml格式,可以写入日志查看