网币支付功能


1.在functions.asp添加

function note_emoney_pay(p_emoney,p_nsort,p_id)
dim tmp1
if int(p_emoney)>0 then
tmp1="<a href='emoney_pay.asp?nsort="&p_nsort&"&id="&p_id&"' target=_blank><img src='"&joekoe_cms.web_dir_skin&"small/emoney.gif' border=0 width=14 alt='"&joekoe_cms.web_unit&"支付' align=absmiddle></a> <font class=red2>"&p_emoney&"</font> "&joekoe_cms.web_unit
else
tmp1="<img src='"&joekoe_cms.web_dir_skin&"small/emoney.gif' border=0 alt='"&joekoe_cms.web_unit&"支付' align=absmiddle> <font class=gray>不可用</font>"
end if
note_emoney_pay=tmp1
end function

2.在网站根目录增加emoney_pay.asp文件
<%@LANGUAGE="VBscript" CODEPAGE="936"%>
<%
Option Explicit
response.buffer=true  '开启缓冲页面功能

dim nsort,id
nsort=trim(request.querystring("nsort"))
id=trim(request.querystring("id"))
select case nsort
case "shop"
response.redirect "shop_emoney_pay.asp?id="&id
case else
response.redirect "./"
end select
%>

3.在增加网站根目录shop_emoney_pay
<!-- #include file="include/con_shop.asp" -->
<!-- #include file="include/jk_email.asp" -->
<!-- #include file="include/jk_val_code.asp" -->
<head>
<meta name="Description" content="废人修改,标题自行修改">
<meta name="keywords" content="废人修改,标题自行修改">
<meta name="author" content="废人修改,标题自行修改">
<meta http-equiv=Content-Type content=text/html; charset=gb2312>
</head>
<%
Response.Expires = 10
dim p_id,psort
p_id=trim(request.querystring("id"))
if not joekoe_cms.int_true(p_id) then p_id=0
psort=left(index_url,3)&"ep"

tit="收 银 台"

call web_head(1,0,0,0,0)
call shop_load(0,0,0)
'----------------------------左边 开始----------------------------
call shop_left()
call shop_left_nsort(0)
'----------------------------左边 结束----------------------------
call web_center(0)
'----------------------------中间 开始----------------------------

select case action
case "pay"
call shop_emoney_pay_chk()
case else
call shop_emoney_pay_bag()
end select


'----------------------------中间 结束----------------------------
call web_end(0,0)

sub shop_emoney_pay_chk()
dim n_price,ordernum,nname,pnum,pname,address,code,phone,email,remark,serial,carry_num,dim_carry,carry,carry_price,found_err,p_order_true,allemoney
%>
<table cellspacing=1 cellpadding=4 class=table>
<tr><td class=td align=center><b><%response.write tit%>  生成订单</b></td></tr>
<%
if not joekoe_cms.chk() then
response.write "<tr class=bg_td><td height=100 align=center><font class=red>"&joekoe_cms.js_type("document.write(web_nopost);",3)&"</font></td></tr>"
response.write vbcrlf&"</table>"
exit sub
end if
if val_chk(psort)=false then
response.write "<tr class=bg_td><td height=100 align=center>您提交的 <font class=red>验 证 码</font> 为空或有错误,请勿非法提交!</td></tr>"
response.write vbcrlf&"</table>"
exit sub
end if
sql="select top 1 emoney from shop_product where hidden=1 and is_emoney=1 and id="&p_id
set rs=joekoe_cms.exec(sql,1)
if rs.eof then
rs.close
response.write "<tr class=bg_td><td height=100 align=center><font class=red>您所要支付的"&val_name&"不存在!</font></td></tr>"
response.write vbcrlf&"</table>"
exit sub
end if
n_price=rs(0)
rs.close
nname=joekoe_cms.code_form(request.form("nname"))
address=joekoe_cms.code_form(request.form("address"))
code=joekoe_cms.code_form(request.form("code"))
phone=joekoe_cms.code_form(request.form("phone"))
email=joekoe_cms.code_form(request.form("email"))
serial=joekoe_cms.code_form(request.form("serial"))
pnum=joekoe_cms.code_form(request.form("pnum"))
pname=joekoe_cms.code_form(request.form("pname"))
remark=joekoe_cms.code_form(request.form("remark"))
remark=left(remark,250)
carry_num=trim(request.form("carry_num"))
if not isnumeric(carry_num) then carry_num=0
if not isnumeric(pnum) then pnum=1
allemoney=int(pnum*n_price)
if allemoney>login_emoney then
response.write "<script language=javascript>alert('您所拥有的 "&joekoe_cms.web_unit&" 不够,请重新选择购买的数量!');history.back(-1)</script>"
exit sub
end if
found_err=""
if nname="" or address="" then
found_err=found_err&"+请输入 <font class=red>收货人姓名</font> 和 <font class=red>收货人地址</font>!<br>"
end if
if not isnumeric(code) or len(code)<>6 then
found_err=found_err&"+请输入正确格式的 <font class=red>邮政编码</font>!<br>"
end if
if phone="" then
found_err=found_err&"+请输入 <font class=red>联系电话</font> 等信息!<br>"
end if
if email_ok(email,50)=false then
found_err=found_err&"+请输入正确格式的 <font class=red>电子信箱</font>!<br>"
end if
if found_err<>"" then
response.write found_error(found_err,340)
response.write vbcrlf&"</table>"
exit sub
end if

