为什么我的验证码的session的值总是前一个验证码?(急)
validateCode.asp(验证码页面)
<%
Option Explicit
Response.Buffer = True
Response.Expires = -1
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "cache-ctrol","no-cache"
Dim RndNum,ImgFileContent
Randomize Timer
RndNum = Cint(7999*Rnd+1000)
Session("cnbruce.com_ValidateCode") = Cstr(RndNum) 'session值
ImgFileContent=NumCode(RndNum)
Response.ContentType = "image/BMP"
Response.BinaryWrite ImgFileContent
Function NumCode(NumS)
Dim NumI,NumJ
Dim AdoM,AdoN
Dim Arr_Img(4),NStr
NStr=Cstr(NumS)
For NumI=0 To 3
Arr_Img(NumI)=Cint(Mid(NStr,NumI+1,1))
Next
Dim Position
Set AdoM=Server.CreateObject("Adodb.Stream")
AdoM.Mode=3
AdoM.Type=1
AdoM.Open
Set AdoN=Server.CreateObject("Adodb.Stream")
AdoN.Mode=3
AdoN.Type=1
AdoN.Open
AdoM.LoadFromFile(Server.Mappath("validatebody.fix"))
AdoN.Write AdoM.Read(1280)
For NumI=0 To 3
AdoM.Position=(9-Arr_Img(NumI))*320
AdoN.Position=NumI*320
AdoN.Write AdoM.Read(320)
Next
AdoM.LoadFromFile(Server.Mappath("validatehead.fix"))
Position=Lenb(AdoM.Read())
AdoM.Position=Position
For NumI=0 To 9 Step 1
For NumJ=0 To 3
AdoN.Position=NumI*32+NumJ*320
AdoM.Position=Position+30*NumJ+NumI*120
AdoM.Write AdoN.Read(30)
Next
Next
AdoM.Position = 0
NumCode = AdoM.Read()
AdoM.Close:Set AdoM=Nothing
AdoN.Close:Set AdoN=Nothing
End Function
%>
index.asp
<td>验证码
<input type="hidden" name="hiddenField" value=<%= Session("cnbruce.com_ValidateCode")%>></td>
<td>
<input name='validatecode' type='text' size='5'> <img src='validatecode.asp>' align='absmiddle' border='0'>
</td>
=====================
hiddenField 里面的值求不出当前Session的值,总显示的前一个验证码的值,请各件大侠帮我看一看.