POST提交表单如果数据太大服务器为什么收不到 POST提交表单如果数据太大服务器为什么收不到本地window平台下可以提交到网上linux 下不行不知道有哪些因素会影响到 什么情况下会发生这种状况php.ini ?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ini_set ('memory_limit', '128M') ; phpinfo()查看下就知道了。post_max_size的值 我post_max_size upload_max_size memory_limit都比本地测试用的设置的大,是不是还不够 描述的不够清楚。。收不到是指为空还是根本就没提交呢?还有你的大数据多大? 你设置的post_max_size又是多大呢? post_max_size 100M比如if(!empty($_POST)){ echo 'ddddddddd';}没值输出,根本就没到服务端 我是论坛添加版块比较多,是discuz的本地能行的 你是传递数据 还是传文件?要是传递数据一些文本的话基本不可能有100M吧。先传递一句string过去看看什么情况. 是啊,我也这么想,是论坛增加版块,用的是discuz x2,好像发现是$_POST数组接收参数不够长,比如,提交按钮 <input type=submit name='edit' value="编辑提交" />多加一个版块,$_POST[edit]这个值没有,删掉一个块,再添加又能添加(也只是一个而已) windows下可以,linux下不行,可能原因如下:1.上传文件的目标路径没有写权限;2.file_uploads = Off3.没有设置upload_tmp_dir4.没有操作upload_tmp_dir的权限......打开display_errors,看看报什么错误,再来定夺…… 不知道discuz 具体说的是什么.感觉应该是代码上有问题。如果知道是哪些代码 不妨POST 上来给大家看看 if($operation == 'admin') { if(!submitcheck('editsubmit')) { shownav('forum', 'forums_admin'); showsubmenu('forums_admin'); showtips('forums_admin_tips'); ....}else { .......}function submitcheck($var, $allowget = 0, $seccodecheck = 0, $secqaacheck = 0) { if(!getgpc($var)) { return FALSE; } else { global $_G; if(!empty($_G['gp_mobiledata'])) { require_once libfile('class/mobiledata'); $mobiledata = new mobiledata(); if($mobiledata->validator()) { return TRUE; } } if($allowget || ($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_G['gp_formhash']) && $_G['gp_formhash'] == formhash() && empty($_SERVER['HTTP_X_FLASH_VERSION']) && (empty($_SERVER['HTTP_REFERER']) || preg_replace("/https?:\/\/([^\:\/]+).*/i", "\\1", $_SERVER['HTTP_REFERER']) == preg_replace("/([^\:]+).*/", "\\1", $_SERVER['HTTP_HOST'])))) { if(checkperm('seccode')) { if($secqaacheck && !check_secqaa($_G['gp_secanswer'], $_G['gp_sechash'])) { showmessage('submit_secqaa_invalid'); } if($seccodecheck && !check_seccode($_G['gp_seccodeverify'], $_G['gp_sechash'])) { showmessage('submit_seccode_invalid'); } } return TRUE; } else { showmessage('submit_invalid'); } }}提交按钮<input type="submit" class="btn" id="submit_editsubmit" name="editsubmit" title="按 Enter 键可随时提交你的修改" value="提交" />版块比较多,估计得有几百个 如果通过提交check,应该进入else代码块,你刚好没贴那块代码,这这还有,form表单在哪? 还没到 else $_POST数组装不下那么多,本地是没有问题的,我觉得就是哪个地方有限制 就是说直接进入了 if(!submitcheck('editsubmit')) {} 没进else{}editsubmit 提交按钮的值都没收到,装不下,其它一些值有的 1.文字内容大到多少?2.调试:直接打印$_POST,看看数据是否正常。如果正常检查dz的过滤函数,看看是否被过滤函数过滤了 <input type="text" name=abc[] /><input type="text" name=abc[] /><input type="text" name=abc[] />这种$_POST提交有长度限制吗? 有,post_max_size设置的多大。 post_max_size=100M好像$_POST[abc]这数组只容下了 497个元素 下面是测试代码<?php print_r($_POST); ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title></head><body><form method="post"> <input type="text" name="abc" value="sdf" /> <?php for($i=1;$i<=1000;$i++){?> <input type="text" name="fname[<?=$i?>]" value="<?=$i?>" /> <?php }?> <input type="submit" value="提交" name="smt" /></form></body></html> 输出的值只能取到前1000个input的值Array ( [abc] => sdf [fname] => Array ( [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 [6] => 6 [7] => 7 [8] => 8 [9] => 9 [10] => 10 [11] => 11 [12] => 12 [13] => 13 [14] => 14 [15] => 15 [16] => 16 [17] => 17 [18] => 18 [19] => 19 [20] => 20 [21] => 21 [22] => 22 [23] => 23 [24]....961 [962] => 962 [963] => 963 [964] => 964 [965] => 965 [966] => 966 [967] => 967 [968] => 968 [969] => 969 [970] => 970 [971] => 971 [972] => 972 [973] => 973 [974] => 974 [975] => 975 [976] => 976 [977] => 977 [978] => 978 [979] => 979 [980] => 980 [981] => 981 [982] => 982 [983] => 983 [984] => 984 [985] => 985 [986] => 986 [987] => 987 [988] => 988 [989] => 989 [990] => 990 [991] => 991 [992] => 992 [993] => 993 [994] => 994 [995] => 995 [996] => 996 [997] => 997 [998] => 998 [999] => 999 ) ) PhpNewnew 好久不见 php能否检测是否include了某个文件 想请教一个问题 求高手指点 问卷-php排序显示的问题?请大伙帮看看 求助 循环累加到本页面显示 如何用在多选框前打勾来得到一条记录的值 在线等,分不够可以加!在xp下安装 APACHE2和PHP4 成功,为什么不能浏览到info.php,提示让下载? 是不是php也有权限问题? php中的cookies和session是如何用的和asp有何区别 关于js前端调用php类中不同方法并获取返回值的实现问题 php + mssql 获取记录集问题.... php 两数组相同的键值数据想加组成新数组
我post_max_size upload_max_size memory_limit
都比本地测试用的设置的大,是不是还不够
post_max_size 100M
比如
if(!empty($_POST))
{
echo 'ddddddddd';
}没值输出,根本就没到服务端
本地能行的
要是传递数据一些文本的话基本不可能有100M吧。
先传递一句string过去看看什么情况.
好像发现是$_POST数组接收参数不够长,
比如,提交按钮 <input type=submit name='edit' value="编辑提交" />
多加一个版块,$_POST[edit]这个值没有,
删掉一个块,再添加又能添加(也只是一个而已)
1.上传文件的目标路径没有写权限;
2.file_uploads = Off
3.没有设置upload_tmp_dir
4.没有操作upload_tmp_dir的权限......打开display_errors,看看报什么错误,再来定夺……
如果知道是哪些代码 不妨POST 上来给大家看看
shownav('forum', 'forums_admin');
showsubmenu('forums_admin');
showtips('forums_admin_tips');
....
}
else {
.......
}function submitcheck($var, $allowget = 0, $seccodecheck = 0, $secqaacheck = 0) {
if(!getgpc($var)) {
return FALSE;
} else {
global $_G;
if(!empty($_G['gp_mobiledata'])) {
require_once libfile('class/mobiledata');
$mobiledata = new mobiledata();
if($mobiledata->validator()) {
return TRUE;
}
}
if($allowget || ($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_G['gp_formhash']) && $_G['gp_formhash'] == formhash() && empty($_SERVER['HTTP_X_FLASH_VERSION']) && (empty($_SERVER['HTTP_REFERER']) ||
preg_replace("/https?:\/\/([^\:\/]+).*/i", "\\1", $_SERVER['HTTP_REFERER']) == preg_replace("/([^\:]+).*/", "\\1", $_SERVER['HTTP_HOST'])))) {
if(checkperm('seccode')) {
if($secqaacheck && !check_secqaa($_G['gp_secanswer'], $_G['gp_sechash'])) {
showmessage('submit_secqaa_invalid');
}
if($seccodecheck && !check_seccode($_G['gp_seccodeverify'], $_G['gp_sechash'])) {
showmessage('submit_seccode_invalid');
}
}
return TRUE;
} else {
showmessage('submit_invalid');
}
}
}
提交按钮
<input type="submit" class="btn" id="submit_editsubmit" name="editsubmit" title="按 Enter 键可随时提交你的修改" value="提交" />版块比较多,估计得有几百个
还有,form表单在哪?
editsubmit 提交按钮的值都没收到,装不下,其它一些值有的
1.文字内容大到多少?
2.调试:直接打印$_POST,看看数据是否正常。如果正常检查dz的过滤函数,看看是否被过滤函数过滤了
<input type="text" name=abc[] />
<input type="text" name=abc[] />
这种$_POST提交有长度限制吗?
有,post_max_size设置的多大。
<?php
print_r($_POST);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head><body>
<form method="post">
<input type="text" name="abc" value="sdf" />
<?php for($i=1;$i<=1000;$i++){?>
<input type="text" name="fname[<?=$i?>]" value="<?=$i?>" />
<?php }?>
<input type="submit" value="提交" name="smt" />
</form>
</body>
</html>
Array ( [abc] => sdf [fname] => Array ( [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 [6] => 6 [7] => 7 [8] => 8 [9] => 9 [10] => 10 [11] => 11 [12] => 12 [13] => 13 [14] => 14 [15] => 15 [16] => 16 [17] => 17 [18] => 18 [19] => 19 [20] => 20 [21] => 21 [22] => 22 [23] => 23 [24]
.
.
.
.
961 [962] => 962 [963] => 963 [964] => 964 [965] => 965 [966] => 966 [967] => 967 [968] => 968 [969] => 969 [970] => 970 [971] => 971 [972] => 972 [973] => 973 [974] => 974 [975] => 975 [976] => 976 [977] => 977 [978] => 978 [979] => 979 [980] => 980 [981] => 981 [982] => 982 [983] => 983 [984] => 984 [985] => 985 [986] => 986 [987] => 987 [988] => 988 [989] => 989 [990] => 990 [991] => 991 [992] => 992 [993] => 993 [994] => 994 [995] => 995 [996] => 996 [997] => 997 [998] => 998 [999] => 999 ) )