
2006-6-1 17:15
zzsherly
麻烦各位高手大哥指点小妹!jsp实现系统登录时问题
我写了一个管理员登录系统的代码,输入用户名和密码提交时总提示:"您输入用户名或者密码不正确!请重新输入!",我输入的用户名或密码在数据库中有记录,应该是可以登录的,怀疑是不是字符集的问题,麻烦各位高手大哥指点,不甚感激!
下面是登录系统的jsp代码:
<%@page contentType="text/html;charset=gb2312"%>
<%@ include file="../incoming/common.jsp"%>
<%@ include file="../incoming/connectdb.jsp"%>--用来连接到数据库(曾调用多次无问题)
<%
String errmsg = request.getParameter("errmsg");
request.getSession(true);
String chk = "false";
session.putValue("Enter",chk);
%>
<html>
<head>
<title>管理员登录</title>
<body bgcolor="#FFFFFF">
<script language="JavaScript">
<!--
function checkdata() {
if( form.userid.value.length<1 || form.userid.value.length>15 ) {
alert("\请输入正确的用户名 !")
return false;
}
if( form.password.value.length<1 || form.password.value.length>15 ) {
alert("\请输入正确的登录密码 !")
return false;
}
}
-->
</script>
<form action = chklogin.jsp name="form" method="post" onSubmit="return checkdata()">
<table width="350" height="151" border="0" align="center" cellpadding="0" cellspacing="0">
<tr bgcolor="#6699CC">
<td width="20%" height="28"> </td>
<td width="49%" align="center" ><font size="2">管理员登录</font></td>
<td width="31%"> </td>
</tr>
<tr bgcolor="#6699CC">
<td height="26" align="right"><font size="2" class="depfont"> 用户名: </font></td>
<td> <input name="userid" type="text" id="userid"></td>
<td rowspan="2"><input type="submit" name="Submit" value="登 录" ></td>
</tr>
<tr bgcolor="#6699CC">
<td height="26" align="right"><font size="2">密 码:</font></td>
<td> <input name="password" type="password" id="password"></td>
</tr>
<tr bgcolor="#6699CC" class="depfont">
<td height="31" colspan="3" align="center"><font size="2" color="#CC3333">
<%
if(errmsg != null && errmsg.equals("error1"))
out.print("您输入用户名或者密码不正确!请重新输入!");
else if(errmsg != null && errmsg.equals("error2"))
out.print("请先登陆!");
%>
</font></td>
</tr>
</table>
</form>
</body>
</html>
其中chklogin.jsp代码如下:
<%@page contentType="text/html;charset=GBK"%>
<%@ include file="../incoming/common.jsp"%>
<%@ include file="../incoming/connectdb.jsp"%>
<%
String userid = request.getParameter("userid");
String userpassword = request.getParameter("userpassword");
sql = "SELECT * FROM jsp_userpassword WHERE USER_ID='"+userid+"' AND USER_PASSWORD='"+userpassword+"'";
rs = stmt.executeQuery(sql);
if (!rs.next())
{
String errmsg="error1";
response.sendRedirect("login.jsp?errmsg="+errmsg);
return;
}
request.getSession(true);
String chk="true";
session.putValue("Enter",chk);
session.putValue("username",rs.getString("USER_NAME"));
response.sendRedirect("policymain.jsp");
%>
第一次发帖,很罗嗦,望见谅!
2006-6-1 18:00
xiaocao-x
要检测是不是字符集的问题很简单,只要你的用户名和密码当中全是英文字符,那就应该不存在字符集的问题了。如果再出现问题的话,那就是你的程序有别的问题。
2006-6-2 10:48
zzsherly
谢谢1楼高手大哥!
我是用的英文字符,照理来说应该是不存在字符集问题,但是我找不到其他原因,输入的用户名和密码在数据库表中存在记录:
SELECT * FROM jsp_userpassword WHERE USER='"+userid+"' AND USER_PASSWORD='"+userpassword+"'"
找到记录后应该转到policymain.jsp
可是我在登录时总是提示不正确,重新输入
不知道问题出在哪里?麻烦指点^_^ [s:4]
2006-6-2 17:18
祥子
String userpassword = request.getParameter("userpassword");
<td height="26" align="right"><font size="2">密 码:</font></td>
<td> <input name="password" type="password" id="password"></td>
两个参数的名字不一样
2006-6-4 21:37
xiaocao-x
祥子看的真仔细,我还真没看出来。 [s:15]
2006-6-4 23:36
xliang
[s:11]
2006-6-12 10:36
zzsherly
非常谢谢各位,果然是参数不对,改了以后可以了 [s:1]
小妹因刚接触JSP,一般都是看书按书上案例自己改编代码,有些东西不怎么理解,小细节方面问题发现不了,
不知道我这种学习方法可不可行?能不能给我点建议?万分感激!!
页:
[1]
Powered by Discuz! Archiver 5.5.0
© 2001-2006 Comsenz Inc.