0

jsp プロジェクトに問題があります。フォームを送信するたびに、データがデータベースに挿入され、自動生成されたユーザー ID とパスワードがユーザーに表示されます。しかし、更新ボタンをクリックすると、同じデータが新しいユーザーIDとパスワードで再送信されます。フォームと挿入のコードは次のとおりです。

stinsrt.jsp

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>STUDENT REGISTRATION</title>
         <%@ include file="connect.jsp" %>
         <script>
    window.history.forward();
    </script>
    <script language="javascript">

</script>


    </head>
            <center><img border="0" src="Student Info Systems.jpg" alt="Pulpit rock" width="304" height="228" /></center>
    <body>
        <%@ page language="java" import="java.sql.* , java.io.*" %>   
          <%! String str1,str2,str3,str4,str5,str6,str7,str8,str10,sid,tsid,date,month,year,day;
          int max;%>
        <% 

        try
        {

        str1=request.getParameter("fname");
        str2=request.getParameter("lname");
        str3=request.getParameter("faname");
        str5=request.getParameter("phno");
        str6=request.getParameter("email");
        str7=request.getParameter("gend");

        month=request.getParameter("DateOfBirth_Month");
        day=request.getParameter("DateOfBirth_Day");
        year=request.getParameter("DateOfBirth_Year");
        int str9=Integer.parseInt(request.getParameter("Department"));
        str10=request.getParameter("add");
        str8=day+"-"+month+"-"+year;

        //out.println(str1+"-"+str2+"-"+str3+"-"+str5+"-"+str6+"-"+str7+"-"+str8+"-"+str9+"-"+str10);
        if(str1.length()!=0&&str2.length()!=0&&str3.length()!=0
            &&str6.length()!=0&&str7.length()!=0&&str8.length()!=0&&str10.length()!=0)  
            {
            Statement st=con.createStatement();
            ResultSet rs=st.executeQuery("select max(id) from student");
            if(rs.next())
                sid=rs.getString(1);
            if(sid==null)
                sid="S100";
            tsid=sid.substring(1,sid.length());
            max=Integer.parseInt(tsid);
            max++;
            sid="S"+max;




            PreparedStatement pst=con.prepareStatement("INSERT INTO student values(?,?,?,?,?,?,?,?,?,?)");
            pst.setString(1,sid);
            pst.setString(2,str1);
            pst.setString(3,str2);
            pst.setString(4,str3);
            pst.setString(5,str5);
            pst.setString(6,str6);
            pst.setString(7,str7);
            pst.setString(8,str8);
            pst.setInt(9,str9);
            pst.setString(10,str10);
            int k=pst.executeUpdate();

            %>
            <b><h2><center>Student Registration Successful...</center></h2></b>
            <h2> Student Id is  <% out.println(sid);%> </h2>
            <h3> Default Password is
            <% 
            String str="";
            for(int i=0;i<=8;i++)
            {
            str=str+(char)((int)'A'+Math.random()*((int)'Z'-(int)'A'+1));
            }
            out.println(str);
            PreparedStatement dst=con.prepareStatement("INSERT INTO LOGIN(USER_ID,PASSWORD,ROLE,COUNT) VALUES(?,?,?,?)");
            dst.setString(1,sid);
            dst.setString(2,str);
            dst.setString(3,"STUDENT");
            dst.setInt(4,0);
            dst.executeUpdate();
            %>
            <br>
            <a href="adminhome.html">Back</a>
        <% pst.close();
            con.close(); }
            else
            {
            out.println("<b>Incomplete Student Information</b>");
            }

        }
        catch(Exception e)
        {
        out.println("Error:"+e);
        }%>

    </body>
</html>

学生登録フォーム

