无论大转盘也好,或者是刮刮卡都是抽奖都可以利用同样的方法来计算中奖的概率和控制奖池的数量,本文为大家分享了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;
}
}
}
?>
源码下载:刮刮卡
您可能感兴趣的文章:Android刮刮卡效果实现代码Android刮刮卡功能具体实现代码php抽奖概率算法(刮刮卡,大转盘)Android刮刮卡实现原理与代码讲解Android App中实现简单的刮刮卡抽奖效果的实例详解基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法利用HTML5的画布Canvas实现刮刮卡效果javascript+canvas实现刮刮卡抽奖效果js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS手机端js和html5刮刮卡效果