-3

1つのページに複数のフォームがあり、フォームが送信されるとすべてが同じページにリダイレクトされますが、新しいフォームが送信されると、以前に送信されたフォームの値が表示されなくなります。

セッションを使ってみましたが、他に何がうまくいきませんでしたか?助けてください

<script language="javascript">

function row(x,y){

    //var len=document.forms[x].name.value;


    if(x.value.length >=3)
    {   
        //alert("Message form no> "+y+"will be submited");

        document.forms[y].submit();

    }

}
</script>
</head>

<body >
<center>
<h2>Database App</h2>
    <table>
    <tr>
     <th><lable>Name :</label></th>
    <th><label>E_Id :</label></th>
    <th><label>Email  :</label></th>
    <th><label>Other Info :</label></th></tr>
<tr>
<?php     
    error_reporting(E_ALL ^ E_NOTICE);  
    // code check for name in database and if exists,displays in table row

    //for($i=0;$i<150;$i++)
    //{
//$E_id=array();
        if($_POST){
            $i = $_GET["uid"];

       //echo "fhwefwej==".$i;
       $x='name'.$i;
      // echo 'dasvds'.$x;
        if($_POST[$x])
        {
            $name       =   strtolower($_POST[$x]);

            $E_id[$i]       =   "";
            $Email[$i]      =   "";
            $Otherinfo[$i]  =   "";
            $con    =   mysql_connect('localhost','root','') or die("npt");
            $db     =   mysql_select_db("trainee")or die("nptdff");
            $query  =   "Select * from reguser where fname like '".$_POST[$x]."%'";
            $result =   mysql_query($query);
            mysql_num_rows($result);
            if(mysql_num_rows($result)>0)
            {
                while($row=mysql_fetch_array($result))
                {
                    $str=$row['fname'];
                    $initials = strtolower(substr($str,0,3));

                    if($name == $initials)
                    {
                        //echo "exist"."<br>";
                        $E_id[$i]= $row['fname'];
                        $Email[$i]=$row['lastname'];
                        $Otherinfo[$i]=$row['address'];
                        break;
                    }
                }
            }
            else
            {
            $msg[$i] = "no user with these initials";
            }
            mysql_close($con);
        }


    }
    for($i=0;$i<150;$i++)
    {

   //session_start();
   //echo session_name($i)."<br>";
    echo "<form name='form$i' action='new2.php?uid=$i' method='post'>";
    echo "<td><input type='text' name='name$i' id='name$i' onkeyup='row(this,$i);'  /><br />";
    echo "<span id='availability_status' >";
    if($_POST[$x]){echo $msg[$i];}
    echo "</span> </td>";


    echo "<td><input type='text' name='E_id' id='E_id' value='";
    if(isset($_POST[$x])){ echo $E_id[$i];}
    echo "' disabled='disabled' />";
    echo "</td>";
    echo "<td><input type='text' name='email' id='email' value='$Email[$i]' disabled='disabled' />";
    echo "</td>";
    echo "<td><input type='text' name='otherinfo' id='otherinfo' value='$Otherinfo[$i]' disabled='disabled' />";
    echo "</td></tr>";
    echo " </form>";
    }
    //echo '<script language="javascript">document.getElementById(\'name0\').focus();</script>';


    ?>

    </table>
    </center>
    </body>
</html>
4

1 に答える 1

0

AJAX を使用してみませんか。バックエンドでさまざまなフォーム情報を提示し続けるのに役立ちます

これらの情報をデータベースまたはファイルに保存できます。

それが最善の方法になります。

于 2012-09-04T04:49:14.073 に答える