php 获取验证码session值问题

<imgstyle="cursor:pointer"title="刷新验证码"id="refresh"border='0'src='createpic.php'oncli... <img style="cursor:pointer" title="刷新验证码" id="refresh" border='0' src='createpic.php'
onclick="document.getElementById('refresh').src='createpic.php?t='+Math.random()"/> <a href="#" onclick="javascript:document.getElementById('refresh').src='createpic.php?t='+Math.random()">看不清楚</a><?
session_start();
?>
<input name="hiddenField" id="hiddenField" value="<?=$_SESSION['vcode'] ?>" />

代码如上,,,我在createpic.php里面生成了验证码并保存在了session里面,为什么hiddenField这个文本框获取的session、值总是上次显示的呢?总是和当前显示的不一样???为什么???有什么解决办法????
展开
 我来答
anziv
2010-04-08 · TA获得超过436个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:349万
展开全部
因为你的验证码图片是在已经输出了<?=$_SESSION['vcode']?>之后才去读取的,当读取图片时,生成的是新的验证码,但是你在输出session到隐藏的input里面时,图片还没有被浏览器加载,所以验证码图片上的数字和隐藏的不同!

输出session是在服务器端
而加载图片却是在HTML代码被发送到浏览器端之后
他们是不同步的

验证码不能直接放在HTML里发送给客户端的,这样的话要不要验证码没有什么意义!验证码是为了防止不法登录(暴力破解)而设置的,如果你把验证码放在HTML代码里,那么对于暴力破解就失去意义了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式