我有这个非常奇怪的问题。
当我提交表单时,如果其中一个变量是http://www.youtube.com,则该页面会出现NO DATA RECEIVED
错误并失败。
不确定它是服务器设置,还是我可以在PHP脚本中修复的内容。
后期处理脚本非常简单,可用于测试:
<?php
foreach($_POST as $a=>$b) echo "{$a}={$b}<br />";
?>
这在某些服务器上很好,而不是在其他服务器上,这让我觉得它是服务器设置。
将非常感激地收到任何见解
答案 0 :(得分:3)
php.ini
中需要检查的事项:
post_max_size
#应与0 variables_order
#should = =“EGPCS”max_input_vars
#应高于您传递的变量数要在HTML表单中检查的内容:
method="POST"
multipart/form-data
,如果不是application/x-www-form-urlencoded
<input type="hidden" name="MAX_FILE_SIZE" value="..." />
- 它够大吗? 如果一切正常,请检查是否已启用mod_security,并检查.htaccess是否有RewriteCond %{REQUEST_METHOD} POST
之类的内容以及之后的规则。
检查您的浏览器是否发送了数据。在Chrome网络标签中,我看到如下内容:
您还可以尝试以下操作:
var_dump(get_defined_vars());
或
$vars = get_defined_vars();
foreach ($vars as $var) {
echo "<br><b>{$var}</b>";
var_dump($$var);
}
并检查声明的变量列表。
<强> PS:强>
我认为您使用Apache,因为未包含此信息。另外,尝试使用其他浏览器,看看它是否会发生任何变化。
<强> PS2:强> 我想在命令行中使用以下命令检查配置设置:
~$ php -i | grep -i variables_order
variables_order => GPCS => GPCS