carry=""
dim_carry=split(val_carry,":")
if int(carry_num)>ubound(dim_carry) then carry_num=0
for i=0 to ubound(dim_carry)
if int(i)=int(carry_num) then
carry=left(dim_carry(i),instr(dim_carry(i),",")-1)
carry_price=right(dim_carry(i),len(dim_carry(i))-instr(dim_carry(i),","))
exit for
end if
next
erase dim_carry
if carry="" or not isnumeric(carry_price) then
carry="未设定"
carry_price=0
end if
allemoney=allemoney+carry_price
ordernum="e"&joekoe_cms.time_type(joekoe_cms.now_time,11)
p_order_true=true
sql="select top 1 id from shop_emoney_notes where ordernum='"&ordernum&"'"
set rs=joekoe_cms.exec(sql,1)
if not rs.eof then p_order_true=false
rs.close
if p_order_true=false then
response.write "<tr class=bg_td><td height=100 align=center><font class=red>对不起,购买"&val_name&"的用户太多,请稍候再提交购买!</font></td></tr>"
response.write vbcrlf&"</table>"
exit sub
end if

sql="insert into shop_emoney_notes(ordernum,pid,serial,name,emoney,num,emoneys,username,nname,address,code,phone,email,remark,tim,types,carry,carry_price) " & _
"values ('"&ordernum&"',"&p_id&",'"&serial&"','"&pname&"',"&n_price&","&pnum&","&allemoney&",'"&login_username&"','"&nname&"','"&address&"','"&code&"','"&phone&"','"&email&"','"&remark&"','"&joekoe_cms.now_time&"',0,'"&carry&"',"&carry_price&")"
call joekoe_cms.exec(sql,0)
call joekoe_cms.exec("update user_data set emoney=emoney-"&allemoney&" where username='"&login_username&"'",0)
%>
<tr class=bg_td><td align=center height=50>恭喜:订单已经成功递交!订单号:<font size=3 class=red><b><%response.write ordernum%></b></font></td></tr>
<tr class=bg_td><td align=center>确认您的货款后,我们将按您的运送方式向您发货或与您联系。</td></tr>
<tr class=bg_td><td align=center>请牢记您的订单号(<font class=red><%response.write ordernum%></font>),以便查询!</td></tr>
<tr class=bg_td><td align=center height=50><input type=button value='继续购物' onClick="javascript:window.location.href='shop.asp';">
</td></tr>
</table>
<%
call val_chk_end(psort)
end sub

