在JSP中如何将下拉菜单的选项与数据库对比,跳转到相应页面
登录页是这样的:<optionvalue="none"selected="selected">请选择</option><optionvalue="一">1</option...
登录页是这样的:<option value="none" selected="selected">请选择</option>
<option value="一">1</option>
<option value="二">2</option>
<option value="三">3</option>
<option value="四">3</option>
我再建一个验证页action.jsp
String name = request.getParameter("name");
String password = request.getParameter("password");
用String select=(String)request.getParameter("select");获取选项值,
用String sql = "select * from 用户表 where 密码='"+ password + "' and 用户名='" + name +"' "; 获取Access数据库的用户名与密码
如果我只验证用户名、密码的话,可以成功
if(RsLoginCheck.next()) out.print("登录成功!!!");
但我想根据下拉选项的值与数据库的用户类型对比,如果一致则跳转到相应页面
于是我改为:
String sql = "select * from 用户表 where 密码='"+ password + "' and 用户名='" + name +"' and 用户类型='" + select +"'"; 获取Access数据库的用户名与密码与类型
再验证:
if(RsLoginCheck.next())
{
switch(select)
{
case "一":
response.sendRedirect("1.html");
break;
case "二":
response.sendRedirect("2.html");
break;
case "三":
response.sendRedirect("3.html");
break;
case "四":
response.sendRedirect("4.html");
break;
}
}
else
{
out.print("用户名或密码错误!!!");
}
%>
结果出错了。
我再把switch语句换为:
if("一".equals(select))
{
response.sendRedirect("1.html");
}
else if("二".equals(select))
{
response.sendRedirect("2.html");
}
else if("三".equals(select))
{
response.sendRedirect("3.html");
}
else
{
response.sendRedirect("4.html");
}
还是出错了!
哪位大神帮帮我?都搞了好几天了!越详细越好。改一下我的关键代码,或者重写一个,急急急!
谢谢大家! 展开
<option value="一">1</option>
<option value="二">2</option>
<option value="三">3</option>
<option value="四">3</option>
我再建一个验证页action.jsp
String name = request.getParameter("name");
String password = request.getParameter("password");
用String select=(String)request.getParameter("select");获取选项值,
用String sql = "select * from 用户表 where 密码='"+ password + "' and 用户名='" + name +"' "; 获取Access数据库的用户名与密码
如果我只验证用户名、密码的话,可以成功
if(RsLoginCheck.next()) out.print("登录成功!!!");
但我想根据下拉选项的值与数据库的用户类型对比,如果一致则跳转到相应页面
于是我改为:
String sql = "select * from 用户表 where 密码='"+ password + "' and 用户名='" + name +"' and 用户类型='" + select +"'"; 获取Access数据库的用户名与密码与类型
再验证:
if(RsLoginCheck.next())
{
switch(select)
{
case "一":
response.sendRedirect("1.html");
break;
case "二":
response.sendRedirect("2.html");
break;
case "三":
response.sendRedirect("3.html");
break;
case "四":
response.sendRedirect("4.html");
break;
}
}
else
{
out.print("用户名或密码错误!!!");
}
%>
结果出错了。
我再把switch语句换为:
if("一".equals(select))
{
response.sendRedirect("1.html");
}
else if("二".equals(select))
{
response.sendRedirect("2.html");
}
else if("三".equals(select))
{
response.sendRedirect("3.html");
}
else
{
response.sendRedirect("4.html");
}
还是出错了!
哪位大神帮帮我?都搞了好几天了!越详细越好。改一下我的关键代码,或者重写一个,急急急!
谢谢大家! 展开
1个回答
展开全部
Page.Navigate("1.html");
用这试试,直接看上去没有问题的,有提示什麼错误信息了?
用这试试,直接看上去没有问题的,有提示什麼错误信息了?
更多追问追答
追问
我不是有个判断语句if(RsLoginCheck.next())吗?
下面还有
else
{
out.print("用户名或密码错误!!!");
}
我没验证下拉列表前能正常跳转,但验证下拉列表后,虽然用户名、密码、类型都正确,但只能显示用户名或密码错误!!!
因此我推测下拉列表的验证出问题了。能帮我改改吗?真的很急啊!
追答
if(RsLoginCheck.next())
{
增加System.out.println(select);
看一下是什麼值
switch(select)
{
case "一":
response.sendRedirect("1.html");
break;
case "二":
response.sendRedirect("2.html");
break;
case "三":
response.sendRedirect("3.html");
break;
case "四":
response.sendRedirect("4.html");
break;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询