PHP微信刮刮卡 附微信接口


Posted in PHP onJuly 22, 2016

无论大转盘也好,或者是刮刮卡都是抽奖都可以利用同样的方法来计算中奖的概率和控制奖池的数量,本文为大家分享了PHP微信刮刮卡实例代码,PHP微信刮刮卡+接口,可直接调用,自带微信接口,供大家学习。

效果图:

PHP微信刮刮卡 附微信接口

prize.php

<?php
$rand = rand(1,100);
if($rand<10){
 $prize = '苹果1个';
}else if($rand<30){
 $prize = '苹果2个';
}else if($rand<60){
 $prize = '苹果3个';
}else{
 $prize = '谢谢参与';
}

?>

<!DOCTYPE html>
<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta name="viewport" content="width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;">
 <meta name="apple-mobile-web-app-capable" content="yes">
 <meta name="apple-mobile-web-app-status-bar-style" content="black">
 <meta name="format-detection" content="telephone=no">
 <title>刮刮卡</title>
 <link href="index/activity-style.css" rel="stylesheet" type="text/css">
 </head>
 
 </head>
 <body data-role="page" class="activity-scratch-card-winning">
 <script src="index/jquery.js" type="text/javascript"></script>
 <script src="index/wScratchPad.js" type="text/javascript"></script>
 <div class="main">
 <div class="cover">
 <img src="index/activity-scratch-card-bannerbg.png"> 
 <div id="prize"><?php echo $prize;?></div>
  <div id="scratchpad"></div>  
 </div>
 
 <div class="boxcontent boxwhite">
 <div class="box">
 <div class="title-brown">
 <span>
 奖项设置:
 </span>
 </div>
 <div class="Detail">
 <p>
 一等奖: iphone 5S 奖品数量:60
 </p>
 <p>
 二等奖: ipad mini2 奖品数量:100
 </p>
 <p>
 三等奖: 金士顿16G手机卡 奖品数量:2000
 </p>
 </div>
 </div>
 </div>
 
 <div class="boxcontent boxwhite">
 <div class="box">
 <div class="title-brown">
 活动说明:
 </div>
 <div class="Detail">
 <p class="red">
 中奖用户请准确将收货地址发送给我,我们将以货到付款的方式邮寄给你!
 </p>
 <p>
 亲,祝您好运哦!<a href="http://2311156115.44c.pw/prize.php">再来一次</a>
 </p>
 </div>
 </div>
 </div>
 </div>
 <div style="clear:both;">
 </div>
 </div>
 
 <script type="text/javascript">
 window.sncode = "null";
 $(function() {
 $("#scratchpad").wScratchPad({
 width: 150,
 height: 40,
 color: "#a9a9a7",
 
 });
 });
 </script>
 
 </body>

</html>

sxxybbs_wx.php

<?php
/**
 * wechat php test
 */

//define your token
define("TOKEN", "wwwsxxybbscom");
$wechatObj = new wechatCallbackapiTest();
//$wechatObj->valid();
$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;
 $time = time();
 
 if($postObj->Content == '1'){
 $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>"; 
 $msgType = 'text';
 $contentStr = "你输入了:1";
 $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
   echo $resultStr;
 
 }else if($postObj->Content == '抽奖'){
 $newsTpl ="<xml>
  <ToUserName><![CDATA[%s]]></ToUserName>
  <FromUserName><![CDATA[%s]]></FromUserName>
  <CreateTime>%s</CreateTime>
  <MsgType><![CDATA[news]]></MsgType>
  <ArticleCount>1</ArticleCount>
  <Articles>
  <item>
  <Title><![CDATA[刮刮乐翻天]]></Title> 
  <Description><![CDATA[我就要去刮刮乐,抽奖去!]]></Description>
  <PicUrl><![CDATA[http://special.sxcq.cn/cj/weixin/ggk/ggk.jpg]]></PicUrl>
  <Url><![CDATA[%s]]></Url>
  </item>
  </Articles>
  <FuncFlag>0</FuncFlag>
  </xml>";
  
 $url="http://2311156115.44c.pw/prize.php";
   $resultStr = sprintf($newsTpl, $fromUsername, $toUsername, $time,$url);
   echo $resultStr;
 
 }else{
  $keyword = trim($postObj->Content);
  $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 ))
  {
  $msgType = "text";
   $contentStr = "请输入:'1‘或者‘抽奖'";
   $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
   echo $resultStr;
  }else{
   $msgType = "text";
   $contentStr = "谢谢你关注sxxybbs博客,后续有精彩的内容会第一时间发送给您!回复:'1‘或者‘抽奖'得到对应的服务";
   $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
   echo $resultStr;
  }
 }

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

