php中session验证码不同步的解决办法:引入【yzm.php】页面,登录页面设置一个表单提交路径即可,代码为【session_start();echo $_session['yzm'];】。
php中session验证码不同步的解决办法:
验证码生成页面:
for($i=0;$i<4;$i++){$y = mt_rand(3,10);$size = mt_rand(5,8);$ran = dechex(rand(0,15));imagestring($im,$size,(2+$i*15),$y,$ran,imagecolorallocate($im,rand(0,100),rand(0,150),rand(0,200)));$yzm.=$ran;}$_session['yzm']=$yzm;
登录页面:
\<input type="text" value="">
红色代码为了检测是否能够正确获得图片中的验证码,但是在测试中,我发现我多次一举了。
因为每次刷新这个页面之后显示的都是上一次的内容。最后网上查阅了一番发现,session变量,设置之后是需要刷新页面才会生效的。
我们在登录页面是首次引入yzm.php页面。没有刷新页面。所以当前用$_session是获取不到的,当我们刷新这个页面的时候,获取到的是上一次的session值,
为了测试猜想是否正确。登录页面设置一个表单提交路径。链接的页面为:
session_start(); echo $_session['yzm'];
结果符合。
相关学习推荐:php编程从入门到精通
以上就是php中session验证码不同步怎么办?的详细内容。