PHP code for development patterns
/**
* WeChat PHP Test
*/
Define your Token
Define ("TOKEN", "Weixin");
$WECHATOBJ = new Wechatcallbackapitest ();
$WECHATOBJ->valid ();
$WECHATOBJ->responsemsg ();
Class Wechatcallbackapitest
{
Public Function Valid ()
{
$ECHOSTR = $_get["Echostr"];
Valid signature, option
if ($this->checksignature ()) {
Echo $echoStr;
Exit
}
}
Public Function responsemsg ()
{
Get post data, May is due to the different environments
$POSTSTR = $GLOBALS ["Http_raw_post_data"];
Extract Post Data
if (!empty ($POSTSTR)) {
$POSTOBJ = simplexml_load_string ($postStr, ' simplexmlelement ', libxml_nocdata);
$fromUsername = $POSTOBJ->fromusername;
$toUsername = $POSTOBJ->tousername;
$type = $POSTOBJ->msgtype;
$customevent = $POSTOBJ->event;
$latitude = $POSTOBJ->location_x;
$longitude = $POSTOBJ->location_y;
$keyword = Trim ($postObj->content);
$time = time ();
$TEXTTPL = "
%s
%s
%s
%s
%s
0
";
Switch ($type)
{
Case "Event";
if ($customevent = = "Subscribe")
{$contentStr = "Thanks for attention"}
Break
Case "Image"
$contentStr = "Great picture";
Break
Case "Location";
$contentStr = "{$latitude},{longitude}";
Break
Case "Text";
Switch ($keyword)
{case "1"
$CONTENTSTR = "1"
Break
Case "2"
$CONTENTSTR = "2"
Break
Default
$CONTENTSTR = "HI";}
Break
}
$msgType = "text";
$RESULTSTR = sprintf ($TEXTTPL, $fromUsername, $toUsername, $time, $msgType, $CONTENTSTR);
Echo $resultStr;
}else
{
echo "";
Exit
}
}
Private Function Checksignature ()
{
$signature = $_get["signature"];
$timestamp = $_get["timestamp"];
$nonce = $_get["nonce"];
$token = token;
$TMPARR = Array ($token, $timestamp, $nonce);
Sort ($TMPARR, sort_string);
$TMPSTR = implode ($TMPARR);
$TMPSTR = SHA1 ($TMPSTR);
if ($tmpStr = = $signature) {
return true;
}else{
return false;
}
}
}
?>
The code checks n times but none of the features can be achieved! The ball big God help ~ also how to do not come out to call Baidu map to achieve navigation if we can help together better
------Solution--------------------
Public Function Valid ()
{
$ECHOSTR = $_get["Echostr"];
Valid signature, option
if ($this->checksignature ()) {
Echo $echoStr;
Exit
}
}
This code is to fill in the URL through the verification, after passing, you can change the code. If you change into
Public Function Valid ()
{