精华内容
下载资源
问答
  • 微信公众号开发PHP 代码 里面有8个页面可供参考 内容还是比较详细的
  • 微信公众号开发 PHP

    2018-08-22 11:33:33
    三合一类包 1、AccesstokenService.class.php 微信token类(生成微信access_token、微信js ...几行代码实现微信公众号中你想要的功能,详细内容请参考:https://blog.csdn.net/qq_16024861/article/details/81510679
  • 之前有一个微信公众号开发的项目,开发类似于滴滴打车的功能,我学了html css css+div javascript (入门级学习,把书啃了一遍,做的东西不多) php学习了一个月,能结合mysql做个留言板,对MVC有一些了解,...
  • 微信公众平台开发之微信编辑器开发是子恒老师《微信公众平台开发》视频教程的第11部。...内容包含微信公众号编辑器开发思路,编辑器前端页面,功能实现,添加新样式等等。欢迎反馈,微信号:QQ68183131
  • 微信公众号编辑器开发-微信公众号开发11-微信开发php 大秦电商创始人,专...

    扫码下载「CSDN程序员学院APP」,1000+技术好课免费看

    APP订阅课程,领取优惠,最少立减5元 ↓↓↓

    订阅后:请点击此处观看视频课程

     

    视频教程-微信公众号编辑器开发-微信公众号开发11-微信开发php-微信开发

    学习有效期:永久观看

    学习时长:145分钟

    学习计划:3天

    难度:

     

    口碑讲师带队学习,让你的问题不过夜」

    讲师姓名:秦子恒

    CEO/董事长/总经理

    讲师介绍:大秦电商创始人,专注网络技术的电商应用。已经出品《1小时建站》《微博营销实战》《PHP采集》《网络招商系统》

    ☛点击立即跟老师学习☚

     

    「你将学到什么?」

    会员免费看,http://edu.csdn.net/lecturer/842 右侧可办理会员卡。微信公众平台开发之微信编辑器开发是子恒老师《微信公众平台开发》视频教程的第11部。详细讲解了用php进行微信编辑器的开发。内容包含微信公众号编辑器开发思路,编辑器前端页面,功能实现,添加新样式等等。欢迎反馈,微信号:QQ68183131

     

    「课程学习目录」

    第1章:微信编辑神器使用
    1.微信编辑神器使用
    第2章:微信编辑器开发思路
    1.微信编辑器开发思路
    第3章:微信编辑器开发-实现前端页面
    1.微信编辑器开发-实现前端页面
    第4章:微信编辑器开发-实现功能
    1.微信编辑器开发-实现功能
    第5章:微信编辑器开发-高级技巧
    1.微信编辑器开发-添加新样式1-获取新样式代码
    2.下载公众号中的图片-微信公众号开发
    3.微信编辑器开发-添加新样式2-下载样式中的图片
    4.把图片上传到微信-微信公众号开发php
    5.微信编辑器开发-添加新样式3-样式中的图片上传到微信
    6.微信编辑器开发-添加新样式4-样式代码写入到数据库

     

    7项超值权益,保障学习质量」

    • 大咖讲解

    技术专家系统讲解传授编程思路与实战。

    • 答疑服务

    专属社群随时沟通与讲师答疑,扫清学习障碍,自学编程不再难。

    • 课程资料+课件

    超实用资料,覆盖核心知识,关键编程技能,方便练习巩固。(部分讲师考虑到版权问题,暂未上传附件,敬请谅解)

    • 常用开发实战

    企业常见开发实战案例,带你掌握Python在工作中的不同运用场景。

    • 大牛技术大会视频

    2019Python开发者大会视频免费观看,送你一个近距离感受互联网大佬的机会。

    • APP+PC随时随地学习

    满足不同场景,开发编程语言系统学习需求,不受空间、地域限制。

     

    「什么样的技术人适合学习?」

    • 想进入互联网技术行业,但是面对多门编程语言不知如何选择,0基础的你
    • 掌握开发、编程技术单一、冷门,迫切希望能够转型的你
    • 想进入大厂,但是编程经验不够丰富,没有竞争力,程序员找工作难。

     

    「悉心打造精品好课,3天学到大牛3年项目经验」

    【完善的技术体系】

    技术成长循序渐进,帮助用户轻松掌握

    掌握微信开发知识,扎实编码能力

    【清晰的课程脉络】

    浓缩大牛多年经验,全方位构建出系统化的技术知识脉络,同时注重实战操作。

    【仿佛在大厂实习般的课程设计】

    课程内容全面提升技术能力,系统学习大厂技术方法论,可复用在日后工作中。

     

    「你可以收获什么?」

    用php开发微信公众平台,实现微信编辑器开发,包括编辑器开发思路,编辑器前端页面,功能实现,添加新样式等。

     

    展开全文
  • 微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。...内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131
  • 微信公众号开发php SDK

    2019-07-01 10:59:02
    php define("TOKEN", "weixin"); $wechatObj = new wechatCallbackapiTest(); if (!isset($_GET['echostr'])) { $wechatObj->responseMsg(); }else{ $wechatObj->valid(); } class wechatCall...

    <?php

    define("TOKEN", "weixin");

    $wechatObj = new wechatCallbackapiTest();
    if (!isset($_GET['echostr'])) {
        $wechatObj->responseMsg();
    }else{
        $wechatObj->valid();
    }

    class wechatCallbackapiTest
    {
        public function valid()
        {
            $echoStr = $_GET["echostr"];
            if($this->checkSignature()){
                echo $echoStr;
                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;
            }
        }

        public function responseMsg()
        {
            $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
            if (!empty($postStr)){
                $this->logger("R ".$postStr);
                $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                $RX_TYPE = trim($postObj->MsgType);

                switch ($RX_TYPE)
                {
                    case "event":
                        $result = $this->receiveEvent($postObj);
                        break;
                    case "text":
                        $result = $this->receiveText($postObj);
                        break;
                    case "image":
                        $result = $this->receiveImage($postObj);
                        break;
                    case "location":
                        $result = $this->receiveLocation($postObj);
                        break;
                    case "voice":
                        $result = $this->receiveVoice($postObj);
                        break;
                    case "video":
                        $result = $this->receiveVideo($postObj);
                        break;
                    case "link":
                        $result = $this->receiveLink($postObj);
                        break;
                    default:
                        $result = "unknow msg type: ".$RX_TYPE;
                        break;
                }
                $this->logger("T ".$result);
                echo $result;
            }else {
                echo "";
                exit;
            }
        }

        private function receiveEvent($object)
        {
            $content = "";
            switch ($object->Event)
            {
                case "subscribe":
                    $content = "欢迎关注公众号 ";
                    $content .= (!empty($object->EventKey))?("\n来自二维码场景 ".str_replace("qrscene_","",$object->EventKey)):"";
                    break;
                case "unsubscribe":
                    $content = "取消关注";
                    break;
                case "SCAN":
                    $content = "扫描场景 ".$object->EventKey;
                    break;
                case "CLICK":
                    switch ($object->EventKey)
                    {
                        case "COMPANY":
                            $content = "点击";
                            break;
                        default:
                            $content = "点击菜单:".$object->EventKey;
                            break;
                    }
                    break;
                case "LOCATION":
                    $content = "上传位置:纬度 ".$object->Latitude.";经度 ".$object->Longitude;
                    break;
                default:
                    $content = "receive a new event: ".$object->Event;
                    break;
            }
            $result = $this->transmitText($object, $content);
            return $result;
        }

        private function receiveText($object)
        {
            $keyword = trim($object->Content);
            switch ($keyword)
            {
                case "文本":
                    $content = "这是个文本消息";
                    break;
                case "图文":
                case "单图文":
                    $content[] = array("Title"=>"单图文标题", "Description"=>"单图文内容", "PicUrl"=>"http://discuz.comli.com/weixin/weather/icon/cartoon.jpg", "Url" =>"http://m.cnblogs.com/?u=txw1958");
                    break;
                case "多图文":
                    $content[] = array("Title"=>"多图文1标题", "Description"=>"", "PicUrl"=>"http://discuz.comli.com/weixin/weather/icon/cartoon.jpg", "Url" =>"http://m.cnblogs.com/?u=txw1958");
                    $content[] = array("Title"=>"多图文2标题", "Description"=>"", "PicUrl"=>"http://d.hiphotos.bdimg.com/wisegame/pic/item/f3529822720e0cf3ac9f1ada0846f21fbe09aaa3.jpg", "Url" =>"http://m.cnblogs.com/?u=txw1958");
                    $content[] = array("Title"=>"多图文3标题", "Description"=>"", "PicUrl"=>"http://g.hiphotos.bdimg.com/wisegame/pic/item/18cb0a46f21fbe090d338acc6a600c338644adfd.jpg", "Url" =>"http://m.cnblogs.com/?u=txw1958");
                    break;
                case "音乐":
                    $content = array("Title"=>"最炫民族风", "Description"=>"歌手:凤凰传奇", "MusicUrl"=>"http://121.199.4.61/music/zxmzf.mp3", "HQMusicUrl"=>"http://121.199.4.61/music/zxmzf.mp3");
                    break;
                default:
                    $content = "当前时间:".date("Y-m-d H:i:s",time());
                    break;
            }
            if(is_array($content)){
                if (isset($content[0]['PicUrl'])){
                    $result = $this->transmitNews($object, $content);
                }else if (isset($content['MusicUrl'])){
                    $result = $this->transmitMusic($object, $content);
                }
            }else{
                $result = $this->transmitText($object, $content);
            }
            return $result;
        }

        private function receiveImage($object)
        {
            $content = array("MediaId"=>$object->MediaId);
            $result = $this->transmitImage($object, $content);
            return $result;
        }

        private function receiveLocation($object)
        {
            $content = "你发送的是位置,纬度为:".$object->Location_X.";经度为:".$object->Location_Y.";缩放级别为:".$object->Scale.";位置为:".$object->Label;
            $result = $this->transmitText($object, $content);
            return $result;
        }

        private function receiveVoice($object)
        {
            if (empty($object->Recognition)){
                $content = array("MediaId"=>$object->MediaId);
                $result = $this->transmitVoice($object, $content);
            }else{
                $content = "你刚才说的是:".$object->Recognition;
                $result = $this->transmitText($object, $content);
            }

            return $result;
        }

        private function receiveVideo($object)
        {
            $content = array("MediaId"=>$object->MediaId, "ThumbMediaId"=>$object->ThumbMediaId, "Title"=>"", "Description"=>"");
            $result = $this->transmitVideo($object, $content);
            return $result;
        }

        private function receiveLink($object)
        {
            $content = "你发送的是链接,标题为:".$object->Title.";内容为:".$object->Description.";链接地址为:".$object->Url;
            $result = $this->transmitText($object, $content);
            return $result;
        }

        private function transmitText($object, $content)
        {
            $textTpl = "<xml>
    <ToUserName><![CDATA[%s]]></ToUserName>
    <FromUserName><![CDATA[%s]]></FromUserName>
    <CreateTime>%s</CreateTime>
    <MsgType><![CDATA[text]]></MsgType>
    <Content><![CDATA[%s]]></Content>
    </xml>";
            $result = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time(), $content);
            return $result;
        }

        private function transmitImage($object, $imageArray)
        {
            $itemTpl = "<Image>
        <MediaId><![CDATA[%s]]></MediaId>
    </Image>";

            $item_str = sprintf($itemTpl, $imageArray['MediaId']);

            $textTpl = "<xml>
    <ToUserName><![CDATA[%s]]></ToUserName>
    <FromUserName><![CDATA[%s]]></FromUserName>
    <CreateTime>%s</CreateTime>
    <MsgType><![CDATA[image]]></MsgType>
    $item_str
    </xml>";

            $result = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time());
            return $result;
        }

        private function transmitVoice($object, $voiceArray)
        {
            $itemTpl = "<Voice>
        <MediaId><![CDATA[%s]]></MediaId>
    </Voice>";

            $item_str = sprintf($itemTpl, $voiceArray['MediaId']);

            $textTpl = "<xml>
    <ToUserName><![CDATA[%s]]></ToUserName>
    <FromUserName><![CDATA[%s]]></FromUserName>
    <CreateTime>%s</CreateTime>
    <MsgType><![CDATA[voice]]></MsgType>
    $item_str
    </xml>";

            $result = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time());
            return $result;
        }

        private function transmitVideo($object, $videoArray)
        {
            $itemTpl = "<Video>
        <MediaId><![CDATA[%s]]></MediaId>
        <ThumbMediaId><![CDATA[%s]]></ThumbMediaId>
        <Title><![CDATA[%s]]></Title>
        <Description><![CDATA[%s]]></Description>
    </Video>";

            $item_str = sprintf($itemTpl, $videoArray['MediaId'], $videoArray['ThumbMediaId'], $videoArray['Title'], $videoArray['Description']);

            $textTpl = "<xml>
    <ToUserName><![CDATA[%s]]></ToUserName>
    <FromUserName><![CDATA[%s]]></FromUserName>
    <CreateTime>%s</CreateTime>
    <MsgType><![CDATA[video]]></MsgType>
    $item_str
    </xml>";

            $result = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time());
            return $result;
        }

        private function transmitNews($object, $newsArray)
        {
            if(!is_array($newsArray)){
                return;
            }
            $itemTpl = "    <item>
            <Title><![CDATA[%s]]></Title>
            <Description><![CDATA[%s]]></Description>
            <PicUrl><![CDATA[%s]]></PicUrl>
            <Url><![CDATA[%s]]></Url>
        </item>
    ";
            $item_str = "";
            foreach ($newsArray as $item){
                $item_str .= sprintf($itemTpl, $item['Title'], $item['Description'], $item['PicUrl'], $item['Url']);
            }
            $newsTpl = "<xml>
    <ToUserName><![CDATA[%s]]></ToUserName>
    <FromUserName><![CDATA[%s]]></FromUserName>
    <CreateTime>%s</CreateTime>
    <MsgType><![CDATA[news]]></MsgType>
    <Content><![CDATA[]]></Content>
    <ArticleCount>%s</ArticleCount>
    <Articles>
    $item_str</Articles>
    </xml>";

            $result = sprintf($newsTpl, $object->FromUserName, $object->ToUserName, time(), count($newsArray));
            return $result;
        }

        private function transmitMusic($object, $musicArray)
        {
            $itemTpl = "<Music>
        <Title><![CDATA[%s]]></Title>
        <Description><![CDATA[%s]]></Description>
        <MusicUrl><![CDATA[%s]]></MusicUrl>
        <HQMusicUrl><![CDATA[%s]]></HQMusicUrl>
    </Music>";

            $item_str = sprintf($itemTpl, $musicArray['Title'], $musicArray['Description'], $musicArray['MusicUrl'], $musicArray['HQMusicUrl']);

            $textTpl = "<xml>
    <ToUserName><![CDATA[%s]]></ToUserName>
    <FromUserName><![CDATA[%s]]></FromUserName>
    <CreateTime>%s</CreateTime>
    <MsgType><![CDATA[music]]></MsgType>
    $item_str
    </xml>";

            $result = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time());
            return $result;
        }

        private function logger($log_content)
        {
            if(isset($_SERVER['HTTP_APPNAME'])){   //SAE
                sae_set_display_errors(false);
                sae_debug($log_content);
                sae_set_display_errors(true);
            }else if($_SERVER['REMOTE_ADDR'] != "127.0.0.1"){ //LOCAL
                $max_size = 10000;
                $log_filename = "log.xml";
                if(file_exists($log_filename) and (abs(filesize($log_filename)) > $max_size)){unlink($log_filename);}
                file_put_contents($log_filename, date('H:i:s')." ".$log_content."\r\n", FILE_APPEND);
            }
        }
    }


    ?>

    展开全文
  • PHP微信公众号开发SDK

    2019-08-08 08:40:03
    PHP微信公众号开发SDK
  • 微信公众平台开发之公众号JSSDK开发是子恒...详细讲解了用php开发微信公众号,对微信公众平台中的JSSDK开发。内容包含用JSSDK获取网络状态,地理位置,分享到朋友圈,QQ,空间设置等等。欢迎反馈,微信/QQ:68183131
  • php微信公众号开发视频教材, 内带百度视频分享 目录: 1. 微信公众号开发JSSDK 2.微信公众号支付视频 3.微信公众平台搭建 4.微信开发宝典 5.微信小程序 内附源码
  • 主要介绍了PHP微信公众号开发之微信红包实现方法,结合实例形式分析了php实现微信公众号红包发送功能的实现思路、步骤与具体操作技巧,需要的朋友可以参考下
  • 本文实例为大家分享了php微信公众号秒杀功能的具体代码,供大家参考,具体内容如下数据库小知识点:strtotime:将字符串转换成时间time():时间函数,调用系统当前时间 核心代码:$postObj = simplexml_load_string($...

    本文实例为大家分享了php微信公众号秒杀功能的具体代码,供大家参考,具体内容如下

    d2bbf494ac1a9fcf68e4fedacce5f183.png

    数据库小知识点:

    strtotime:将字符串转换成时间

    time():时间函数,调用系统当前时间

    2e817a9b718166f0d5d3f1dc643dad69.png

    17d6338c96d5920f2aa1c07c3578c1be.png

    ccac6be0e15319366de4ce40b8f39de1.png

    核心代码:

    $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

    $fromUsername = $postObj->FromUserName;

    $toUsername = $postObj->ToUserName;

    $keyword = trim($postObj->Content);

    $time = time();

    $textTpl = "

    %s

    0

    ";

    if($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 = "密码";

    /*接着调用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函数操作进行数据库操作

    */

    $msgType = "text";

    $shijian=strtotime("2018-08-23 23:00:00")-time();

    if($shijian>0)

    {

    $contentStr = "对不起,秒杀还没开始,2018年8月23日23点开始";

    }else{

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

    if ($c==$fromUsername)

    {

    $contentStr = "你已经秒杀过了!";

    }else{

    $sql="SELECT `num` FROM `shuzi` WHERE 1";

    $query=mysql_query($sql);

    $rs=mysql_fetch_array($query);

    $b= $rs['num'];

    if ($b>0)

    {

    $contentStr = "恭喜你秒杀成功,凭此条微信到本店10元换取礼品";

    $b--;

    $sql="UPDATE `shuzi` SET `num`={$b} WHERE 1";

    mysql_query($sql);

    }else{

    $contentStr = "很遗憾,你没有秒杀成功,下次再来吧!";

    }

    $sqluser="INSERT INTO `welcome`(`id`,`user`) VALUES (NULL,'{$fromUsername}')";

    mysql_query($sqluser);

    }

    }

    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);

    echo $resultStr;

    mysql_close($db);

    }else{

    echo "Input something...";

    }

    数据库代码如下:

    -- phpMyAdmin SQL Dump

    -- version 3.3.8.1

    -- http://www.phpmyadmin.net

    --

    -- 主机: w.rdc.sae.sina.com.cn:3307

    -- 生成日期: 2018 年 08 月 23 日 22:29

    -- 服务器版本: 5.6.23

    -- PHP 版本: 5.3.3

    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

    --

    -- 数据库: `app_dq095`

    --

    -- --------------------------------------------------------

    --

    -- 表的结构 `shuzi`

    --

    CREATE TABLE IF NOT EXISTS `shuzi` (

    `num` int(11) NOT NULL DEFAULT '0'

    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    --

    -- 转存表中的数据 `shuzi`

    --

    INSERT INTO `shuzi` (`num`) VALUES

    (0);

    -- --------------------------------------------------------

    --

    -- 表的结构 `welcome`

    --

    CREATE TABLE IF NOT EXISTS `welcome` (

    `id` int(11) NOT NULL AUTO_INCREMENT,

    `user` varchar(255) NOT NULL,

    PRIMARY KEY (`id`)

    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;

    --

    -- 转存表中的数据 `welcome`

    --

    INSERT INTO `welcome` (`id`, `user`) VALUES

    (5, 'ooD-ow-C8ZigAihscJN54pAWpu2g');

    index.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 = "

    %s

    0

    ";

    if($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函数操作进行数据库操作

    */

    $msgType = "text";

    $shijian=strtotime("2018-08-23 23:00:00")-time();

    if($shijian>0)

    {

    $contentStr = "对不起,秒杀还没开始,2018年8月23日23点开始";

    }else{

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

    if ($c==$fromUsername)

    {

    $contentStr = "你已经秒杀过了!";

    }else{

    $sql="SELECT `num` FROM `shuzi` WHERE 1";

    $query=mysql_query($sql);

    $rs=mysql_fetch_array($query);

    $b= $rs['num'];

    if ($b>0)

    {

    $contentStr = "恭喜你秒杀成功,凭此条微信到本店10元换取礼品";

    $b--;

    $sql="UPDATE `shuzi` SET `num`={$b} WHERE 1";

    mysql_query($sql);

    }else{

    $contentStr = "很遗憾,你没有秒杀成功,下次再来吧!";

    }

    $sqluser="INSERT INTO `welcome`(`id`,`user`) VALUES (NULL,'{$fromUsername}')";

    mysql_query($sqluser);

    }

    }

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

    }

    }

    }

    ?>

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • 微信支付开发-微信公众号开发12-微信开发php 大秦电商创始人,专注网络技...

    扫码下载「CSDN程序员学院APP」,1000+技术好课免费看

    APP订阅课程,领取优惠,最少立减5元 ↓↓↓

    订阅后:请点击此处观看视频课程

     

    视频教程-微信支付开发-微信公众号开发12-微信开发php-微信开发

    学习有效期:永久观看

    学习时长:246分钟

    学习计划:5天

    难度:

     

    口碑讲师带队学习,让你的问题不过夜」

    讲师姓名:秦子恒

    CEO/董事长/总经理

    讲师介绍:大秦电商创始人,专注网络技术的电商应用。已经出品《1小时建站》《微博营销实战》《PHP采集》《网络招商系统》

    ☛点击立即跟老师学习☚

     

    「你将学到什么?」

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

     

    「课程学习目录」

    第1章:微信支付开发介绍
    1.微信支付开发介绍
    第2章:微信支付开发-官方JSSDK目录结构
    1.微信支付开发-官方JSSDK目录结构
    第3章:微信支付开发-下载使用web安全证书
    1.下载使用web安全证书-微信支付开发
    2.下载和使用web安全证书cert
    第4章:微信支付开发-开发环境配置
    1.微信支付开发-开发环境配置
    2.设置微信支付授权目录
    3.设置微信二维码扫码支付回调网址
    4.设置和获取微信支付开发的API密钥(KEY)
    第5章:微信支付开发-微信公众号支付开发
    1.微信支付开发-微信公众号支付开发
    2.微信支付效果演示-公众号支付开发-微信支付开发php
    第6章:微信支付开发-异步处理支付结果
    1.微信支付开发-异步处理支付结果
    第7章:微信支付开发-微信扫码支付
    1.微信支付开发-微信扫码支付
    2.微信扫码支付流程和效果演示-公众号扫码支付开发-微信支付开发php
    第8章:微信支付开发-微信刷卡支付
    1.微信支付开发-微信刷卡支付
    2.手机微信刷卡支付效果
    第9章:微信支付开发-下载订单
    1.微信支付开发-下载订单
    2.商户平台下载订单
    3.手机微信下载订单演示
    第10章:微信支付开发-申请退款
    1.11订单查询-微信支付开发
    2.微信支付开发-申请退款
    3.商户后台申请退款
    4.手机微信申请退款
    第11章:微信支付开发-订单查询
    1.商户后台查询订单
    2.用手机微信查询订单
    第12章:微信支付开发技巧
    1.微信支付开发-退款查询
    2.商户后台退款查询
    3.手机微信查询退款信息

     

    7项超值权益,保障学习质量」

    • 大咖讲解

    技术专家系统讲解传授编程思路与实战。

    • 答疑服务

    专属社群随时沟通与讲师答疑,扫清学习障碍,自学编程不再难。

    • 课程资料+课件

    超实用资料,覆盖核心知识,关键编程技能,方便练习巩固。(部分讲师考虑到版权问题,暂未上传附件,敬请谅解)

    • 常用开发实战

    企业常见开发实战案例,带你掌握Python在工作中的不同运用场景。

    • 大牛技术大会视频

    2019Python开发者大会视频免费观看,送你一个近距离感受互联网大佬的机会。

    • APP+PC随时随地学习

    满足不同场景,开发编程语言系统学习需求,不受空间、地域限制。

     

    「什么样的技术人适合学习?」

    • 想进入互联网技术行业,但是面对多门编程语言不知如何选择,0基础的你
    • 掌握开发、编程技术单一、冷门,迫切希望能够转型的你
    • 想进入大厂,但是编程经验不够丰富,没有竞争力,程序员找工作难。

     

    「悉心打造精品好课,5天学到大牛3年项目经验」

    【完善的技术体系】

    技术成长循序渐进,帮助用户轻松掌握

    掌握微信开发知识,扎实编码能力

    【清晰的课程脉络】

    浓缩大牛多年经验,全方位构建出系统化的技术知识脉络,同时注重实战操作。

    【仿佛在大厂实习般的课程设计】

    课程内容全面提升技术能力,系统学习大厂技术方法论,可复用在日后工作中。

     

    「你可以收获什么?」

    用php开发微信公众平台,实现微信支付开发,包括获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等。

     

    展开全文
  • 微信公众号开发两种模式:编辑模式和开发模式。编辑模式比较简单,你不需要操作任何的代码,只需要借助微信提供的功能来管理自己的微信公众号。这种方式开发的页面比较简单,主要用来实现文章的推送等功能。开发者...
  • 微信公众号开发常用接口封装,企业开发微信公众号时,经常会需要调用到微信官方的提供的接口,这里我在此封装好了这些常用的开发接口,供开发者们快速上手公众号开发,以节约开发者自己的时间,和提高开发项目的效率...
  • 主要为大家详细介绍了php微信公众号开发之秒杀功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 微信公众号开发9-公众号JSSDK开发-微信开发php 大秦电商创始人,专注...
  • 微信公众号开发

    2018-07-26 16:20:00
    微信公众号开发" date: 2016-04-25 14:19:37 +0800 comments: true categories: [PHP,Weixin] 微信公众号开发 上星期突然突发奇想,想弄个微信公众号来玩。然后再网上找了一些教程过就开始了。 一、前期...
  • 上大学的时候,对微信公众号开发浅尝辄止的玩了一下,感觉还是挺有意思的。 //www.jb51.net/article/133677.htm后来服务器到期了,也就搁置了。由于发布web程序,使用PHP很顺手,就使用了PHP作为开发语言。但是其实...
  • 主要为大家详细介绍了php微信公众号开发之现金红包,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要为大家详细介绍了php微信公众号开发之音乐信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要为大家详细介绍了php微信公众号开发之关键词回复,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要为大家详细介绍了php微信公众号开发之简答题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要为大家详细介绍了php微信公众号开发之图片回复,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要为大家详细介绍了php微信公众号开发之快递查询功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要为大家详细介绍了php微信公众号开发之翻页查询功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • JAVA微信公众号开发入门(详细) 有很多在学习公众号开发的小伙伴向我反映了,说在学习的过程中很矛盾,很多的公众号开发教程不够详细,亦或者是完全看不懂,况且官网给的文档也只是PHP的实例教程,而这时候学其他...
  • 主要为大家详细介绍了php微信公众号开发之微信企业付款给个人,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • php微信公众号开发

    2020-07-09 13:40:08
    3.配置服务器与微信公众号牵手 进入这个目录,打开index.php,代码如下:再点击提交按钮,显示TOKEN验证成功 <?php $appsecret = '03e***************707d';//用自己的 $appid = 'wx*******a..
  • 微信支付开发教程JAVA编[008]-wxsdk4java:微信公众号和微信支付开发的所有API功能点的封装及调用实例>>下载.(注:NET就不提供了,哥不会.除了哪位财神打赏些银子我做.^_^) 封装了微信公众号和微信支付开发的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,808
精华内容 723
关键字:

微信公众号开发php