
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<jsp:useBean id="login" class="a1.Login" scope="session" >
</jsp:useBean>
<% //如果客户直接进入该页面将被转向登录页面。
   if(session.isNew())
    {response.sendRedirect("userLogin.jsp"); 
    }
   //如果没有成功登录将被转向登录页面
   String success=login.getSuccess();
         if(success==null)
         {success="";
         } 
   if(!(success.equals("ok")))
     {response.sendRedirect("userLogin.jsp"); 
     }
%>
<HTML>
<BODY  bgcolor=pink ><Font size=1>
<%@ include file="head.jsp" %>
<P>修改密码,密码长度不能超过30个字符：
<%String str=response.encodeURL("modifyPassword.jsp");
%>
<FORM action="<%=str%>" Method="post">
<BR>输入您的用户名：
<BR><Input type=text name="logname" value="<%=login.getLogname()%>" >
<BR>输入您的密码：
<BR><Input type=password name="password">
<BR>输入您的新的密码：
<BR><Input type=text name="newPassword1">
<BR>请再输入一次新密码：
<BR><Input type=text name="newPassword2">
<BR><Input type=submit name="g" value="提交">
</FORM>
<%!//处理字符串的一个常用方法：
    public String getString(String s)
     { if(s==null) s="";
       try {byte a[]=s.getBytes("ISO-8859-1");
            s=new String(a);
           }
       catch(Exception e)
           {  }
       return s;
     }
 %>
<% 
    String logname=request.getParameter("logname"); //获取提交的用户名。
           logname=getString(logname);
    String password=request.getParameter("password"); //获取提交的密码。
           password=getString(password);
    String newPassword1=request.getParameter("newPassword1"); //获取提交的新密码1。
           newPassword1=getString(newPassword1);
    String newPassword2=request.getParameter("newPassword2"); //获取提交的新密码2。
       newPassword2=getString(newPassword2);
     try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       }
     catch(ClassNotFoundException event){}
    //验证身份：
    Connection con=null;
    Statement sql=null;
    boolean modify=false;
    boolean ifEquals=false;
         ifEquals=(newPassword1.equals(newPassword2))&&(newPassword1.length()<=30);
    if(ifEquals==true)
        {  try{ con=DriverManager.getConnection("jdbc:odbc:shop","","");
                sql=con.createStatement();
                boolean bo1=logname.equals(login.getLogname()),
                      bo2=password.equals(login.getPassword());
                if(bo1&&bo2)
                    {//修改密码：
                     modify=true;
                     out.print("您的密码已经更新");
                     String c="UPDATE user SET password = "+"'"+newPassword1+"'"+
                     " WHERE logname = "+"'"+logname+"'";
                     sql.executeUpdate(c);
                    }
                con.close();
               }
             catch(SQLException e1) {}
        } 
    else 
       { out.print("你两次输入的密码不一致或长度过大");
       }
    if(modify==false&&ifEquals==true)
 { out.print("<BR>您没有输入密码帐号或<BR>您输入的帐号或密码不正确"+logname+":"+password);
 }
%>
</FONT> 
</BODY>
</HTML>