21,886
社区成员
发帖
与我相关
我的任务
分享
include 'public_function.php';//函数在这个文件中
..........
class XXXXX
{
//接收事件消息
private function receiveEvent($object)
case "subscribe":
include 'SubEvent.php';//SubEvent在这个文件中
//$content=SendTextImage($object,"欢迎回到公众号","欢迎","http://xxxxxx");
$content=SubEvent($object);
break;
......
set_loger("返回的信息是:$content");
echo #content;
}
<?php
//关注事件
function SubEvent($object)
{
$result=SendTextImage($object,"欢迎回到公众号","欢迎","http://xxxxxx");
return $result;
}
<?php
function event_subscribe($object)
{set_error_handler("customError");
//第一步:查找OpenID是否已经注册过$object->FromUserName
//打开数据库
$result="";//返回值
$FatherID=0;//上线ID
$cansu=0;//二维码参数
ShowMessage("处理关注消息(待删除)");
$conn=my_sql_open();
ShowMessage("数据库已打开(待删除)");
if(!$conn)//打开数据库失败
{
ShowMessage("Event_Attention函数中打开数据库函数返回空值");
}
else//打开数据库成功,查找openkey
{ShowMessage("准备查询openid,(待删除)查询的openid号是:".$object->FromUserName);
$sql="SELECT ID FROM tab_id WHERE OpenID='".$object->FromUserName."' limit 1";
$ret=mysql_query($sql,$conn);
//is_resource($ret)检查ret是否资源类型
//mysql_num_rows($ret)检查返回的行数
if(!is_resource($ret))//查询失败
{
//$result=$this->transmitText($object,"数据库错误,请重新操作");
ShowMessage(0,"Event_Attention函数中查询微信OpenID在否存在数据库中失败");
}
else //查询成功
{
ShowMessage(0,"查找ipenid完成,准备添加到数据库(待删除)");
//检查微信openid是否已经存在
if(!mysql_num_rows($ret))//没有存在,也就是没有关注过本公众号,则创建ID
{
ShowMessage(0,"用户是新用户,没有关注过本公众号(待删除)");
//检查二维码是否带参数
if(empty($object->EventKey))//有二维码参数
{ShowMessage(0,"通过扫描带参数的二维码进入");
$cansu=(!empty($object->EventKey))?(str_replace("qrscene_","",$object->EventKey)):"";//获得二维码参数
//如果二维码参数<=100000,说明是永久二维码,要寻找上线
if($cansu<=100000)
{
$sql="SELECT ewm_gsID FROM tab_yjewm WHERE wem_cs=".$cansu." limit 1";
$ret=mysql_query($sql,$conn);
if(!$ret)//查询失败则不再设上线
{
ShowMessage(0,"Event_Attention函数中查询二维码对应的用户ID失败");
$FatherID=0;
}
else//查询成功
{
$row=mysql_fetch_array($result);
if(!$row)//没有查找到二维码对应的上线,则不再设上线
{
ShowMessage(0,"Event_Attention函数中查询二维码没有对应的上线");
$FatherID=0;
}
else //找到了上线,取出上线ID
{
$FatherID=$row[0];
}
}
}
else
{
$FatherID=$cansu-100000;//这就是上线ID
}
if($FatherID>0)//有上线,则上线送10个积分
{
Jf_Change($FatherID,10,"有新用户通过扫描你的推广二维码关注本微信号,获得10个积分");
}
}
//没有关注过本微信,创建ID,上线值取$cansu
ShowMessage(0,"准备创建用户ID与OpenID的绑定");
$sql="INSERT INTO tab_id (Father,JF,OpenID) VALUES(".$cansu.",1,'".$object->FromUserName."')";
$ret=mysql_query($sql,$conn);
$myid=mysql_insert_id($conn);//取得最后一次插入操作时自动生成的ID
if(!$ret)//如果添加出错
{
ShowMessage(0,"Event_Attention函数中为用户创建ID失败");
}
else
{
//把得到一个积分的消息保存起来
Jf_Change($myid,1,"第一次关注本微信号,赠送1个积分",false);
}
//数据库操作结束,现在向微信发送一条欢迎关注的消息
$result = SendTextImage($object,"你好,欢迎关注","欢迎","http://w9wbt.com/wei_xin_public/html/game.html");
}
else //该用户曾经关注过本公众号,
{//$row=mysql_fetch_array($result);
//要发送欢迎回来的消息
$result=SendTextImage($object,"欢迎回到来","欢迎","http://w9wbt.com/wei_xin_public/html/game.html");
}
}
}
return $result;
}
?>