Maison >développement back-end >tutoriel php >Développement PHP du compte public WeChat : comment créer des questions-réponses interactives

Développement PHP du compte public WeChat : comment créer des questions-réponses interactives

WBOY
WBOYoriginal
2023-10-27 12:19:48976parcourir

Développement PHP du compte public WeChat : comment créer des questions-réponses interactives

Développer des comptes publics WeChat avec PHP : comment créer des questions-réponses interactives, des exemples de code spécifiques sont nécessaires

Avec la popularité des comptes publics WeChat, de plus en plus de personnes s'intéressent à la manière de mettre en œuvre des fonctions de questions-réponses interactives dans les comptes publics. Cet article expliquera comment utiliser PHP pour développer des comptes publics WeChat et fournira des exemples de code spécifiques pour aider les lecteurs à mettre en œuvre rapidement des fonctions de questions-réponses interactives.

1. Mettre en place un environnement de développement
Avant de commencer le développement, nous devons configurer un environnement de développement PHP. Tout d'abord, vous devez installer un environnement d'exécution PHP, tel que XAMPP ou WAMP. Ensuite, vous devez créer un compte officiel WeChat et obtenir un identifiant de développeur et une clé de développeur.

2. Configurer le serveur
Dans le développement des comptes publics WeChat, nous devons configurer le serveur pour qu'il puisse interagir avec le serveur WeChat. Les étapes spécifiques sont les suivantes :

  1. Ouvrez le site officiel de la plateforme publique WeChat, entrez dans le centre de développement et sélectionnez la configuration de base.
  2. Renseignez l'URL configurée par le serveur, telle que http://votredomaine.com/weixin.php. Cette URL sera utilisée pour recevoir les messages envoyés par le serveur WeChat.
  3. Obtenez l'ID de développeur et la clé de développeur et remplissez-les dans les positions appropriées.
  4. Définissez Token sur une valeur personnalisée, telle que mytoken, pour vérifier la légitimité du message.
  5. Cliquez sur Soumettre et enregistrez la configuration.

3. Recevoir les messages du serveur WeChat
Ensuite, nous devons écrire du code pour recevoir les messages envoyés par le serveur WeChat. Dans votre environnement de développement PHP, créez un fichier nommé weixin.php et mettez-y le code suivant :

<?php
// 验证消息的合法性
$token = 'mytoken'; // 将Token设置为你在微信公众平台中配置的值
$signature = $_GET['signature'];
$timestamp = $_GET['timestamp'];
$nonce = $_GET['nonce'];
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
if ($tmpStr == $signature) {
    // 验证成功,接收消息
    $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
    if (!empty($postStr)){
        $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
        $fromUserName = $postObj->FromUserName;
        $toUserName = $postObj->ToUserName;
        $msgType = $postObj->MsgType;
        
        // 处理不同类型的消息
        switch ($msgType) {
            case 'text':
                $content = $postObj->Content;
                // 在这里添加你的回复逻辑
                $responseText = '你发送的消息是:' . $content;
                
                // 返回响应消息
                $time = time();
                $textTpl = "<xml>
                            <ToUserName><![CDATA[%s]]></ToUserName>
                            <FromUserName><![CDATA[%s]]></FromUserName>
                            <CreateTime>%s</CreateTime>
                            <MsgType><![CDATA[text]]></MsgType>
                            <Content><![CDATA[%s]]></Content>
                            </xml>";
                $resultStr = sprintf($textTpl, $fromUserName, $toUserName, $time, $responseText);
                echo $resultStr;
                break;
            // 在这里添加处理其他类型消息的代码
            default:
                // 默认处理
                break;
        }
    }
} else {
    // 验证失败,返回错误信息
    echo "Invalid request";
}
?>

Quatrièmement, implémentez la fonction interactive de questions et réponses
Dans le code ci-dessus, nous mettons simplement le message envoyé par l'utilisateur Return as est. Ensuite, nous mettrons en œuvre une fonction interactive de questions et réponses. Une fois que l'utilisateur aura envoyé une question, le compte officiel répondra avec la réponse correspondante.

Dans la partie logique de réponse, nous pouvons utiliser des instructions conditionnelles pour juger les questions envoyées par l'utilisateur et renvoyer les réponses correspondantes. Par exemple :

// 处理不同类型的消息
switch ($msgType) {
    case 'text':
        $content = $postObj->Content;
        if ($content == '你叫什么名字') {
            $responseText = '我叫小金';
        } elseif ($content == '你好') {
            $responseText = '你好,有什么可以帮助你的吗?';
        } else {
            $responseText = '我不明白你在说什么';
        }
        
        // 返回响应消息
        $time = time();
        $textTpl = "<xml>
                    <ToUserName><![CDATA[%s]]></ToUserName>
                    <FromUserName><![CDATA[%s]]></FromUserName>
                    <CreateTime>%s</CreateTime>
                    <MsgType><![CDATA[text]]></MsgType>
                    <Content><![CDATA[%s]]></Content>
                    </xml>";
        $resultStr = sprintf($textTpl, $fromUserName, $toUserName, $time, $responseText);
        echo $resultStr;
        break;        
    // 在这里添加处理其他类型消息的代码
    default:
        // 默认处理
        break;
}

Grâce à ce code, nous pouvons renvoyer différentes réponses en fonction des différentes questions de l'utilisateur, réalisant ainsi une simple fonction interactive de questions et réponses.

Résumé :
Cet article présente comment utiliser PHP pour développer des comptes publics WeChat et fournit des exemples de code spécifiques. En configurant le serveur et en écrivant le code correspondant, nous pouvons implémenter une simple fonction interactive de questions et réponses. Les lecteurs peuvent élargir et personnaliser davantage en fonction de leurs propres besoins, rendant le compte public WeChat plus riche et intéressant. J'espère que cet article sera utile à tout le monde !

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn