我刚刚发现修改了一个由其他人开发的现有网站。
在对 PHP 文件进行更改时,我注意到未声明的变量(甚至在包含的文件中也没有)被成功使用。
我无法理解这是如何做到的。是否使用了 PHP 的魔法方法(_get 和 _set)?
一个示例场景是这样的。
<?php
if($name != ""){
//do process
}
?>
<form method="POST">
<input type="hidden" name="name" value="" />
</form>
在正常情况下,上面的代码会为未定义的变量抛出错误。我还可以看到,上面的所有变量主要用于隐藏输入或 $_GET 变量。
但是上面的代码在我正在开发的站点中工作得很好,即使 $name 变量没有被分配给 $_POST['name'] 或 $_REQUEST...
谁能建议一种在 PHP 中做这样的事情的方法,或者我在这里遗漏了什么。