2012-04-15 47 views
0

我的服务器上,而不是使用$ _POST [“用户名”]收集数据的表单提交后,我只是已经能够使用$ USERNAME

因此,表单提交后:

echo $username; 

会产生相同的:

echo $_POST['username'] 

我刚搬到一个新的服务器,这似乎不是我的新的服务器上运行...这是东西,是PHP设置,也许?

我现在有通过整个网站去,否则,改变一个非常形式驱动的网站任务以使用新的$ _ POST []的方法(也并不新鲜,但你知道我的意思)

而且,是不使用$ _POST [],就像我过去一样,不好的练习,为什么?

+0

http://php.net/manual/en/security.globals.php – 2012-04-15 08:21:43

回答

0

从$ _POST,$ _GET和$ _COOKIE自动创建变量是register_globals INI指令的影响。

由于安全问题而被弃用,并且在最近的安装中默认关闭。我建议你永远不要依赖这个功能,并且总是明确指定数据的原始来源。

+0

那么,不是最近......我从来没有见过它,除了服务器运行PHP 4.X,但我知道它不是一些与特定PHP版本相关的东西(谢天谢地)。 – 2012-04-15 08:23:43

+0

我只是读了这个,并试图打入我自己的网站,谢谢你,我管理它在一个网址行!我所服务的服务器人开启了全局变量,然后重写它! Aaaargh,但所有正确的理由...... – 2012-04-15 08:44:42