【问题标题】:Textarea doesn't send long text, short text is okTextarea 不发送长文本,短文本可以
【发布时间】:2011-12-25 04:40:34
【问题描述】:

我有表格:

<form method='post' action='script.php'>

    <textarea id='main' name='text'></textarea>

    <input type='hidden' name='id' value='1'> 
    <input type='hidden' name='a' value='ulozitclanek'> 
    <input type='submit' name='button' value='Save'>

</form>

如果我在 textarea 中输入短文本并提交,那么在 script.php 中,我已经在变量 $_POST['text'] 中拥有了我的文本。但是,如果文本的长度约为 70000 个字符,则它不在 $_POST['text'] 中。我可以从 Firebug 看到网络日志,我的文本是编码字符串,它是由我的浏览器发送到服务器的。但在$_POST 数组中,我的文字不见了。

我只在生产服务器上遇到这个问题,当我在本地主机上测试这个脚本时,它也适用于长文本。

是否有任何服务器选项可以限制 post 值的 maxlen?

在PHPinfo中可以看到post_max_size设置为20M,肯定还有问题,但是我自己解决不了:-(

有什么想法吗?

坦克。

【问题讨论】:

  • 你有足够的内存吗?检查您的服务器日志。那里总是有 PHP 通知消息,在这种情况下它可能会有所帮助
  • 可能是文本中某处的特殊字符,或者是未转义的引号破坏了内容。
  • 我尝试发布 70000 个字符“a”,但问题仍然存在。我不知道服务器硬件。但是脚本正常运行(它使用我发送的 ID 将空文本保存到数据库中......) - 我不这么认为,这可能是由 RAM 引起的......我可以向托管支持发送电子邮件,但我不希望解决我的问题。
  • 你如何测试这个?什么告诉你它正在工作?
  • 当我在 $_POST['text'] 变量中找到我的文本时,它正在工作。这个问题只在生产服务器上,在我的本地主机上没问题,所以它必须在服务器的配置中?您可以在这里自己尝试:administrace.bmhd.cz/test.php 如果您发布短文本,它可以工作(文本将出现在 $_POST 数组中),如果是长文本,则不会。

标签: php forms apache post textarea


【解决方案1】:

根据 Eda 的评论

问题解决了。这是服务器上 POST 变量的限制。谢谢 您的时间并小心网络托管配置。我已经失去了几个 解决这个问题的时间

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 2015-02-08
    相关资源
    最近更新 更多