PHP弃用代码?

amj*_*ags 2 php

大家好

运行PHP版本5.2.11并且我们已经获得了一个我们被告知在早期版本(可能是4个)上运行的站点.

我们有一个奇怪的问题,有几个页面有一堆更新MySql的表单不起作用.问题是更新脚本中使用的变量没有在PHP之前的任何地方定义.例如.

UPDATE users SET FirstName='$form_firstname'WHERE UserID='$id'"
Run Code Online (Sandbox Code Playgroud)

现在,如果我们将其更改为..

$form_firstname = $_POST['form_firstname'];
UPDATE users SET FirstName='$form_firstname'WHERE UserID='$id'"
Run Code Online (Sandbox Code Playgroud)

然后更新工作.我们可以为每个更新语句中定义的每个变量执行此操作,但我认为这看起来必须先前工作,我们正在查看形成这些变量的某些已弃用的代码.我找了

import_request_variables
Run Code Online (Sandbox Code Playgroud)

陈述,但虚无...

任何人都可以想到在新服务器中默认关闭的任何东西会导致这个或者这个变量必须在某个地方声明吗?

干得好极了

Ign*_*ams 8

这是register_globals.不要使用它; 这是一个巨大的安全漏洞.

  • @Stu,不仅如此,你需要1)逃避他们; 或2)使用准备好的陈述. (4认同)