主頁 > 知識庫 > php微信公眾號開發(fā)之歡迎老朋友

php微信公眾號開發(fā)之歡迎老朋友

熱門標簽:服務器配置 團購網(wǎng)站 Linux服務器 銀行業(yè)務 科大訊飛語音識別系統(tǒng) 阿里云 Mysql連接數(shù)設置 電子圍欄

本文實例為大家分享了php微信公眾號開發(fā)之歡迎老朋友的具體代碼,供大家參考,具體內(nèi)容如下

介紹數(shù)據(jù)庫

  • insert
  • iconv 進行數(shù)據(jù)庫轉(zhuǎn)碼函數(shù)
  • fromusername 

 

關(guān)鍵代碼如下:

$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
       //數(shù)據(jù)庫名 : $dbname

       $dbname = "app_dq095";
       $host = "w.rdc.sae.sina.com.cn";
       $port = "3306";
       $user = "4k514n103z";
       $pwd = "2402314li2j1i5im1xy2xizj5y332w2x41k2z203";

       /*接著調(diào)用mysql_connect()連接服務器*/
       // 連主庫
       $db = mysql_connect($host,$user,$pwd);

       if(!$db){
         die("Connect Server Failed: " . mysql_error($db));
       }

       /*連接成功后立即調(diào)用mysql_select_db()選中需要連接的數(shù)據(jù)庫*/
       if (!mysql_select_db($dbname)) {
         die("Select Database Failed: " . mysql_error($db));
       }
   mysql_query("set names utf-8",$db); 

       /*至此連接已完全建立,就可對當前數(shù)據(jù)庫進行相應的操作了*/
       /*?。?!注意,無法再通過本次連接調(diào)用mysql_select_db來切換到其它數(shù)據(jù)庫了?。?!*/
       /* 需要再連接其它數(shù)據(jù)庫,請再使用mysql_connect+mysql_select_db啟動另一個連接*/

       /**
       * 接下來就可以使用其它標準php mysql函數(shù)操作進行數(shù)據(jù)庫操作
       */

       $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
          //數(shù)據(jù)庫名 : $dbname

          $dbname = "app_dq095";
          $host = "w.rdc.sae.sina.com.cn";
          $port = "3306";
          $user = "4k514n103z";
          $pwd = "2402314li2j1i5im1xy2xizj5y332w2x41k2z203";

          /*接著調(diào)用mysql_connect()連接服務器*/
          // 連主庫
          $db = mysql_connect($host,$user,$pwd);

          if(!$db){
            die("Connect Server Failed: " . mysql_error($db));
          }

          /*連接成功后立即調(diào)用mysql_select_db()選中需要連接的數(shù)據(jù)庫*/
          if (!mysql_select_db($dbname)) {
            die("Select Database Failed: " . mysql_error($db));
          }
           mysql_query("set names utf-8",$db); 

          /*至此連接已完全建立,就可對當前數(shù)據(jù)庫進行相應的操作了*/
          /*?。。∽⒁?,無法再通過本次連接調(diào)用mysql_select_db來切換到其它數(shù)據(jù)庫了!??!*/
          /* 需要再連接其它數(shù)據(jù)庫,請再使用mysql_connect+mysql_select_db啟動另一個連接*/

          /**
           * 接下來就可以使用其它標準php mysql函數(shù)操作進行數(shù)據(jù)庫操作
           */

           $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;
    }
  }
}

?>

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • php微信公眾號開發(fā)模式詳解
  • PHP實現(xiàn)微信公眾號驗證Token的示例代碼
  • php實現(xiàn)微信公眾號創(chuàng)建自定義菜單功能的實例代碼
  • PHP實現(xiàn)的微信公眾號掃碼模擬登錄功能示例
  • 微信公眾平臺開發(fā)教程③ PHP實現(xiàn)微信公眾號支付功能圖文詳解
  • php微信公眾號開發(fā)之快遞查詢
  • php微信公眾號開發(fā)之校園圖書館
  • php微信公眾號開發(fā)之關(guān)鍵詞回復
  • php微信公眾號開發(fā)之圖片回復
  • 基于PHP的微信公眾號的開發(fā)流程詳解

標簽:萍鄉(xiāng) 蚌埠 棗莊 廣元 衡水 江蘇 大理 衢州

巨人網(wǎng)絡通訊聲明:本文標題《php微信公眾號開發(fā)之歡迎老朋友》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266