我的页里面有这个一行代码生成图片验证码
<img src="code.asp" style="cursor:pointer" onclick="this.src='code.asp';" alt="看不清?点一下" />
调用的另一个文件,验证码的值是用Session("GetCode")保存的,紧接着,我在下面一个hidden里面取session值
<input type="hidden" id="codevalue" value="<%=CStr(Session("GetCode"))%> "/>
但是我第一次读取的时候,Session值为空,等我刷新一下页面,得到的却是刷新前验证码的值,请问这是什么原因,怎么解决
<img src="code.asp" style="cursor:pointer" onclick="this.src='code.asp';" alt="看不清?点一下" />
调用的另一个文件,验证码的值是用Session("GetCode")保存的,紧接着,我在下面一个hidden里面取session值
<input type="hidden" id="codevalue" value="<%=CStr(Session("GetCode"))%> "/>
但是我第一次读取的时候,Session值为空,等我刷新一下页面,得到的却是刷新前验证码的值,请问这是什么原因,怎么解决
后来我把它存到cookie里面了,结果还是那样,感觉它总是慢了一步
==
最好用cookie保存
外面的要用‘’这个吧
试试看
当第一次调用该文件时,你查看HTML 原代码:value="" 一定为空
原因在于:第一次加载时Session("GetCode")值为空但是该文件加载完毕后,Session("GetCode")值不为空为什么?
第一次加载K.asp时没有给Session("GetCode")赋值
但加载后,<img src="code.asp" 调用了Code.asp 给Session("GetCode")赋了值第二次加载(刷新)就不用我分析了吧,就是value=" <%=CStr(Session("GetCode"))%> " 是在
<img src="code.asp" 调用了Code.asp 给Session("GetCode")赋了值 之前其实<input type="hidden" id="codevalue" value=" <%=CStr(Session("GetCode"))%> "/> 这个是没有必要的
当验证验证码 时直接判断用户的输入是否和Session("GetCode")一致就可以了如:
<input type="text" id="codevalue" value=" <%=CStr(Session("GetCode"))%> "/>
以上供用户输入 验证码
if request.form("Codevalue")==Session("GetCode")then
'验证码正确end if
=========
但是我第一次读取的时候,Session值为空,等我刷新一下页面,得到的却是刷新前验证码的值,请问这是什么原因,怎么解决
====
你的session存储位置写错了吧.