限制表单上的可检索文本框?

时间:2014-09-04 06:10:05

标签: php sql

我有一个PHP文件,它有一个表格应该发送1060个条目(从1060个文本框)到PHP文件 然后将它们添加到数据库中。但是从第711个文本框到第1060个, 它没有检索任何内容并向我发送Undefined index SQL错误。 除了一些数字被更改之外,1060个文本框基本上具有相同的代码。 是否可以检索的文本框数量有限制?如果有限制,有没有办法增加它? (我正在使用WAMP /我没有使用GET方法,仅使用POST

1060个文本框代码的

部分 此代码在同一页面上重复1,060次,仅更改数字(db1,db2等)它是也在表单(<form></form>)内,有一个SUBMIT按钮,基本上已完成。

<?php
    $username=$_SESSION['username'];            
    echo "  <script type=text/javascript>
    var hidden = false;
    function actiondb143() {    
        if(!hidden) {   
            document.getElementById('clickdb143').style.visibility = 'visible'; 
            document.getElementById('db143').style.visibility = 'visible';  
            document.getElementById('db143').value = value='".$username."';         
        }                                   
    }                                       
    </script>   
    ";
    echo "</head>";
    echo "<body>";
    $country="Philippines";
    $curdate=$_SESSION["curdate"];
    $checker=mysqli_fetch_array(mysqli_query($con, "SELECT colDoneBy FROM tblChecklist WHERE colEntryID='143' AND colDate='$curdate' AND colCountry='$country'"));
    if($checker[0] != NULL){
        $result=mysqli_query($con,"SELECT * from tblChecklist WHERE colEntryID='143' AND colDate='$curdate'");
        while($row=mysqli_fetch_array($result))
        {
            echo "<center><table border=0 width=100><font face=arial>";             
            echo "<td width=100 bgcolor=#844BA13>";
            echo "<input type=text name=db143 value=".$row["colDoneBy"]." size=12 readonly>";
            echo "</td>";
            echo "</font></table></center>";                        
        }       
    }
    else {
        echo "<table border=0 width=100><font face=arial>";
        echo "<td width=100 bgcolor=#C44448>";
        echo "<div class=buttonasglobal><input type=button value='   VERIFY   'name=clickdb143 onClick='actiondb143()'; style=\"left:100;\"></div>";
        echo "<div class=textasglobal><input type=text name=db143 style=\"visibility:hidden; width:80px;\" readonly>";
        echo "</td>";
        echo "</font></table>";
    }
?>

部件 在数据库中添加数据的PHP代码( 再次,重复1,060次,仅按数字更改)

<html>
 <head>
    <title>Jobsheets+</title>
        <script type=text/javascript>
        function getDate(){
            document.getElementById('curdate').value =new Date().toLocaleDateString();
        }

    </script>
    </head>
    <body onLoad = 'getDate();' background="bgimage.jpg">
        <?php
            session_start();            
            $con=mysqli_connect("localhost","root","","dbjobsheets");
            if (mysqli_connect_errno($con))
            {
                echo "Failed to connect to MySQL " . mysqli_connect_error();
            }           
            $curdate=$_SESSION["curdate"];      
            mysqli_query($con,"UPDATE tblChecklist SET colActualStart='$_POST[as143]', colActualEnd='$_POST[ad143]', colRemarks='$_POST[jr143]', colDoneBy='$_POST[db143]', colCheckedBy='$_POST[cb143]' WHERE colEntryID='143' AND colDate='$curdate'");
            mysqli_close($con);
        ?>
    </body>
</html>

1 个答案:

答案 0 :(得分:1)

您的来源的重要部分缺失,所以我只能猜测。

我正在使用那些1000多个输入框进行GET我可能会爆炸然后最大值。网址长度。 某些防火墙,代理服务器和Web服务器将网址限制为1024字节。

您的表单应该执行POST,然后数据ins在正文中传输,并且仅受PHP中的max_post_size限制。

您的代码包含SQL-INJECTION。使用参数而不是动态创建SQL。

PHP人员引入了哈希冲突错误的限制。

max_input_vars

也许这也会在这里播放。