<html>
    <head>
    <title>Student Registration</title>
    <script>
    window.history.forward();
    </script>

    <script>

            function validate()
            {
            formObj=document.f;
            for(var i=0;i<formObj.length;i++)
            {
            if(formObj.elements[i].value==""||formObj.elements[i].value=="Invalid")
            {
            alert("All fields must be completed with valid inormation for submission");
            formObj.elements[i].focus();
            return false;
            }
            }
       //Name
       var fname=document.f.Firstname;
       var nameexp=/[^a-zA-Z]$/;
     res=nameexp.test(fname.value);
     //alert(res);
       if(res)
       {
       alert("Enter Alphabets only for First Name");
       fname.select();
       return false;
       }

       var lname=document.f.Lastname;
       res=nameexp.test(lname.value);
       //alert(res);
       if(res)
       {
       alert("Enter Alphabets only for Last Name");
       lname.select();
       return false;
       }  

    //Address
                   var Address=document.f.Address.value;
                   var addxp=/[^a-zA-Z0-9]$/;
                  // alert(addxp.test(address));
                   if(addxp.test(address))
                   {
                   alert("check address");
                   return false;
                   }




               var mexp=/^(7|8|9)\d{9}$/;
               res=mexp.test(phoneno);
               if(!res)
               {
               alert("phoneno must start with 7,8 or 9");
               return false;
               }
                   //email ID
                   var emailid=document.f.emailid.value;
               var mailxp=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
               if(!mailxp.test(emailid))
               {
               alert("check emailid");
               return false;
               }
                   }

    </script>                   







</head>
            <center><img border="0" src="Student Info Systems.jpg" alt="Pulpit rock" width="304" height="228" /></center><body  text="blue">
        <form action="stinsrt.jsp" method="post" name="f" onSubmit="return validate();">
        <center><h2>STUDENT REGISTRATION</h2>
        <pre>
        <table width="50%">
        <tr><td> Firstname:</td><td><input type="text" name="fname" size="15"/></td></tr>
        <tr><td> Lastname:</td><td><input type="text" name="lname" size="15"/></td></tr>
        <tr><td> Guardian/Parent Name:</td><td><input type="text" name="faname" size="15"/></td></tr>
        <tr><td>D.O.B:</td><td><select name="DateOfBirth_Month">

<option> - Month - </option>

<option value="Jan">Jan</option>

<option value="Feb">Feb</option>

<option value="Mar">Mar</option>

<option value="Apr">Apr</option>

<option value="May">May</option>

<option value="Jun">Jun</option>

<option value="Jul">Jul</option>

<option value="Aug">Aug</option>

<option value="Sep">Sep</option>

<option value="Oct">Oct</option>

<option value="Nov">Nov</option>

<option value="Dec">Dec</option>

</select>

<select name="DateOfBirth_Day">

<option> - Day - </option>

<option value="1">1</option>

<option value="2">2</option>

<option value="3">3</option>

<option value="4">4</option>

<option value="5">5</option>

<option value="6">6</option>

<option value="7">7</option>

<option value="8">8</option>

<option value="9">9</option>

<option value="10">10</option>

<option value="11">11</option>

<option value="12">12</option>

<option value="13">13</option>

<option value="14">14</option>

<option value="15">15</option>

<option value="16">16</option>

<option value="17">17</option>

<option value="18">18</option>

<option value="19">19</option>

<option value="20">20</option>

<option value="21">21</option>

<option value="22">22</option>

<option value="23">23</option>

<option value="24">24</option>

<option value="25">25</option>

<option value="26">26</option>

<option value="27">27</option>

<option value="28">28</option>

<option value="29">29</option>

<option value="30">30</option>

<option value="31">31</option>

</select>



<select name="DateOfBirth_Year">

<option> - Year - </option>

<option value="04">2004</option>

<option value="03">2003</option>

<option value="02">2002</option>

<option value="01">2001</option>

<option value="00">2000</option>

<option value="99">1999</option>

<option value="98">1998</option>

<option value="97">1997</option>

<option value="96">1996</option>

<option value="95">1995</option>

<option value="94">1994</option>

<option value="93">1993</option>

<option value="92">1992</option>

<option value="91">1991</option>

<option value="90">1990</option>

<option value="89">1989</option>

<option value="88">1988</option>

<option value="87">1987</option>

<option value="86">1986</option>

