Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用POST在PHP页面之间传输数据的问题_Php_Html_Iis_Post - Fatal编程技术网

使用POST在PHP页面之间传输数据的问题

使用POST在PHP页面之间传输数据的问题,php,html,iis,post,Php,Html,Iis,Post,我在PHP中使用POST在页面之间传输值时遇到问题。我在页面底部使用一个隐藏字段来说明页面上有多少项(学生行)。我还有一个过滤器选项,可以减少页面上可见的项目数量。当我从过滤页面提交数据时,所有值(包括隐藏值)都会顺利通过。当我在未过滤页面的情况下提交数据时,隐藏值无法通过(因此我的数据收集不会发生) 关键是,这不会发生在我基于Apache的测试环境中,只有当我将其移动到基于IIS的生产环境中时才会发生 这是初始页面的屏幕截图(出于隐私原因,实际数据已被删除),其中显示了输入。共有12行,每行3

我在PHP中使用POST在页面之间传输值时遇到问题。我在页面底部使用一个隐藏字段来说明页面上有多少项(学生行)。我还有一个过滤器选项,可以减少页面上可见的项目数量。当我从过滤页面提交数据时,所有值(包括隐藏值)都会顺利通过。当我在未过滤页面的情况下提交数据时,隐藏值无法通过(因此我的数据收集不会发生)

关键是,这不会发生在我基于Apache的测试环境中,只有当我将其移动到基于IIS的生产环境中时才会发生

这是初始页面的屏幕截图(出于隐私原因,实际数据已被删除),其中显示了输入。共有12行,每行30个输入(总共360个):

以下是我需要的带有隐藏字段的HTML代码:

<input type="hidden" value="12" name="numStudents">
<input type="hidden" value="10" name="numTasks">
<input type="hidden" value="3" name="numCriteria">
<input class="btn btn-primary btn-large" type="submit" value="Save" name="submit">

以下是接收值的PHP代码:

//Get the general information from the form
$numStudents = $common->clean($_POST["numStudents"], $CON);
$numTasks = $common->clean($_POST["numTasks"], $CON);
$numCriteria = $common->clean($_POST["numCriteria"], $CON);

//Loop to get grades for all students
$output = "";
$flagChange = FALSE;
$count = 0;
for($i = 0; $i < $numStudents; $i++)
//从表单中获取一般信息
$numStudents=$common->clean($_POST[“numStudents”],$CON);
$numTasks=$common->clean($_POST[“numTasks”],$CON);
$numCriteria=$common->clean($_POST[“numCriteria”],$CON);
//循环以获得所有学生的分数
$output=“”;
$flagChange=FALSE;
$count=0;
对于($i=0;$i<$numStudents;$i++)
当我直接回显$numStudents或$_POST[“numStudents”]的值时,不会显示任何内容

真正令人困惑的是——当我有一个1或2名学生的列表时,未过滤的数据会毫无问题地通过(回音显示正确的值)。如前所述,如果我对数据进行过滤,使每个学生只显示6列输入,那么数据就不会出现问题

IIS是否具有POST变量中允许的最大值数?如果是,这是否可以改变?我已经检查了我的PHP.ini文件,post的最大大小被设置为8M(这个数据甚至不应该接近)


是否有其他设置需要更改?

可以发送的POST数据的最大大小是每个服务器的设置。对于PHP/APACHE,可以从.htaccess将其设置为:

#set max post size
php_value post_max_size 20M
在IIS下,您要更改
maxAllowedContentLength


请参阅:

My maxAllowedContentLength设置为30000000字节,这应该足够了。为了以防万一,我尝试将其更改为60000000,但这并没有解决我的问题。您的回答确实帮助了我,因为它使我的框架能够更有效地搜索查询。谢谢