sub shop_emoney_pay_type()
%>
<input type=hidden name=chk value='yes'>
<tr><td colspan=2 class=td align=center><b><%response.write tit%>  填写收货信息</b></td></tr>
<tr class=bg_td>
<td width='20%'>收货人姓名:</td>
<td width='80%'><input type=text name=nname value='<%response.write login_username%>' size=20 maxLength=20><%if login_mode<>"" then response.write " <font class=red>(会员:"&login_username&")</font>"%></td>
</tr>
<tr class=bg_td>
<td>收货人地址:</td>
<td><input type=text name=address size=50 maxLength=200></td>
</tr>
<tr class=bg_td>
<td>邮政编码:</td>
<td><input type=text name=code size=15 maxLength=6></td>
</tr>
<tr class=bg_td>
<td>联系电话:</td>
<td><input type=text name=phone size=30 maxLength=20></td>
</tr>
<tr class=bg_td>
<td>电子信箱:</td>
<td><input type=text name=email size=30 maxLength=50></td>
</tr>
<tr class=bg_td>
<td>运送方式:</td>
<td>
<table border=0>
<%
dim dim_carry,carry,carry_price
carry="未设定"
carry=0
dim_carry=split(val_carry,":")
for i=0 to ubound(dim_carry)
carry=left(dim_carry(i),instr(dim_carry(i),",")-1)
carry_price=right(dim_carry(i),len(dim_carry(i))-instr(dim_carry(i),","))
response.write vbcrlf&" <tr><td><input type=radio name=carry_num value='"&i&"'"
if i=0 then response.write " checked"
response.write " class=bg_td>"&carry&"("
if int(carry_price)=0 then
response.write "免费"
else
response.write "加"&carry_price&joekoe_cms.web_unit
end if
response.write ")</td></tr>"
next
erase dim_carry
%>
</table>
</td>
</tr>
<tr class=bg_td>
<td valign=top><br>备注信息:<br><=250</td>
<td><textarea name=remark cols=50 rows=5></textarea></td>
</tr>
<tr class=bg_tds><td colspan=2 align=center height=40><input type=submit value=' 提 交 支 付 ' onclick="javascript:return pay_frm_submit(this.form);">  <input type=reset value='重新填写'></td></tr>
</form>
</table>
<script language=javascript>
<!--
function pay_frm_submit(nfrm)
{
if (nfrm.nname.value.length==0)
{
alert("请输入收货人姓名!");
nfrm.nname.focus();
return false;
}
if (nfrm.address.value.length==0)
{
alert("请输入收货人具体地址!");
nfrm.address.focus();
return false;
}
if (nfrm.code.value.length==0)
{
alert("请输入邮政编码!");
nfrm.code.focus();
return false;
}
if (nfrm.phone.value.length==0)
{
alert("请输入联系电话!");
nfrm.phone.focus();
return false;
}
if (nfrm.email.value.length==0)
{
alert("请输入电子邮件!");
nfrm.email.focus();
return false;
}
var cf=window.confirm("您确定填写的收货信息准确无误吗?

提交生成订单后将不可更改!");
if (cf)
{ return true; }
else
{ return false; }
}
-->
</script>
<%
end sub

sub shop_emoney_pay_bag()
dim epname,epprice,epserial,epemoney,ds,chk_emoney
ds=false
chk_emoney=true
sql="select top 1 * from shop_product where is_emoney=1 and id="&p_id
%>
<table cellspacing=1 cellpadding=4 class=table>
<form name=shop_pay_frm action='?id=<%response.write p_id%>&action=pay' method=post onsubmit="javascript:frm_submitonce(this);">
<%response.write val_code_num(psort,1)%>
<tr><td colspan=2 class=td align=center><b>以下是您所选购的<%response.write val_name%></b></td></tr>
<%
set rs=joekoe_cms.exec(sql,1)
if not rs.eof then
epname=joekoe_cms.code_js(rs("name"),0)
epemoney=rs("emoney")
epserial=rs("serial")
%>
<tr class=bg_td>
<td width='20%'><%response.write val_name%>名称:</td>
<td width='80%'><b><font class=red><%response.write epname%></font></b></td>
</tr>
<input type=hidden name=pname value='<%response.write epname%>'>
<tr class=bg_td>
<td><%response.write val_name%>编号:</td>
<td><%response.write epserial%></td>
</tr>
<input type=hidden name=serial value='<%response.write epserial%>'>
<tr class=bg_td>
<td>所需<%response.write joekoe_cms.web_unit%>:</td>
<td><font class=red2><%response.write epemoney%></font>  <%response.write joekoe_cms.web_unit%></font></td>
</tr>
<tr class=bg_td>
<td>购买数量:</td>
<td><input type=text name=pnum size=6 maxlength=6 value='1'></td>
</tr>
<%
ds=true
end if
rs.close
if ds=false then response.write "<tr class=bg_tds><td colspan=2 height=30 align=center>您目前还没有选购"&val_name&" </td></tr>":chk_emoney=false
if login_emoney<epemoney then response.write "<tr class=bg_tds><td colspan=2 height=30 align=center>您目前有 <font class=red2>"&login_emoney&"</font> "&joekoe_cms.web_unit&",暂时还不够支付此"&val_name&"! </td></tr>":chk_emoney=false
if chk_emoney=true then
%>
<tr class=bg_tds><td colspan=2 height=30 align=right>
<%
response.write "您目前拥有的 <b><font class=blue>"&joekoe_cms.web_unit&"</font></b> 数量为:<font class=red2>"&login_emoney&"</font> 个"
%>
</td></tr>
<%
call shop_emoney_pay_type()
end if
end sub
%>

4.根目录增加后台订单admin_shop_emoney_order.asp

<!-- #include file="include/admin_onlogin.asp" -->
<!-- #include file="include/common_shop.asp" -->
<!-- #include file="include/joekoe_pay.asp" -->
<%
dim types
types=trim(request.querystring("types"))
if cstr(types)<>"1" and cstr(types)<>"5" then types="0"
if jk_mod="all" then types=""
index_url="shop"
call admin_master(1,0)
data_name="shop_emoney_notes"
tit_fir="订单"
tit="订单管理"
call admin_header(0,0)
%>
<tr><td align=center colspan=2 height=30>
<table border=0>
<tr>
<td><a href='?types=0'<%if cstr(types)="0" then response.write " class=red"%>>未处理的<%response.write joekoe_cms.web_unit&"支付"&tit_fir%></a></td>
<td width=10></td>
<td><a href='?types=1'<%if cstr(types)="1" then response.write " class=red"%>>有问题的<%response.write joekoe_cms.web_unit&"支付"&tit_fir%></a></td>
<td width=10></td>
<td><a href='?types=5'<%if cstr(types)="5" then response.write " class=red"%>>已处理的<%response.write joekoe_cms.web_unit&"支付"&tit_fir%></a></td>
<td width=10></td>
<td><a href='admin_shop_order.asp'>一般支付<%response.write tit_fir%></a></td>
</tr>
</table>
</td></tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
<%
if action="handle" then call joekoe_chk_handle()

select case action
case "view"
call admin_table(1,1)
call joekoe_chk_view()
case else
call admin_table(1,0)
call joekoe_chk_main()
end select

call admin_ender(1)

sub joekoe_chk_handle()
dim sel_type,seltype,sel_id,hdim,hnum,hid,hi,htype,hintegral
htype=1
sel_type=trim(request.form("sel_type"))
select case sel_type
case "删除"
seltype="delete"
case else
sel_type=""
seltype=""
end select
if joekoe_cms.post_chk()=false or seltype="" then
exit sub
end if
hintegral=mp_integral()
sel_id=trim(request.form("sel_id"))
sel_id=replace(sel_id," ","")
hdim=split(sel_id,",")
hnum=ubound(hdim)
select case seltype
case "delete"
for hi=0 to hnum
hid=hdim(hi)
if isnumeric(hid) then
call joekoe_cms.exec("delete from "&data_name&" where id="&hid,0)
end if
next
end select
erase hdim
action=""
call admin_event(sel_type&" "&(hnum+1)&"条("&tit_fir&")记录",0,0)
response.write vbcrlf&"<script language=javascript>alert(""已成功("&sel_type&")操作了"&(hnum+1)&"条记录!"");</script>"
end sub

sub joekoe_chk_view()
dim username,carry_price,ordernum,dis_remark,ntypes,accept_u,msgs,msg_topic,msg_word,pid,name,serial,num,emoney,ptim,emoneys
sql="select top 1 * from "&data_name&" where id="&id
set rs=joekoe_cms.exec(sql,1)
if rs.eof then
rs.close
call admin_msg(tit_fir&"(ID:"&ordernum&")不存在!","?",1)
exit sub
end if
username=rs("username")
carry_price=rs("carry_price")
ordernum=rs("ordernum")
pid=rs("pid")
name=rs("name")
serial=rs("serial")
num=rs("num")
emoney=rs("emoney")
ptim=rs("tim")
emoneys=rs("emoneys")
call admin_td("浏览"&tit_fir&"("&ordernum&")")
if chk() then
accept_u=rs("username")
rs.close
ntypes=trim(request.form("types"))
if cstr(ntypes)<>"1" and cstr(ntypes)<>"5" then ntypes=0
dis_remark=code_admin("dis_remark",1,250)
sql="update "&data_name&" set types="&ntypes&",dis_tim='"&joekoe_cms.now_time&"',dis_remark='"&dis_remark&"' where id="&id
call joekoe_cms.exec(sql,0)
msg_topic=code_admin("msg_topic",1,0)
msg_word=code_admin("msg_word",1,250)
if trim(request.form("messages"))="yes" and len(msg_topic)>1 and len(msg_word)>1 then
sql="insert into user_mail(send_u,accept_u,topic,word,tim,types,isread) " & _
  "values('"&login_username&"','"&accept_u&"','"&msg_topic&"','"&msg_word&"','"&joekoe_cms.now_time&"',1,0)"
call joekoe_cms.exec(sql,0)
msgs="

已给会员("&accept_u&")发送了一封站内短信!"
end if
call admin_msg("成功处理了订单("&ordernum&",ID:"&id&")!"&msgs,"?types="&types&"&jk_mod="&jk_mod,1)
exit sub
end if
call form_first()
%>
<tr>
<td><%response.write val_name%>名称:</td>
<td><a href='###' class=blue alt='点击浏览<%response.write val_name%>详细信息' onclick="javascript:open_view('shop_view.asp?id=<%response.write pid%>',1);"><b><%response.write name%></b></a></td>
</tr>
<tr>
<td><%response.write val_name%>编号:</td>
<td><%response.write rs("serial")%></td>
</tr>
<tr>
<td><%response.write val_name%>单价:</td>
<td><font class=red2><%response.write emoney%></font> <%response.write joekoe_cms.web_unit%>  购买数量:<font class=red><%response.write num%></font></td>
</tr>
<tr>
<td>运送方式:</td>
<td><%response.write rs("carry")%> (<%
if int(carry_price)>0 then
response.write "加"&carry_price&joekoe_cms.web_unit
else
response.write "免费"
end if
%>)</td>
</tr>
<tr>
<td>订单总<%response.write joekoe_cms.web_unit%>:</td>
<td><font class=red><%response.write fm_price(rs("emoneys"),1)%></font> <%response.write joekoe_cms.web_unit%></td>
</tr>
<tr>
<td>购买时间:</td>
<td><%response.write joekoe_cms.time_type(ptim,2)%></td>
</tr>
<tr>
<td>收货人姓名:</td>
<td><%
response.write rs("nname")
response.write " 会员:"&format_user_view(rs("username"),1,0)
%></td>
</tr>
<tr>
<td>收货人地址:</td>
<td><%response.write rs("address")%></td>
</tr>
<tr>
<td>邮政编码:</td>
<td><%response.write rs("code")%></td>
</tr>
<tr>
<td>联系电话:</td>
<td><%response.write rs("phone")%></td>
</tr>
<tr>
<td>电子信箱:</td>
<td><%response.write rs("email")%></td>
</tr>
<tr>
<td>备注信息:</td>
<td>
<table border=0 width='100%' class=tf>
<tr><td class=bw><%response.write joekoe_cms.code_html(rs("remark"),2,0)%></td></tr>
</table>
</td>
</tr>
<form action='?action=view&jk_mod=<%response.write jk_mod%>&id=<%response.write id%>' method=post>
<input type=hidden name=chk value='yes'>
<tr>
<td>订单类型:</td>
<td><select name=types>
<option value='0'<%if cstr(types)="0" then response.write " selected"%>>未处理订单</option>
<option value='1'<%if cstr(types)="1" then response.write " selected"%>>有问题订单</option>
<option value='5'<%if cstr(types)="5" then response.write " selected"%>>已处理订单</option>
</select>  上次处理时间:<%response.write rs("dis_tim")%></td>
</tr>
<tr>
<td valign=top><br>处理信息:<br><=250</td>
<td><textarea name=dis_remark cols=50 rows=5><%response.write rs("dis_remark")%></textarea></td>
</tr>
<tr class=tr1>
<td>发送短信:</td>
<td><input type=checkbox name=messages value='yes'> 选上为处理订单时发送一封站内短信给该会员,在下面填写短信内容</td>
</tr>
<tr class=tr1>
<td>短信标题:</td>
<td><input type=text name=msg_topic value='系统:<%response.write tit_fir&ordernum%>' size=40 maxlength=20><%response.write redx%>不能超过20个字</td>
</tr>
<tr class=tr1>
<td valign=top><br>短信内容:<br><=250</td>
<td><textarea name=msg_word cols=50 rows=5></textarea></td>
</tr>
<tr class=tr1><td colspan=2 align=center height=30><input type=submit value='处理该订单'>   <input type=reset value='重新填写'></td></tr>
</form>
<%
rs.close
end sub

sub joekoe_chk_main()
dim n_id,n_ordernum,n_tim
%>
<form name=sel_form action='?jk_mod=<%response.write jk_mod%>&types=<%response.write types%>&action=handle' method=post>
<tr align=center>
<td class=td width='6%'>序号</td>
<td class=td width='23%'>订 单 号</td>
<td class=td width='15%'>收货人</td>
<td class=td width='16%'>订购时间</td>
<td class=td width='12%'>订购单价</td>
<td class=td width='12%'>订购数量</td>
<td class=td width='10%'>总<%response.write joekoe_cms.web_unit%></td>
<td class=td width='6%'><input type=checkbox name=sel_all value='yes' onclick="javascript:select_all(this.form);"></td>
</tr>
<%
if types<>"" then
sql_add=" where types="&types
pageurl=pageurl&"types="&types&"&"
end if
sql="select count(id) from "&data_name&sql_add
set rs=joekoe_cms.exec(sql,1)
rssum=rs(0)
rs.close
call format_pagecute()
sql="select top "&nummer*viewpage&" * from "&data_name&sql_add&" order by id desc"
call joekoe_cms.exec("",-1)
rs.open sql,conn,1,1
if int(viewpage)>1 then rs.move (viewpage-1)*nummer
if int(viewpage*nummer)>int(rssum) then nums=nummer-(viewpage*nummer-rssum)
for i=1 to nums
id=rs("id")
n_ordernum=rs("ordernum")
n_tim=rs("tim")
%>
<tr align=center>
<td><%response.write (viewpage-1)*nummer+i%></td>
<td align=left><a href='?action=view&types=<%response.write types%>&jk_mod=<%response.write jk_mod%>&id=<%response.write id%>'><%response.write n_ordernum%></a></td>
<td align=left><%response.write format_user_view(rs("username"),1,0)%></td>
<td><font alt='<%response.write joekoe_cms.time_type(n_tim,2)%>' class=tims><%response.write joekoe_cms.time_type(n_tim,3)%></td>
<td align=right><%response.write fm_price(rs("emoney"),1)%></td>
<td align=right><%response.write rs("num")%></td>
<td align=right><%response.write fm_price(rs("emoneys"),1)%></td>
<td><input type=checkbox name=sel_id value='<%response.write id%>'></td>
</tr>
<%
rs.movenext
next
rs.close
%>
<tr class=tr1>
<td colspan=5>
现有<font class=red><%response.write rssum%></font>个<%response.write tit_fir%>,
页次:<font class=red><%response.write viewpage%></font>/<font class=red><%response.write thepages%></font>
分页:<%response.write jk_pagecute(nummer,thepages,viewpage,pageurl,5,"#ff0000")%>
</td>
<td colspan=3 align=center>
执行
<select name=sel_type size=1>
<option value='删除'>删除</option>
</select>
<input type=submit value='操作' onclick="return sel_click(this.form);">
</td>
</tr>
</form>
<%
end sub
%>

文章来自: Original
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 7 | 引用: 0 | 查看次数: 882
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 20 字 | UBB代码 关闭 | [img]标签 关闭