<option value="84">1984</option>

<option value="83">1983</option>

<option value="82">1982</option>

<option value="81">1981</option>

<option value="80">1980</option>

<option value="79">1979</option>

<option value="78">1978</option>

<option value="77">1977</option>

<option value="76">1976</option>

<option value="75">1975</option>

<option value="74">1974</option>

<option value="73">1973</option>

<option value="72">1972</option>

<option value="71">1971</option>

<option value="70">1970</option>

<option value="69">1969</option>

<option value="68">1968</option>

<option value="67">1967</option>

<option value="66">1966</option>

<option value="65">1965</option>

<option value="64">1964</option>

<option value="63">1963</option>

<option value="62">1962</option>

<option value="61">1961</option>

<option value="60">1960</option>

<option value="59">1959</option>

<option value="58">1958</option>

<option value="57">1957</option>

<option value="56">1956</option>

<option value="55">1955</option>

<option value="54">1954</option>

<option value="53">1953</option>

<option value="52">1952</option>

<option value="51">1951</option>

<option value="50">1950</option>

<option value="49">1949</option>

<option value="48">1948</option>

<option value="47">1947</option>

<option value="46">1946</option>

<option value="45">1945</option>

<option value="44">1944</option>

<option value="43">1943</option>

<option value="42">1942</option>

<option value="41">1941</option>

<option value="40">1940</option>

<option value="39">1939</option>

<option value="38">1938</option>

<option value="37">1937</option>

<option value="36">1936</option>

<option value="35">1935</option>

<option value="34">1934</option>

<option value="33">1933</option>

<option value="32">1932</option>

<option value="31">1931</option>

<option value="30">1930</option>

<option value="29">1929</option>

<option value="28">1928</option>

<option value="27">1927</option>

<option value="26">1926</option>

<option value="25">1925</option>

<option value="24">1924</option>

<option value="23">1923</option>

<option value="22">1922</option>

<option value="21">1921</option>

<option value="20">1920</option>

<option value="19">1919</option>

<option value="18">1918</option>

<option value="17">1917</option>

<option value="16">1916</option>

<option value="15">1915</option>

<option value="14">1914</option>

<option value="13">1913</option>

<option value="12">1912</option>

<option value="11">1911</option>

<option value="10">1910</option>

<option value="09">1909</option>

<option value="08">1908</option>

<option value="07">1907</option>

<option value="06">1906</option>

<option value="05">1905</option>

<option value="04">1904</option>

<option value="03">1903</option>

<option value="02">1902</option>

<option value="01">1901</option>

<option value="00">1900</option>

</select></td></tr></tr>
        <tr><td>Gender:</td><td><input type="radio" name="gend" value="male"/>Male  <input type="radio" name="gend" value="female"/>Female</td></tr>
        <tr><td>Phone no:</td><td><input type="text" name="phno" size="15"/></td></tr>
        <tr><td>email ID:</td><td><input type="text" name="email" size="15"></td></tr>
        <tr><td>Department:</td><td><select name="Department" >
                            <option value="1">CSE</option>
                            <option value="2">ECE</option>
                            <option value="3">EEE</option>
                            <option value="4">MECH</option>
                            <option value="5">MBA</option>
                            </select></td></tr></td></tr>
        <tr><td>Address:</td><td><textarea name="add" rows="4" cols="20"  ></textarea></td></tr>



        <tr><td><input type="submit" name="sub" value="submit">
        <input type="button" name="cancel" value="Cancel" onclick="window.location.replace('adminhome.html')"></td></t>
        </table>
        </pre>
        </form>
    </body>
</html>

助けてください。ありがとうございました。

4

1 に答える 1

0

データを挿入した「後」に、ループしてフォーム オブジェクト フィールドからデータをクリアします。ユーザーが返されたページに何を挿入したかを知る必要がある場合は、フォームではなく HTML の通常のテキスト要素を使用して書き込むか、少なくともフォーム タグからフォーム リクエスト URL を削除します。

于 2013-07-29T04:21:54.787 に答える