如果没有设置值,则POST数据为空(错误3的问题)

时间:2015-12-01 12:47:29

标签: php post typo3

似乎我有一个奇怪的服务器设置处于活动状态,如果它们没有任何值,我的帖子字段会被删除。所以我们谈论服务器配置!

我有一个非常简单的形式来测试它:

请...不要在这个小形式中搜索错误,因为它只是向您显示服务器IS忽略空params。错字3部分在问题的结尾处跟随...所以在将其评定为无用之前阅读所有问题。

<?php
    echo '<h2>GET</h2>';
    print_r($_GET);
    echo '<h2>POST</h2>';
    print_r($_POST);
    echo '<h2>REQUEST</h2>';
    var_dump($_REQUEST);
    echo '<h2>FILE_GET_CONTENTS</h2>';
    var_dump(file_get_contents('php://input'));
?>

<form method="POST">
  <input type="text" name="test" /> <input type="submit" name="button" value="submit">
</form>

如果我没有填写输入字段,我会得到以下输出:

GET
Array ( )
POST
Array ( [button] => submit )
REQUEST
array(1) { ["button"]=> string(6) "submit" }
FILE_GET_CONTENTS
string(19) "test=&button=submit"

如果我在输入字段中填写任何值(例如&#39; test&#39;),我会得到以下输出:

GET
Array ( )
POST
Array ( [test] => test [button] => submit )
REQUEST
array(2) { ["test"]=> string(4) "test" ["button"]=> string(6) "submit" }
FILE_GET_CONTENTS
string(23) "test=test&button=submit"

那么为什么我的领域&#34;测试&#34;只有在场,如果有任何价值吗?

这个问题的主要原因是,typo3使用空字段进行验证,要在其所有表单中执行哪些操作,例如更改配置设置或测试设置。所有这些功能都不起作用,因为表格给出的标志不存在。

这就是拼写错误的动作形式:

<form method="post">
  <input type="hidden" name="install[controller]" value="tool">
  <input type="hidden" name="install[action]" value="testSetup">
  <input type="hidden" name="install[token]" value="ldfjlskdflsdkjflsdkjf">
  <input type="hidden" name="install[context]" value="backend">

  <h4>Scaling images</h4>

  <fieldset class="t3-install-form-submit">
      <ol>
          <li>
              <button class="btn " type="submit" name="install[set][testScalingImages]">
                  Test scaling images
              </button>
          </li>
      </ol>
  </fieldset>
</form>

如果我添加一个值=&#34; 1&#34;提交按钮一切正常,因为我的服务器不会删除该参数然后...但我不想在所有错误3安装中更改所有错误3表单。所以它必须是任何服务器配置问题。

我已经阅读了很多关于在代码网站上工作以获得更多原始数据的变体,但由于我必须在很多typo3安装中更改它,因此服务器范围内的解决方案会更好。

1 个答案:

答案 0 :(得分:2)

您应该将表单更改为:

<form method="POST">
  <input type="text" name="test" /> <input type="submit" name="button" value="submit">
</form>

如果没有设置任何类型,服务器无法理解您希望通过此输入获得的内容。