⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 card.asp

📁 后台目录:qwbAdmin/Login.asp 登陆用户名:admin 登陆密码:admin
💻 ASP
📖 第 1 页 / 共 3 页
字号:
<% Option Explicit %>
<!--#include file="../../FS_Inc/Const.asp" -->
<!--#include file="../../FS_InterFace/MF_Function.asp" -->
<!--#include file="../../FS_Inc/Function.asp" -->
<!--#include file="../../FS_Inc/Func_page.asp" -->
<%'Copyright (c) 2006 Foosun Inc. Code by awen ueuo.cn网络收藏夹
Dim Conn,User_Conn,VClass_Rs,VClass_Sql,sErrStr
Dim CheckStr,Need_Do_Pwd_Str
MF_Default_Conn
MF_User_Conn
MF_Session_TF
if not MF_Check_Pop_TF("ME_Card") then Err_Show

Dim int_RPP,int_Start,int_showNumberLink_,str_nonLinkColor_,toF_,toP10_,toP1_,toN1_,toN10_,toL_,showMorePageGo_Type_,cPageNo
int_RPP=15 '设置每页显示数目
int_showNumberLink_=10 '数字导航显示数目
showMorePageGo_Type_ = 1 '是下拉菜单还是输入值跳转,当多次调用时只能选1
str_nonLinkColor_="#999999" '非热链接颜色
toF_="<font face=webdings>9</font>"   			'首页 
toP10_=" <font face=webdings>7</font>"			'上十
toP1_=" <font face=webdings>3</font>"			'上一
toN1_=" <font face=webdings>4</font>"			'下一
toN10_=" <font face=webdings>8</font>"			'下十
toL_="<font face=webdings>:</font>"				'尾页