?>

源码下载:刮刮卡

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

PHP 相关文章推荐
php 解决旧系统 查出所有数据分页的类
Aug 27 PHP
nginx+php-fpm配置文件的组织结构介绍
Nov 07 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
Jun 26 PHP
详谈PHP编码转换问题
Jul 28 PHP
php对文件夹进行相关操作(遍历、计算大小)
Nov 04 PHP
Zend Framework动作助手FlashMessenger用法详解
Mar 05 PHP
PHP简单实现DES加密解密的方法
Jul 12 PHP
PHP查询分页的实现代码
Jun 09 PHP
详细解读php的命名空间(二)
Feb 21 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
Jan 23 PHP
PHP反射基础知识回顾
Sep 10 PHP
WordPress伪静态规则设置代码实例
Dec 10 PHP
php判断用户是否关注微信公众号
Jul 22 #PHP
微信支付扫码支付php版
Jul 22 #PHP
php如何执行非缓冲查询API
Jul 22 #PHP
PHP面试常用算法(推荐)
Jul 22 #PHP
微信红包随机生成算法php版
Jul 21 #PHP
php集成动态口令认证
Jul 21 #PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
Jul 21 #PHP
You might like
Windows下的PHP5.0详解
2006/11/18 PHP
PHP中的魔术方法总结和使用实例
2015/05/11 PHP
对PHP依赖注入的理解实例分析
2016/10/09 PHP
PHP 自动加载类原理与用法实例分析
2020/04/14 PHP
用js实现的一个Flash滚动轮换显示图片代码生成器
2007/03/14 Javascript
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
2010/02/07 Javascript
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
2013/04/28 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
jQuery对象的链式操作用法分析
2016/05/10 Javascript
15款最好的Bootstrap在线编辑器
2016/08/03 Javascript
基于vue组件实现猜数字游戏
2020/05/28 Javascript
jQuery实现form表单序列化转换为json对象功能示例
2018/05/23 jQuery
JavaScript前端实现压缩图片功能
2020/03/06 Javascript
js 将多个对象合并成一个对象 assign方法的实现
2020/09/24 Javascript
Python和JavaScript间代码转换的4个工具
2016/02/22 Python
使用python装饰器计算函数运行时间的实例
2018/04/21 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
Python通用循环的构造方法实例分析
2018/12/19 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
python中对数据进行各种排序的方法
2019/07/02 Python
python在openstreetmap地图上绘制路线图的实现
2019/07/11 Python
python 3.7.4 安装 opencv的教程
2019/10/10 Python
Python super()函数使用及多重继承
2020/05/06 Python
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
英语专业推荐信
2013/11/16 职场文书
银行贷款承诺书
2014/03/29 职场文书
水利水电专业自荐信
2014/07/08 职场文书
党员教师个人对照检查材料范文
2014/09/25 职场文书
2014年干部培训工作总结
2014/12/17 职场文书
爱国影片观后感
2015/06/18 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书
2016年党员干部廉政承诺书
2016/03/24 职场文书
django上传文件的三种方式
2021/04/29 Python
Python数据分析之pandas读取数据
2021/06/02 Python