验证码输入对了还是说错,求解啊!
代码如下:
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>登录页面</title>
<%
String ran = (String)session.getAttribute("yzm");
%>
<script type="text/javascript">
function login()
{
if(document.fuck.username.value=="")
{
alert("用户名不能为空!");
document.fuck.username.focus();
return false;
}
else if(document.fuck.password.value=="")
{
alert("密码不能为空!");
document.fuck.password.focus();
return false;
}
else if(document.fuck.yzm.value=="")
{
alert("验证码不能为空!");
document.fuck.yzm.focus();
return false;
}
else if(document.fuck.yzm.value!=<%=ran%>){
alert("验证码不正确!");
document.fuck.yzm.focus();
return false;
}
else if(true==flag)
{
document.fuck.signup_submit.disabled=true;
}
else
{
return true;
}
}
function reloadImage(url)
{
document.yzm1.src = url+'?id='+Math.random();
}
</script>
</head>
<body>
<form action="Ex3_6_login_check.jsp" method="post" name="fuck">
<table width="438" height="554" border="1" align="center">
<tr>
<th height="361" background="grammer.jpg" scope="col">
用户名:<input type="text" name="username" size="18" /><br />
密 码:<input type="password" name="password" size="19" /><br />
验证码:<input type="text" name="yzm" size="4" /><a href="JavaScript:reloadImage('yzm.jsp');"><img src="yzm.jsp" id="yzm1" name="yzm1" /></a><br />
<input type="submit" value="登录" onclick="return login()" /><input type="reset" value="重置" />
</th>
</tr>
</table>
</form>
</body>
</html>
------解决方案--------------------
你右键看一下页面源代码
else if(document.fuck.yzm.value!=<%=ran%>){ //这一句中后面输出的值
与那个验证码图片中的值是不是一样就知道了
你要是每输出一次验证码图片,Session就会自动变化一次的话,那么,你当前页面中的两个值应该是不一样的。如果两个值是一样的,那么改为下面的试试
else if(document.fuck.yzm.value!='<%=ran%>'){