Whether it’s a big carousel or a scratch card or a lottery, you can use the same method to calculate the probability of winning and control the amount of the prize pool. This article shares with you the PHP WeChat scratch card example code, PHP WeChat scratch card The scratch card + interface can be called directly, and it comes with a WeChat interface for everyone to learn.
Rendering:
##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>
<?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; } } } ?>