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

Php 表单上可检索文本框的限制?,php,sql,Php,Sql,我有一个PHP文件,它的表单应该向PHP文件发送1060个条目(从1060个文本框) 然后将它们添加到数据库中。但是从第711个文本框到第1060个文本框, 它不检索任何内容,并向我发送Undefined indexSQL错误。 1060文本框基本上具有相同的代码,只是一些数字有所更改可以检索的文本框数量是否有限制?如果有限制,有没有办法增加?(我正在使用WAMP/我没有使用GET方法,只使用POST) 1060文本框代码的部分此代码在同一页上重复了1060次,只更改了数字(db1、db2等)。

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

1060文本框代码的部分此代码在同一页上重复了1060次,只更改了数字(db1、db2等)。它也在表单(
)中,有一个
提交
按钮,基本完成。

<?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>";
    }
?>
<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>

缺少源代码的重要部分,因此我只能猜测

I您正在使用这些1000多个输入框执行
GET
,您可能会使用最大url长度。 一些防火墙、代理服务器和Web服务器将url限制为1024字节

表单应该执行
POST
,然后数据在主体中传输,并且仅受PHP中的最大POST大小的限制

您的代码包含SQL注入。使用参数,而不是动态创建SQL

PHP人员引入了哈希冲突bug的限制

max_input_vars

可能这里也会出现这种情况。

我并没有看到您的表单标记,但若您使用GET方法,那个么您应该知道GET方法的局限性,因为示例代码的全部都在表单中,所以我可以检索文本框1到710。我没有使用任何
GET
命令,只使用示例PHP代码中所示的
POST
。但是如果
GET
函数有它的限制,那么可能
POST
也有它的限制。是否有办法配置WAMP服务器以增加其限制?您的第一部分缺少表单标记。那太糟糕了。在第二个脚本中,您应该使用var_dump($_POST)查看请求中的内容。我建议使用参数化的预处理语句,而不是将sql语句与未初始化的用户输入连接起来。单引号将打破这一点。您的第一部分对每个文本框也使用相同的名称。这段代码似乎与您实际使用的代码相去甚远。首先,在我的问题的第一版中是否说它只是代码的一部分;我不能发布我的全部代码,因为到目前为止,它有超过50K行代码(大部分由重复的代码组成,它们之间的差异最小,但它们本身对系统来说是必不可少的)。其次,如果我没有使用一个模块,为什么我会撒谎并发布一个我想要修复的模块。这就是SO的问题所在,由于技术问题,初级程序员被否决票击倒,而不是以正确的方式引导他们/回答问题。我已经了解到了这一点,并使用Wamp图标修改了我的php.ini,增加了以下代码
max_post_size
max_input_vars
;但这仍然不能解决问题。在windows上,您通常需要重新启动服务。你是为Web服务器做的吗?我重新启动了WAMP服务;没有修好它。重启电脑解决了这个问题。增加
max\u input\u vars
post\u max\u size
,&
内存限制
解决了这个问题。感谢您为我提供了正确的想法/解决方案。