php 위 챗 공중전화 개발 환영 오 랜 친구

본 논문 의 사례 는 phop 위 챗 공중 번호 개발 의 오 랜 친 구 를 환영 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
데이터베이스 소개
  • insert
  • iconv 데이터베이스 변환 함수
  • fromusername 
  •  
    키 코드 는 다음 과 같 습 니 다:
    
    $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
    $fromUsername = $postObj->FromUserName;
    $toUsername = $postObj->ToUserName;
    $keyword = trim($postObj->Content);
    $time = time();
    $textTpl = "<xml>
          <ToUserName><![CDATA[%s]]></ToUserName>
          <FromUserName><![CDATA[%s]]></FromUserName>
          <CreateTime>%s</CreateTime>
          <MsgType><![CDATA[%s]]></MsgType>
           <Content><![CDATA[%s]]></Content>
           <FuncFlag>0</FuncFlag>
        </xml>";  
    
         if(!empty( $keyword ))
         {
           //      : $user
           //     : $pwd
           //     : $host
           //     : SAE_MYSQL_HOST_S
           //     : $port
           //     : $dbname
    
           $dbname = "app_dq095";
           $host = "w.rdc.sae.sina.com.cn";
           $port = "3306";
           $user = "4k514n103z";
           $pwd = "2402314li2j1i5im1xy2xizj5y332w2x41k2z203";
    
           /*    mysql_connect()     */
           //    
           $db = mysql_connect($host,$user,$pwd);
    
           if(!$db){
             die("Connect Server Failed: " . mysql_error($db));
           }
    
           /*         mysql_select_db()          */
           if (!mysql_select_db($dbname)) {
             die("Select Database Failed: " . mysql_error($db));
           }
       mysql_query("set names utf-8",$db); 
    
           /*         ,                */
           /*!!!  ,           mysql_select_db          !!!*/
           /*           ,    mysql_connect+mysql_select_db       */
    
           /**
           *             php mysql           
           */
    
           $sql="SELECT * FROM `welcome`WHERE `user`= '" . iconv("UTF-8","GBK",$fromUsername) . "'";
           $query=mysql_query($sql);
           $rs=mysql_fetch_array($query);
           $b= $rs['user'];
           $c=iconv("GBK","UTF-8",$b);
           $msgType = "text";
           if ($c==$fromUsername)
           {
             $contentStr = "     !";
           }else{
            $sql="INSERT INTO `welcome`(`id`,`user`) VALUES (NULL,'{$fromUsername}')";
      mysql_query($sql);
    $contentStr = "     !";
           }
    
           $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);         
           echo $resultStr;
           mysql_close($db);
         }else{
             echo "Input something...";
     }
    
    
    index.php 코드 는 다음 과 같 습 니 다.
    
    <?php
    /**
     * wechat php test
     */
    
    //define your token
    define("TOKEN", "weixin");
    $wechatObj = new wechatCallbackapiTest();
    $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 be 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;
            $keyword = trim($postObj->Content);
            $time = time();
            $textTpl = "<xml>
                  <ToUserName><![CDATA[%s]]></ToUserName>
                  <FromUserName><![CDATA[%s]]></FromUserName>
                  <CreateTime>%s</CreateTime>
                  <MsgType><![CDATA[%s]]></MsgType>
                  <Content><![CDATA[%s]]></Content>
                  <FuncFlag>0</FuncFlag>
                  </xml>";  
    
            if(!empty( $keyword ))
            {
              //      : $user
              //     : $pwd
              //     : $host
              //     : SAE_MYSQL_HOST_S
              //     : $port
              //     : $dbname
    
              $dbname = "app_dq095";
              $host = "w.rdc.sae.sina.com.cn";
              $port = "3306";
              $user = "4k514n103z";
              $pwd = "2402314li2j1i5im1xy2xizj5y332w2x41k2z203";
    
              /*    mysql_connect()     */
              //    
              $db = mysql_connect($host,$user,$pwd);
    
              if(!$db){
                die("Connect Server Failed: " . mysql_error($db));
              }
    
              /*         mysql_select_db()          */
              if (!mysql_select_db($dbname)) {
                die("Select Database Failed: " . mysql_error($db));
              }
               mysql_query("set names utf-8",$db); 
    
              /*         ,                */
              /*!!!  ,           mysql_select_db          !!!*/
              /*           ,    mysql_connect+mysql_select_db       */
    
              /**
               *             php mysql           
               */
    
               $sql="SELECT * FROM `welcome`WHERE `user`= '" . iconv("UTF-8","GBK",$fromUsername) . "'";
               $query=mysql_query($sql);
               $rs=mysql_fetch_array($query);
               $b= $rs['user'];
               $c=iconv("GBK","UTF-8",$b);
               $msgType = "text";
               if ($c==$fromUsername)
               {
                 $contentStr = "     !";
               }else{
                $sql="INSERT INTO `welcome`(`id`,`user`) VALUES (NULL,'{$fromUsername}')";
                mysql_query($sql);
                $contentStr = "     !";
               }
    
               $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);         
               echo $resultStr;
               mysql_close($db);
             }else{
                echo "Input something...";
             }
    
    
        }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;
        }
      }
    }
    
    ?>
    
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기