破釜沉舟论坛 » WEB 开发 » 麻烦各位高手大哥指点小妹!jsp实现系统登录时问题

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 21:38 祥子
[s:11]

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.