【问题标题】:$_POST being automatically copied into other variables$_POST 被自动复制到其他变量中
【发布时间】:2015-06-10 22:13:14
【问题描述】:

(我为一个愚蠢的问题道歉。这一定是一个简单的设置,但一个小时的谷歌没有透露它。)

我们有一个 LAMP 网络服务器。当我们通过 post 发送数据时,$_POST 变量按预期设置。但我们也为$_POST 中的每个条目获取了一个全局变量。

例如,如果$_POST['Research'] 为“是”,我们还将全局$Research 设置为“是”。

我们如何关闭它?

【问题讨论】:

  • 你能告诉我们 $_POST 数组被分配其 key=>value 的编码段吗?它可能有助于回答这个问题。
  • 天哪,你已经注册了全局变量 - FLEEE:php.net/manual/en/faq.using.php#faq.register-globals
  • @Quentin 我没有设置它...这是我的 php 代码的超全局输入。
  • 同上,它的注册全局变量,这意味着你也有一个相当老的 php 安装。您可以在 php.ini 中将其关闭,但最好还是更新到较新的 php(已折旧)
  • @Dagon 这绝对是设置。谢谢你。我糟糕的系统管理员无缘无故地打开了它。如果您提交答案,我会将其标记为正确。

标签: php lamp


【解决方案1】:

你有危险和弃用的

上注册全局变量

基本细节:

http://php.net/manual/en/faq.using.php#faq.register-globals

关闭: http://php.net/manual/en/ini.core.php#ini.register-globals

如果您的 php 版本太旧以至于默认情况下带有此功能,您应该升级

【讨论】:

    【解决方案2】:

    您的描述听起来像是在使用register globals

    如果是这样,我很惊讶你仍然能够在它们已被弃用时这样做。

    你应该更新你的 php 或者至少在你的 php.ini 配置文件中禁用它 - register_globals=0;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-05
      • 2012-03-19
      • 1970-01-01
      • 2012-09-22
      相关资源
      最近更新 更多