Maison > Article > Applet WeChat > Introduction à la réponse automatique par texte dans le développement PHP WeChat
Cet article présente des informations pertinentes sur la réponse automatique par texte dans le développement PHP WeChat. Les amis intéressés peuvent s'y référer
Tout d'abord, rendez-vous sur la plateforme publique WeChat pour créer un compte (il y a pas mal de choses). à remplir pour l'inscription) (plus), après votre inscription, connectez-vous. Vous pouvez voir le "Centre de développement" sur la gauche. Il semble que vous deviez compléter certaines informations avant d'ouvrir le Centre de développement. Suivez simplement les étapes pour le compléter. Après être entré dans le centre de développement, allez d'abord dans modifier
pour modifier la configuration. Lors de la modification de la configuration, faites attention à :
http://www.example.com/weixin.php
Le jeton est uneconstante définie dans le script ci-dessus, par exemple, définie dans votre Script PHP Maintenant :
define("TOKEN", "my_weixin");
Ensuite, lorsque vous remplissez le Token, vous remplissez abcdefghEncodingAESKey est utilisé pour le cryptage des messages. Vous pouvez écrire vous-même une combinaison de 43 chiffres de chiffres et de lettres, ou vous pouvez choisir « généré aléatoirement ». Généralement, la génération aléatoire suffit. Le script de démonstration est le suivant : suivez la plateforme publique (par exemple, après le compte d'abonnement), la fonction est : entrez hehe et revenez bonjour tout le monde !!! Si vous entrez d'autres caractères, revenez à hehe et essayez.
header('content-type:text/html;charset=utf-8'); define("TOKEN", "my_weixin"); //define your token $wx = new wechatCallbackapiTest(); if($_GET['echostr']){ $wx->valid(); //如果发来了echostr则进行验证 }else{ $wx->responseMsg(); //如果没有echostr,则返回消息 } class wechatCallbackapiTest{ public function valid(){ //valid signature , option $echoStr = $_GET["echostr"]; if($this->checkSignature()){ //调用验证字段 echo $echoStr; exit; } } public function responseMsg(){ //get post data, May be due to the different environments $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //接收微信发来的XML数据 //extract post data if(!empty($postStr)){ //解析post来的XML为一个对象$postObj $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; //请求消息的用户 $toUsername = $postObj->ToUserName; //"我"的公众号id $keyword = trim($postObj->Content); //消息内容 $time = time(); //时间戳 $msgtype = 'text'; //消息类型:文本 $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>"; if($keyword == 'hehe'){ $contentStr = 'hello world!!!'; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr); echo $resultStr; exit(); }else{ $contentStr = '输入hehe试试'; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr); echo $resultStr; exit(); } }else { echo ""; exit; } } //验证字段 private function checkSignature(){ $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; } } }Si vous envoyez un message, le système vous invite : Cette plateforme publique est temporairement incapable de fournir des services, veuillez réessayer plus tard. Il y a alors probablement un problème avec la syntaxe du code. Vérifiez les
erreurs de grammaire et réessayez.
Pièce jointe :
Lorsqu'un nouvel utilisateur suit votre compte officiel, renvoie automatiquement les informations : (Ajoutez ce code pour déterminer $keyword Avant).Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!