Function Get_Card(Add_Sql,orderby)
	Dim Get_Html,This_Fun_Sql,ii,Str_Tmp,Arr_Tmp,New_Search_Str,Req_Str,regxp
	Str_Tmp = "CardID,CardNumber,CardMoney,CardDateNumber,CardPoint,isBuy,CardOverDueTime,UserNumber,UserTime  ,AddTime,IsUse,CardPasswords"
	This_Fun_Sql = "select "&Str_Tmp&" from FS_ME_Card"
	if request.QueryString("Act")="SearchGo" then 
		Arr_Tmp = split(Str_Tmp,",")
		for each Str_Tmp in Arr_Tmp
			Req_Str = NoSqlHack(Trim(request(Str_Tmp)))
			if Req_Str<>"" then 				
				select case Str_Tmp
					case "CardMoney","CardDateNumber","CardPoint","IsUse","isBuy"   ,"CardOverDueTime","UserTime","AddTime"
					''数字,日期
						regxp = "|<|>|=|<=|>=|<>|"
						if instr(regxp,"|"&left(Req_Str,1)&"|")>0 or instr(regxp,"|"&left(Req_Str,2)&"|")>0 then 
							New_Search_Str = and_where( New_Search_Str ) & Str_Tmp &" "& Req_Str
						elseif instr(Req_Str,"*")>0 then 
							if left(Req_Str,1)="*" then Req_Str = "%"&mid(Req_Str,2)
							if right(Req_Str,1)="*" then Req_Str = mid(Req_Str,1,len(Req_Str) - 1) & "%"							
							New_Search_Str = and_where( New_Search_Str ) & Str_Tmp &" like '"& Req_Str &"'"							
						else	
							New_Search_Str = and_where( New_Search_Str ) & Str_Tmp &" = "& Req_Str
						end if		
					case else
					''字符
						New_Search_Str = and_where(New_Search_Str) & Search_TextArr(Req_Str,Str_Tmp,"")
				end select 		
			end if
		next
		if New_Search_Str<>"" then This_Fun_Sql = and_where(This_Fun_Sql) & replace(New_Search_Str," where ","")
	end if
	Str_Tmp = "":ii=0
	if Add_Sql<>"" then This_Fun_Sql = and_where(This_Fun_Sql) &" "& Decrypt(Add_Sql)
	if orderby<>"" then This_Fun_Sql = This_Fun_Sql &"  Order By "& replace(orderby,"csed"," Desc")
	On Error Resume Next
	Set VClass_Rs = CreateObject(G_FS_RS)
	VClass_Rs.Open This_Fun_Sql,User_Conn,1,1	
	if Err<>0 then 
		Err.Clear
		response.Redirect("../error.asp?ErrCodes=<li>查询出错:"&Err.Description&"</li><li>请检查字段类型是否匹配.</li>")
		response.End()
	end if
	IF VClass_Rs.eof THEN
	 	response.Write("<tr class=""hback""><td colspan=15>暂无数据.</td></tr>") 
	else	
	VClass_Rs.PageSize=int_RPP
	cPageNo=NoSqlHack(Request.QueryString("Page"))
	If cPageNo="" Then cPageNo = 1
	If not isnumeric(cPageNo) Then cPageNo = 1
	cPageNo = Clng(cPageNo)
	If cPageNo<=0 Then cPageNo=1
	If cPageNo>VClass_Rs.PageCount Then cPageNo=VClass_Rs.PageCount 
	VClass_Rs.AbsolutePage=cPageNo
	
	  FOR int_Start=1 TO int_RPP 
		Get_Html = Get_Html & "<tr class=""hback"">" & vbcrlf
		Get_Html = Get_Html & "<td align=""center""><a href=""Card.asp?Act=Edit&CardID="&VClass_Rs("CardID")&""" class=""otherset"" title='点击修改'>"&VClass_Rs("CardNumber")&"</a></td>" & vbcrlf
		for ii=2 to 8
			select case ii
				case 2
				Str_Tmp = VClass_Rs(ii) & "元"
				case 5 
				if VClass_Rs(ii)=1 then 
					Str_Tmp="已售出"
				else
					Str_Tmp="未售出"
				end if		
				case else
				Str_Tmp = VClass_Rs(ii)
			end select		
				Get_Html = Get_Html & "<td align=""center"">"& Str_Tmp & "</td>" & vbcrlf
		next	
		Get_Html = Get_Html & "<td align=""center"" class=""ischeck""><input type=""checkbox"" "&CheckStr&" name=""DelID"" id=""DelID"" value="""&VClass_Rs("CardID")&""" /></td>" & vbcrlf
		Get_Html = Get_Html & "</tr>" & vbcrlf
		CheckStr = ""	
		VClass_Rs.MoveNext
 		if VClass_Rs.eof or VClass_Rs.bof then exit for
      NEXT
	END IF
	Get_Html = Get_Html & "<tr class=""hback""><td colspan=20 align=""center"" class=""ischeck"">"& vbcrlf &"<table width=""100%"" border=0><tr><td height=30>" & vbcrlf
	Get_Html = Get_Html & fPageCount(VClass_Rs,int_showNumberLink_,str_nonLinkColor_,toF_,toP10_,toP1_,toN1_,toN10_,toL_,showMorePageGo_Type_,cPageNo)  & vbcrlf
	Get_Html = Get_Html & "</td><td align=right><input type=""submit"" name=""submit"" value="" 删除 "" onclick=""javascript:return confirm('确定要删除所选项目吗?');""></td>"
	Get_Html = Get_Html &"</tr></table>"&vbNewLine&"</td></tr>"
	VClass_Rs.close
	Get_Card = Get_Html
End Function

Sub Del()
	if not MF_Check_Pop_TF("ME019") then Err_Show '权限判断
	Dim Str_Tmp
	if request.QueryString("CardID")<>"" then 
		User_Conn.execute("Delete from FS_ME_Card where CardID = "&request.QueryString("CardID"))
	else
		Str_Tmp = request.form("DelID")
		if Str_Tmp="" then response.Redirect("../error.asp?ErrCodes=<li>你必须至少选择一个进行删除。</li>")
		Str_Tmp = replace(Str_Tmp," ","")
		User_Conn.execute("Delete from FS_ME_Card where CardID in ("&Str_Tmp&")")
	end if
	response.Redirect("../Success.asp?ErrorUrl="&server.URLEncode( "User/Card.asp?Act=View" )&"&ErrCodes=<li>恭喜,删除成功。</li>")
End Sub
''================================================================
Function CheckCardCF(CardNumber)
''检查录入的卡是否重复,重复则返回卡号,不重复则返回""
	Dim CheckCardCF_Rs
	Set CheckCardCF_Rs = CreateObject(G_FS_RS)
	CheckCardCF_Rs.Open "select Count(*) from FS_ME_Card where CardNumber='"&CardNumber&"'",User_Conn,1,1
	if  CheckCardCF_Rs(0)>0 then 
		CheckCardCF = CardNumber
	else 
		CheckCardCF = ""
	end if
	CheckCardCF_Rs.close	
End Function

Sub Save()
	Dim CardID,IsOk,Arr_Tmp,Str_Tmp,Arr_Tmp1,Str_Tmp1,Arr_Tmp2,Str_Tmp2,ErrInfo,tmpi
	Dim PutNum,CardAddStr,CardNum_Len,CardPwd_Len,Put_i,Put_Rs,Str_Tmp3,Put_Pwd_Type
    Dim Randchar,Randchararr,iR
	CardID = NoSqlHack(request.Form("CardID"))
	if not isnumeric(CardID) or CardID = "" then CardID = 0
	Str_Tmp = "CardNumber,CardPasswords,CardMoney,CardDateNumber,CardPoint,CardOverDueTime,IsUse,isBuy,UserNumber,AddTime,UserTime"
	Arr_Tmp = split(Str_Tmp,",")
	for tmpi = 2 to 7 
		if trim(request.Form("frm_"&Arr_Tmp(tmpi))) = "" then sErrStr = Arr_Tmp(tmpi) : exit for
	next
	if sErrStr <>"" then response.Redirect("../error.asp?ErrCodes=<li>必要的参数 ["&sErrStr&"] 必须填写完整!!</li>")  : response.End()
	VClass_Sql = "select "&Str_Tmp&" from FS_ME_Card where CardID="&CardID
	Set VClass_Rs = CreateObject(G_FS_RS)
	VClass_Rs.Open VClass_Sql,User_Conn,3,3
	if CardID >0 then 
	''修改
	if not MF_Check_Pop_TF("ME018") then Err_Show '权限判断
		for each Str_Tmp in Arr_Tmp
			if Str_Tmp = "CardPasswords" then 
				VClass_Rs(Str_Tmp) = Encrypt(NoSqlHack(request.Form("frm_"&Str_Tmp))) ''加密
			else
				if request.Form("frm_"&Str_Tmp)<>"" then 
					VClass_Rs(Str_Tmp) = NoSqlHack(request.Form("frm_"&Str_Tmp))
				else
					VClass_Rs(Str_Tmp) = null
				end if	
			end if	
		next
		VClass_Rs.update
		VClass_Rs.close
		response.Redirect("../Success.asp?ErrorUrl="&server.URLEncode( "User/Card.asp?Act=Edit&CardID="&CardID )&"&ErrCodes=<li>恭喜,修改成功。</li>")
	else
	''新增
	  if not MF_Check_Pop_TF("ME017") then Err_Show '权限判断
	  if request.Form("ActPut")=1 then 
	  ''批量生成
	  	   Put_Pwd_Type = request.Form("Put_Pwd_Type")
		   Put_Pwd_Type = replace(Put_Pwd_Type," ","")
		   ''卡的密码构成方式。数字,字母		   
		   PutNum=Trim(request.Form("Put_PutNum"))
		   if not isnumeric(PutNum) then PutNum = 1
		   CardAddStr=NoSqlHack(Trim(request.Form("Put_CardAddStr")))
		   CardNum_Len=Trim(request.Form("Put_CardNum_Len"))
		   if not isnumeric(CardNum_Len) then CardNum_Len = 12
		   CardPwd_Len=Trim(request.Form("Put_CardPwd_Len"))
		   if not isnumeric(CardPwd_Len) then CardPwd_Len = 8
		   ''如果前缀长度比冲值卡长度-2还大,则冲值卡长度=冲值卡长度+前缀长度+2
		   if len(CardAddStr) > CardNum_Len-2 then CardNum_Len = len(CardAddStr) + CardNum_Len + 2
		 On Error Resume Next
		   if User_Conn.execute("select Count(*) from FS_ME_CardPut")(0)=0 then 
		   	User_Conn.execute("insert into FS_ME_CardPut (PutNum,CardAddStr,CardNum_Len,CardPwd_Len) VALUES ("&PutNum&",'"&CardAddStr&"',"&CardNum_Len&","&CardPwd_Len&")")
		   else
		   	User_Conn.execute("update FS_ME_CardPut set PutNum="&PutNum&",CardAddStr='"&CardAddStr&"',CardNum_Len="&CardNum_Len&",CardPwd_Len="&CardPwd_Len&"")
		   end if
		   If Err.Number<>0 Then Err.Clear : response.Redirect("../Error.asp?ErrCodes=<li>批量生成卡基础设置存盘失败.请检查拼写是否正确.</li>") : response.End()
		   Str_Tmp = "CardMoney,CardDateNumber,CardPoint,CardOverDueTime,IsUse,UserNumber,AddTime,isBuy"
		   Arr_Tmp = split(Str_Tmp,",")	 
		 for Put_i = 1 to PutNum
		   Str_Tmp1 = "" :   Str_Tmp2 = "" :   Str_Tmp3 = ""	
		   ''生成卡号,密码并入库
		   ''''''''''''''添加到FS_ME_CardPut表
		   Str_Tmp2=Str_Tmp2&GetRamCode(CardPwd_Len)
		   'response.Write("密码"&Put_i&"次:"&Str_Tmp2&"<br>")
		   ''''''''''''''''''''''''''''''''''
		   ''卡号加密,取消06-07-05
		   ''第一次
		   Str_Tmp1 = Str_Tmp1 &GetRamCode( CardNum_Len - len(CardAddStr) )
		   '''''''''''''''''''''''生成后再检查数据库,若存在则再生成一次
		   do while CheckCardCF(CardAddStr & Str_Tmp1)<>""		   
			   Str_Tmp1 = GetRamCode( CardNum_Len - len(CardAddStr) )			 
		   loop
		   'response.Write("卡号"&Put_i&"次:"&Str_Tmp1&"<br>")
		   '''''''''''''''''''''''
		   On Error Resume Next
		   VClass_Rs.AddNew		   
		   ''''''''''''''添加到FS_ME_Card表
		   Str_Tmp3 = ""
		   VClass_Rs("CardNumber") = CardAddStr & Str_Tmp1
		   VClass_Rs("CardPasswords") = Encrypt(Str_Tmp2)
		   for each Str_Tmp3 in Arr_Tmp
				if request.Form("frm_"&Str_Tmp3)<>"" then 
					VClass_Rs(Str_Tmp3) = NoSqlHack(request.Form("frm_"&Str_Tmp3))
				else
					VClass_Rs(Str_Tmp3) = null
				end if	
				'response.Write(Str_Tmp3&":"&NoSqlHack(request.Form("frm_"&Str_Tmp3))&"<br>")				
		   next
		   VClass_Rs.update
		   'If Err.Number<>0 Then Err.Clear : response.Redirect("../Error.asp?ErrCodes=<li>卡数据存盘失败.请检查拼写是否正确.</li>") : response.End()
		   'response.Write("Str_Tmp1:"&Str_Tmp1&"  "&"Str_Tmp2:"&Str_Tmp2&"  "&"Str_Tmp3:"&Str_Tmp3&"<br>")
	     next
 	     VClass_Rs.close 
		 'response.End()
		 response.Redirect("../Success.asp?ErrorUrl="&server.URLEncode( "User/Card.asp" )&"&ErrCodes=<li>恭喜,批量生成成功。</li>")		   
	  else
	  '''''''''''''''''''''  		
		if request.Form("AddMode")=1 then 
		  ''单张
			if CheckCardCF(NoSqlHack(request.Form("frm_CardNumber")))<>"" then 
				response.Redirect("../error.asp?ErrorUrl=&ErrCodes=<li>卡号:"&request.Form("frm_CardNumber")&"已存在。</li>")
				response.End()
			end if
		  VClass_Rs.AddNew
		  for each Str_Tmp in Arr_Tmp
			if Str_Tmp = "CardPasswords" then 
				VClass_Rs(Str_Tmp) = Encrypt(NoSqlHack(request.Form("frm_"&Str_Tmp))) ''加密
			else
				if request.Form("frm_"&Str_Tmp)<>"" then 
					VClass_Rs(Str_Tmp) = NoSqlHack(request.Form("frm_"&Str_Tmp))
				else
					VClass_Rs(Str_Tmp) = null
				end if	
			end if	
			'response.Write(NoSqlHack(request.Form("frm_"&Str_Tmp))&":"&Str_Tmp&"<br>")
    	  next
		  VClass_Rs.update
		  Put_i=1
		else
		  ''批量添加多张
		  Str_Tmp1 = Trim(request.form("More_Mode_Area"))
		  if Str_Tmp1="" or instr(Str_Tmp1,"|")=0 or len(Str_Tmp1)<3 then 
		  	response.Redirect("../Error.asp?ErrCodes=批量添加时,卡号和密码不能为空或格式不正确或长度不够。")	: response.End()	
		  else
		   ErrInfo = "" : Put_i=0 : iR=0  : Str_Tmp2 = ""
		   Str_Tmp = "CardMoney,CardDateNumber,CardPoint,CardOverDueTime,IsUse,UserNumber,AddTime,isBuy"
		   Arr_Tmp = split(Str_Tmp,",")
		   if instr(Str_Tmp1,"&nbsp;") then Str_Tmp1 = left(Str_Tmp1,len(Str_Tmp1) - len("&nbsp;"))
		   Str_Tmp1 = replace(replace(Str_Tmp1,"&nbsp;",vbcr)," ","")
		   Arr_Tmp1 = split(Str_Tmp1,vbcr) ''每一行数据
		   ErrInfo = ErrInfo & "<li>你提交了: "&ubound(Arr_Tmp1)+1&" 张卡.</li>" 
		   '''''''''''''''''''''判断后再造字符串
		   for iR = lbound(Arr_Tmp1) to ubound(Arr_Tmp1)
		  	  Arr_Tmp2=split(Arr_Tmp1(iR),"|") ''拆分卡号和密码
			  if ubound(Arr_Tmp2)<>1 then 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -