2014-05-23 2 views
0

다음 암호 변경 코드가 성공적으로 실행되지만 페이지에 "암호 변경 실패"메시지가 이미 표시됩니다. 암호를 재설정하면 암호가 변경됩니다. 나도 숨겨진 라벨을 사용하려했지만 여전히 효과가 없습니다. 페이지를로드 할 때 때문에jsp에서로드시 암호 변경 메시지가 나타납니다

<form class="f1"> 
     <p class="a"> 
      <input type="text" name="oldpass" placeholder="Password"> 
      </p> 
     <p class="a"> 
      <input type="password" name="newpwd" placeholder="New Password"> 
      </p> 
      <p class="a"> 
      <input type="password" name="cnfrmpwd" placeholder="Confirm Password"> 
      </p> 
      <br> 
      <input type="submit" name="submit" value="RESET"> 

<% 
      String olpass=request.getParameter("oldpass"); 
      String newpass=request.getParameter("newpwd"); 
      String conpass=request.getParameter("cnfrmpwd"); 
      Connection con; 
      ResultSet rs=null; 
      try{ 
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
      con = DriverManager.getConnection("jdbc:odbc:D"); 
      PreparedStatement ps=con.prepareStatement("select * from AOI.dbo.Login where Password='"+olpass+"'"); 
      rs=ps.executeQuery(); 
      while(rs.next()){ 
      i=rs.getString(1); 
      pas=rs.getString(2);} 

      if(pas.equals(olpass)){ 
    PreparedStatement ps1=con.prepareStatement("update AOI.dbo.Login set Password='"+newpass+"' where Username='"+i+"'"); 
      int i1=ps1.executeUpdate();%> 
     <p class="reset">Password has been Reset</p> 
      <% } else {%> 
     <p class="reset">Password change failed. Try again!</p> 
      <% } 
      }catch(Exception e){ 
      out.println(e); 
      } 
       %> 
+0

Java Beans를 사용하여 위의 작업을 수행하려면 어떻게해야합니까 ?? – user2899393

답변

0
  • 당신은 점점 "암호를 변경하지 못했습니다." else 부분은 메시지를 받기 위해 실행됩니다.

  • 처음으로 페이지를로드 할 때 요청에 데이터가 들어 있지 않습니다. 따라서 olpass은 null입니다. pas이 있습니다.이 문자열은 String pass="";과 같이 빈 문자열로 초기화 될 수 있습니다. 따라서 ""는 null과 같지 않으므로 else 부분은 무시됩니다.

솔루션 : 널 (null)에 대한

  • 확인 널 (null)과 암호 일치를 확인하기 위해 아래처럼 그래서 당신은 코드를 변경할 수 암호 확인
  • 을 수행하기 전에

if(olpass!=null&&newpass!=null&&pas.equals(olpass)) { //your code} else if(olpass!=null||newpass!=null|``(olpass!=null&&newpass!=null&&!pas.equals(olpass))) {//your code}

+0

감사합니다. if (olpass! = null) {code}를 추가했을 때 작동했습니다. 다른 매개 변수를 확인하지 않아도됩니다. – user2899393

+0

좋습니다. 모든 매개 변수를 확인하는 것은 유효성 검사와 같습니다. 선택 사항입니다. – mahesh

관련 문제