在我的旧项目中,POST变量使用的是$var_name而不是$_POST["var_name"]。因此,我需要在所有文件中更改代码。那么我是否需要更改php.ini中的任何内容(自动提取选项),以便在不更改编码的情况下处理这个问题。谢谢。
在我的旧项目中,POST变量使用的是$var_name而不是$_POST["var_name"]。因此,我需要在所有文件中更改代码。那么我是否需要更改php.ini中的任何内容(自动提取选项),以便在不更改编码的情况下处理这个问题。谢谢。
extract($_REQUEST);
实质上实现了register globals的功能。现在,使用auto_prepend_file
指令,您可以在每个脚本之前运行此代码行。register_globals.php
。<?php
extract($_POST);
现在在php.ini
中添加这一行(路径可能相对于您的PHP包含路径)。
auto_prepend_file = "register_globals.php" ; emulates register_globals
require("register_globals.php");
会被执行。我理解你不愿意改动很多代码,但是不良的设计应该被纠正,无论它带来多少麻烦。将全局变量更改为正确的POST变量,否则你将会后悔。有99%的机会你最终会得出这个结论,现在就做吧。
您需要在php.ini文件中启用register_globals
。请查看此页面以获取更多详细信息 - http://php.net/manual/zh/ini.core.php。
register_globals是一种旧的方式,可以通过变量名获取提交的值,而不是使用post、get或request变量。但这在新版本中已被弃用。您需要修改代码以接受$_POST['email']而不是$email。