日期:2014-05-18  浏览次数:20751 次

!!!!!!!同一个页面显示两个验证码,出错!!!!!!!
我在同一个页面显示两个表单,每个表单一个验证码,为什么在提交第一个表单时从session中取不到第一个验证码的值,第二个就没问题。各有各的生成验证码的类。
      在提交第一个表单时总是验证码验证通不过!!
      怎么办啊??????

------解决方案--------------------
你使用的验证码机制本就是每调用一次就不同,因此,在同一页面两次调用它,只会以最后一个为准.
------解决方案--------------------
建议把这个页面的任务分成两个页面,两步来做.
现在的网站,似乎没看到同一页面用两个验证码的.
------解决方案--------------------
对啊,为什么要用两个验证码?如果要用两个应该分别单独处理
------解决方案--------------------
我在同一个页面有两个表单,两个表单分别提交,况且两个表单的验证码各用的一个类,应该不会相互影响吧?
------解决方案--------------------
主要看在session中如何存,如果存在一个属性里面,当然有可能影响了,如果存在两个属性里,应该是不会影响的
------解决方案--------------------
2个页面分别提交2次,每个页面一个表单一个验证码。
不知这样可行吗!
------解决方案--------------------
在session中用不同的两个属性存放的两个值,键和值是两对啊!!!而且是有两个类提供的!
可还是不行,第一个表单总是验证码不对!这是为什么呀???

------解决方案--------------------
属性名称是不是一样?最好把代码贴出来
------解决方案--------------------
向session中增加值
....
//在session中会有一个代码的对象
session.setAttribute( "rand_1 ", sRand);
....
//在session中会有一个代码的对象
session.setAttribute( "rand_2 ", sRand);

取值时
//从会话中得到生成验证码的类的值
String rand_1 = (String)session.getAttribute( "rand_1 ");
//从会话中得到生成验证码的类的值
String rand_2 = (String)session.getAttribute( "rand_2 ");

两个类是一样的,就是类名和值这两句不一样。

------解决方案--------------------
两个高混淆了。
还是一页只搞一个的好。
------解决方案--------------------
验证码 是要保存在session中的
session.setAttribute( "rzm ", "123456 ");
session.setAttribute( "rzm ", "654321 ");
最后的值就被覆盖了萨
------解决方案--------------------
不会吧??我两个session起得名不一样啊!!!
一个是rand_1另一个是rand_2
------解决方案--------------------
session.setAttribute( "rand_1 ", sRand);
==========================================
放之前先看一下sRand是不是空
String rand_1 = (String)session.getAttribute( "rand_1 ");
取出来再看看。
------解决方案--------------------
不是空的
------解决方案--------------------
学习中