问题描述
- 关于jsp用户注册名是否重复的问题
-
看看下面这段代码哪里出问题了
<%
String user = request.getParameter("user");
if (user != null) {
user = new String(user.getBytes("iso-8859-1"),"utf-8");}
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.
getConnection("jdbc:mysql://localhost:3306/db_database", "root", "root");
Statement stmt = conn.createStatement();String sql = "select count(*) from tbl_users where username='"+user+"'"; ResultSet rs = stmt.executeQuery(sql); if(rs.next()){ out.println("很抱歉,该用户名已经被注册!"); }else{ out.println("恭喜您,该用户名没有被注册!"); //输出检测结果 } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }
%>
首先接受注册页面文本框的内容“user”,看看和数据库里面的已存在的用户名是否是相同,如果相同则证明,用户输入的名字已经注册过了。则弹出信息。但是,信息弹不出来。
解决方案
确认下你得到的user的值是否是乱码呢?
解决方案二:
楼上的说的对,看看你得到的值是否是乱码,这只是一种情况!
对于这个问题,我们都是使用Ajax进行异步交互,使用起来很方便,而且效果很好。。。
但是有个问题就是Ajax进行传值的时候很容易出错,代码错一点,就不出来效果了。。。我怀疑你页面的代码写错了,所以导致值不能正常传递过去,在页面显示。。。。
一般,我们都是使用jquery-validation-1.11.1这个插件的,因为它内部给我们做好了特效,有很多验证的,比如说非空验证,密码一致性验证,邮箱格式验证,电话号码验证等等一系列验证,很好使,建议你去下载一个试试。。。
时间: 2024-08-26 17:58:41