PHP微信刮刮卡

无论大转盘也好,或者是刮刮卡都是抽奖都可以利用同样的方法来计算中奖的概率和控制奖池的数量,本文为大家分享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;
 }
 }
}
 
?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


网页授权获取用户信息的方法
报错config:invalid signature的解决方案
微信开发百思不得姐实战教程
详解微信开发input输入框
教你libco是如何支撑巨大数据信息量的
微信二次开发之文本消息请求与发送
微信开发H5轻游戏
scroll-view完成列表页的方法详解
Java微信开发之自定义菜单的创建
微信开发之input控件的实例详解
微信开发Emoji表情的实例教程
微信开发中详解textarea的使用方法
微信开发中使元素占满全屏的方法介绍
微信开发之数据访问的方法详解
微信二次开发之各类型消息封装
微信开发之数据库操作
如何获取微信好友的地理位置信息
分享3款微信开发开源框架
微信开发之获取服务器IP
微信开发之公交换乘功能代码详解