| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1671 人关注过本帖
标题:大家帮我看看哪不对了,为什么不输出结果呢?
只看楼主 加入收藏
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
结帖率:87.5%
收藏
 问题点数:0 回复次数:10 
大家帮我看看哪不对了,为什么不输出结果呢?
写了一个简单的身份验证,可是我无论输什么,他都输出"123", 大家帮我看看这是怎么回事?
<%@ page contentType="text/html; charset=gbk" language="java" errorPage="" %>
<%@page import ="java.sql.Connection" %>
<%@page import ="java.sql.DriverManager" %>
<%@page import ="java.sql.SQLException" %>
<%@page import ="java.sql.Statement" %>
<%@page import ="java.sql.ResultSet" %>

<%!
String usrName,usrPassword;
boolean loginAttempt = false;
%>
<%
if(request.getParameter("name") != null && request.getParameter("passwd")!=null)
{
loginAttempt=true;
}
if(!loginAttempt)
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test","sa","sa");
if(!conn.isClosed())
{
out.println("成功连接");

usrName=request.getParameter("name");
usrPassword=request.getParameter("passwd");
String sql="SELECT * FROM test WHERE name='"+usrName+"'";
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs=stmt.executeQuery(sql);
if(rs.next())
{
if(usrPassword.equals(rs.getString("passwd")))
out.println("ok");
else
out.println("no");
}
rs.close();
stmt.close();
}
conn.close();
}
else
out.println("123");
%>
<html>
<body>
<form action="#" />
<input type="text" name="name"/>
<input type="text" name="passwd"/>
<input type="submit" value="确定"/>
<input type="reset" value="撤销"/>
</form>
</body>
</html>
搜索更多相关主题的帖子: 结果 输出 
2007-12-01 14:18
hnzz_wgf
Rank: 1
等 级:新手上路
帖 子:81
专家分:0
注 册:2007-11-21
收藏
得分:0 
支持一下
2007-12-01 14:31
guoxhvip
Rank: 8Rank: 8
来 自:聖西羅南看臺
等 级:贵宾
威 望:44
帖 子:4052
专家分:135
注 册:2006-10-8
收藏
得分:0 
if(request.getParameter("name") != null && request.getParameter("passwd")!=null)
{
   loginAttempt=true;
}
if(!loginAttempt)
你只要输入了东西那不管输什么request.getParameter("name") 和 request.getParameter("passwd")都不等于 null 那么你的  loginAttempt就等于true,然后你下面的判断
!loginAttempt才执行你连接数据库的代码 你的loginAttempt已经等于true了 非真即为假 所以不管你输入什么都执行else输出123

[[italic] 本帖最后由 guoxhvip 于 2007-12-1 15:43 编辑 [/italic]]

愛生活 && 愛編程
2007-12-01 15:41
hardes
Rank: 1
等 级:新手上路
帖 子:322
专家分:0
注 册:2006-6-3
收藏
得分:0 
我抗不住了,你杀了我吧!求你了!!!

当神已无能为力,就让爷来普度众生吧!
2007-12-01 15:55
glamey
Rank: 2
等 级:论坛游民
威 望:1
帖 子:57
专家分:17
注 册:2006-5-31
收藏
得分:0 
hardes  你是那个??

锲而不舍。自信自强。
2007-12-01 16:20
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
收藏
得分:0 
嗯,有道理,可是如果把它 if ( ! loginAttempt ) 改成 if ( loginAttempt ) ,数据库又连不上了

呵呵,登录验证我做好了!
不过我想知道这个到底为什么不行?那我到底怎么改?
2007-12-01 16:28
guoxhvip
Rank: 8Rank: 8
来 自:聖西羅南看臺
等 级:贵宾
威 望:44
帖 子:4052
专家分:135
注 册:2006-10-8
收藏
得分:0 
你不是都改好了吗 当你loginAttempt 为true时 !loginAttempt就为false
if(条件为false)肯定就不执行啦

愛生活 && 愛編程
2007-12-01 18:01
hardes
Rank: 1
等 级:新手上路
帖 子:322
专家分:0
注 册:2006-6-3
收藏
得分:0 
原帖由 [bold][underline]glamey[/underline][/bold] 于 2007-12-1 16:20 发表 [url=http://bbs.][/url]
hardes  你是那个??


怎么这么问,呵呵!!

当神已无能为力,就让爷来普度众生吧!
2007-12-02 00:08
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
收藏
得分:0 
原帖由 [bold][underline]guoxhvip[/underline][/bold] 于 2007-12-1 18:01 发表 [url=http://bbs.][/url]
你不是都改好了吗 当你loginAttempt 为true时 !loginAttempt就为false
if(条件为false)肯定就不执行啦




嗯,明白了,谢谢你的回复!
另,有谁可以给我说下:怎么把MyEclipse里的WEB-INF下的classes文件显示出来?我很想知道怎么做,3天了,这个问题还没解决!
2007-12-02 12:15
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
收藏
得分:0 
问题解决了!我会了
2007-12-03 10:04
快速回复:大家帮我看看哪不对了,为什么不输出结果呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017522 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved