📄 pay_function.asp
字号:
<!--#include file="../config.asp" -->
<%
'更改数据库名字
dbpath="../../"&datamdb&""
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(dbpath)
conn.Open connstr
'///获取会员级别名
vip_name=split(vip_name,"|")
vip_money=split(vip_money,"|")
'/////////////////////////////////////////////////
' 包月用户升级函数:目标用户,级别,金额,有效期,支付用户
' 方便写入财务
'/////////////////////////////////////////////////
Function update_user(str1,str2,str3,str4,str5)
if test_user(str1)<>True then
call write_userlog(session("username"),"在线升级","找不到要升级的用户["&str1&"]","0","0")
call Write_CwTab("入帐","在线支付",str3,str1,"己支付成功,但未找到升级用户")
Response.write "发生错误:支付成功<br>升级失败原因:要升级的用户不存在"
Response.end
end if
Response.write "恭喜!用户["&str1&"],成功升级会员到:["&vip_name(str2)&"],有效期限:["&str4&"]个月"
set rs=server.createobject("adodb.recordset")
sql="select 用户名,到期时间,级别 from 会员 where 用户名='"&str1&"'"
rs.open sql,conn,1,3
if rs("到期时间")>now() then '/////检查用户剩余时间,是否己过期
rs("到期时间")=rs("到期时间")+str4*30
else
rs("到期时间")=now()+str4*30
end if
rs("级别")=str2
rs.update
rs.close
if str1=str5 then
call write_userlog(str1,"在线升级","升级到:"&vip_name(str2)&"","0","0")
else
call write_userlog(str1,"收到赠送","["&vip_name(str2)&"]会员,有效期["&str4&"],赠送人["&str5&"]","0","0")
call write_userlog(str5,"赠送会员","赠送给["&str5&"]["&vip_name(str2)&"]会员,["&str4&"]个月","0","0")
end if
call Write_CwTab("入帐","在线支付包月",str3,str1,"交易成功")
session("site_pay_ok")=True
End Function
'/////////////////////////////////////////////////
' 计点用户升级函数:目标用户名,级别,金额,加入点数,支付用户
'/////////////////////////////////////////////////
Function update_user_ds(str1,str2,str3,str4,str5)
if test_user(str1)<>True then
call write_userlog(session("username"),"在线充点","找不到要充点的用户["&str1&"]","0","0")
call Write_CwTab("入帐","在线充点",str3,str1,"己支付成功,但未找到要充点的用户")
Response.write "发生错误:支付成功<br>升级失败原因:要升级的用户不存在"
Response.end
end if
Response.write "恭喜!用户["&str1&"],成功增加点数["&str4&"]点<br>成功升级会员到:["&vip_name(str2)&"]"
set rs=server.createobject("adodb.recordset")
sql="select 用户名,到期时间,级别,点数 from 会员 where 用户名='"&str1&"'"
rs.open sql,conn,1,3
rs("点数")=rs("点数")+str4
rs("级别")=str2
rs.update
rs.close
set rs=nothing
if str1=str5 then
call write_userlog(str1,"在线充点","充入:["&str4&"]点","0","0")
else
call write_userlog(str1,"收到赠送","点数["&str4&"],赠送人["&str5&"]","0","0")
call write_userlog(str5,"赠送点数","赠送给["&str5&"],["&str4&"]点","0","0")
end if
call Write_CwTab("入帐","在线支付充点",str3,str1,"交易成功")
session("site_pay_ok")=True
End Function
'//////////////////////////////////////////////////////
' 检测用户是否存在,返回 true/false
'//////////////////////////////////////////////////////
function test_user(str)
set rs=conn.execute("select 用户名 from 会员 where 用户名='"&str&"'")
if rs.eof then
test_user=False
else
test_user=True
end if
set rs=nothing
end function
'//////////////////////////////////////////
' 写入财务报表
' 类型 - 出帐/入帐
' 方式 - 充值卡/分红出帐/在线升级
' 金额
' 用户
' 状态 - 正常/己在线支付未升级/己付款未处理
'/////////////////////////////////
Function Write_CwTab(str1,str2,str3,str4,str5)
'on error resume next
Getrndnum=Getrnd
sql="insert into 财务报表(类型,方式,金额,用户,状态,交易时间,流水号) values('"&str1&"','"&str2&"','"&str3&"','"&str4&"','"&str5&"','"&now()&"','"&Getrndnum&"')"
conn.execute(sql)
Response.write "<br>交易流水号:"&Getrndnum
End Function
'////////////////////////////////////////////////////////////////////
' 用户前台日志生成函数
' str1用户,str2事件,str3内容,str4影片编号,str5集数
'////////////////////////////////////////////////////////////////////
Function write_userlog(str1,str2,str3,str4,str5)
'on error resume next
sql="insert into 操作纪录(用户,事件,内容,影片编号,集数,时间,ip) values('"&str1&"','"&str2&"','"&str3&"','"&str4&"','"&str5&"','"&now()&"','"&Request.serverVariables("REMOTE_ADDR")&"')"
conn.execute(sql)
End Function
'*****************************************************************
' 生成一个随机数,流水号
'*****************************************************************
Function Getrnd()
randomize
Getrnd=year(now())&month(now())&Int((999999*rnd)+1)
End Function
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -