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调用三种数据库的方法(2)
Oct 09 PHP
smarty中先strip_tags过滤html标签后truncate截取文章运用
Oct 25 PHP
php 抽象类的简单应用
Sep 06 PHP
php分页思路以及在ZF中的使用
May 30 PHP
PHP number_format() 函数定义和用法
Jun 01 PHP
解析php中的fopen()函数用打开文件模式说明
Jun 20 PHP
php分页代码学习示例分享
Feb 20 PHP
PHPMailer发送HTML内容、带附件的邮件实例
Jul 01 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
Jul 28 PHP
PHP连接access数据库
Mar 27 PHP
PHP实现基于3DES算法加密解密字符串示例
Aug 24 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 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
php数组函数序列之array_combine() - 数组合并函数使用说明
2011/10/29 PHP
解析thinkphp中的导入文件标签
2013/06/20 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
js验证输入是否为手机号码或电话号码示例
2013/12/30 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
2014/04/03 Javascript
jquery阻止后续事件只执行第一个事件
2014/07/24 Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
2015/02/28 Javascript
jQuery实现简单的间隔向上滚动效果
2015/03/09 Javascript
Javascript中With语句用法实例
2015/05/14 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
2016/08/25 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
Javascript 闭包详解及实例代码
2016/11/30 Javascript
Vue实现路由跳转和嵌套
2017/06/20 Javascript
js获取url页面id,也就是最后的数字文件名
2020/09/25 Javascript
vue组件实现移动端九宫格转盘抽奖
2020/10/16 Javascript
如何在vue 中引入使用jquery
2020/11/10 jQuery
[02:52]2014DOTA2西雅图国际邀请赛 CIS战队巡礼
2014/07/07 DOTA
Python socket网络编程TCP/IP服务器与客户端通信
2017/01/05 Python
python里使用正则表达式的组嵌套实例详解
2017/10/24 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
2018/04/20 Python
python微信公众号之关键词自动回复
2018/06/15 Python
python实现根据指定字符截取对应的行的内容方法
2018/10/23 Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
2019/10/23 Python
pytorch中图像的数据格式实例
2020/02/11 Python
Python实现SMTP邮件发送
2020/06/16 Python
详解通过focusout事件解决IOS键盘收起时界面不归位的问题
2019/07/18 HTML / CSS
Kickers鞋英国官网:男士、女士和儿童鞋
2021/03/08 全球购物
中科软笔试题和面试题
2014/10/07 面试题
马云的职业生涯规划之路
2014/01/01 职场文书
关于运动会的稿件
2014/02/02 职场文书
1000字打架检讨书
2014/11/03 职场文书
学校运动会感想
2015/08/10 职场文书
2016年“5.12”护士节慰问信
2015/11/30 职场文书
Python一些基本的图像操作和处理总结
2021/06/23 Python
Redis实战高并发之扣减库存项目
2022/04/14 Redis
vue 自定义的组件绑定点击事件
2022/04/21 Vue.js