gpt4 book ai didi

PHP POST 请求在 http ://in variable 时不起作用

转载 作者:行者123 更新时间:2023-12-04 04:47:05 25 4
gpt4 key购买 nike

我有一个非常奇怪的问题。

当我提交表单时,如果其中一个变量是 http://www.youtube.com , 页面给出一个 NO DATA RECEIVED 错误并失败。

不确定这是服务器设置还是我可以在 PHP 脚本中修复的问题。

后处理脚本对于测试来说非常简单:

<?php
foreach($_POST as $a=>$b) echo "{$a}={$b}<br />";
?>

这在某些服务器上没问题,但在其他服务器上不行,这让我认为这是服务器设置。

任何见解将不胜感激

最佳答案

要在 php.ini 中检查的事项| :

  • post_max_size # 应该不同于 0
  • variables_order # 应该是 = "EGPCS"
  • max_input_vars # 应该大于你传递的变量数

HTML 表单中要检查的事项:

  • 字段和提交按钮在表单内
  • 表格有method="POST"
  • 如果表单有文件,检查enctype,它应该是multipart/form-data , 如果不是它应该是 application/x-www-form-urlencoded
  • 寻找 <input type="hidden" name="MAX_FILE_SIZE" value="..." /> -够大吗?

如果一切正常,检查是否mod_security已启用,并检查 .htaccess 是否有类似 RewriteCond %{REQUEST_METHOD} POST 的内容, 以及它后面的规则。

检查您的浏览器是否发送数据。在 Chrome 网络选项卡中,我看到类似这样的内容:

enter image description here


您还可以尝试以下方法:

var_dump(get_defined_vars());

$vars = get_defined_vars();
foreach ($vars as $var) {
echo "<br><b>{$var}</b>";
var_dump($$var);
}

并检查声明的变量列表。

附言:

我推测您使用的是 Apache,因为您没有包含此信息。另外,尝试使用不同的浏览器,看看它是否有任何改变。

PS2:我喜欢在命令行中检查配置设置:

~$ php -i | grep -i variables_order
variables_order => GPCS => GPCS

关于PHP POST 请求在 http ://in variable 时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18016901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com