2012-11-28 58 views
0

以下代碼將驗證員工是否已申請發佈帖子。如果已應用,則重定向至「打印」頁面,否則將直接轉至「輸入頁面」。這個應用程序還有一個方面。那就是......員工也可以申請另一個低於他的幹部的員工。這由「LOGIN_AS」變量檢查。我面臨的問題是,如果我將條件「LOGIN_AS」置於if-else條件中,則允許員工爲自己填寫,即使他/她已經填寫了相同的條件。如果我刪除它,它將重定向到打印頁面,但不允許員工申請下級幹部員工。jsp頁面中的表單身份驗證不重定向

「LOGIN_AS」從進入頁面取

<% 
String appln= request.getParameter("appln"); 
int empid = Integer.parseInt(request.getParameter("empsrno")); 
String login_as = request.getParameter("login_as"); 
session.putValue("Login_as",login_as); 

java.sql.Statement stmt = conn.createStatement(); 
String sql = "SELECT E.SRNO,RTRIM(P.EMAIL_ID),E.NAME,TO_CHAR(SYSDATE,'DD/MM/YYYY'),DECODE(E.SRNO,I.SRNO,1,0),"+ 
      "(to_date('01-DEC-2012','dd/mm/yyyy')-trunc(sysdate)) ,"+ 
      "DECODE(I.SRNO,'',0,I.SRNO),E.CADRE,I.ITSG_TYP "+ 
      "FROM EMPFILE E,PFORM_EXCHANGE_USERS P,ONLINE_PFORM_ADMIN A,APPLN I "+ 
      "WHERE E.SRNO = P.EMPLOYEE_ID AND E.SRNO = A.EMPLOYEE_ID(+) AND E.SRNO=I.SRNO(+) "+ 
      "AND E.SRNO=" + request.getParameter("empsrno") +" AND I.APPLN_TYP(+)='APPLN3N12' "; 


ResultSet rset = stmt.executeQuery(sql); 
int x = 0; 
int lastDt; 
int itsg_eid = 0; 
String applnTyp = "X"; 

if (rset.next()) 
{ 
    if (request.getParameter("empemail").trim().toLowerCase().concat("@licindia.com").equals(rset.getString(2).toLowerCase())) 
     { 
     session.putValue("USER",request.getParameter("empsrno")); 
     session.putValue("LOGIN","true"); 
     session.putValue("ENAME",rset.getString(3)); 
     session.putValue("EMAIL",rset.getString(2)); 
     session.putValue("SYSDT",rset.getString(4)); 
     session.putValue("APPLNTYP",appln); 
     x = rset.getInt(5); 
     lastDt = rset.getInt(6); 
     appln_eid = rset.getInt(7);   
     applnTyp = rset.getString(9); 
     rset.close(); 
     stmt.close(); 
     conn.close(); 
     if (lastDt == 0) 
     { 
     %> 

     <jsp:forward page="appln_login.jsp"><jsp:param name="message" value="LAST DATE (16/11/2012) FOR SUBMISSION OF APPLICATION IS OVER !!!"/></jsp:forward> 

     <% 
     } 

      if (empid == appln_eid && (applnTyp.equals(itsg)) && login_as=="S") 
      { 
      session.putValue("PUSER",request.getParameter("empsrno")); 
      %> 
      <jsp:forward page="appln_print.jsp"></jsp:forward> 
      <% } else { 
      %> 
      <jsp:forward page="appln_entry.jsp"></jsp:forward> 
      <% } 



%> 

任何一個可以指導我在糾正上面的代碼....我的一個朋友

回答

0

哎得到糾正

更換如果(EMPID == appln_eid & &(applnTyp.equals(申請)& & login_as == 「S」)

通過

如果(EMPID == appln_eid & &(applnTyp.equals(申請))& & login_as.equals( 「S」))

相關問題