在我的旧项目中,post变量用作$ var_name而不是$ _post [“var_name”]。所以我需要更改所有文件中的代码。所以我想在php.ini中更改任何内容((自动提取选项))来处理此操作而不更改编码。谢谢。PHP Post变量
回答
您需要在您的php.ini文件中启用register_globals
。查看此页面了解更多详情 - http://php.net/manual/en/ini.core.php。
您的旧项目使用了一个现在已被弃用(自5.3)和被删除(自5.4)被称为“注册全局变量”的功能。请阅读为什么此功能被删除:http://php.net/manual/en/security.globals.php
总之,不,你不想改变php.ini,以便您的旧应用程序可以工作。相反,您将更有可能希望修复旧的应用程序,以使其不需要注册全局变量。
也就是说,如果这不是一个面向公众的应用程序或安全不是一个问题,有一个办法,你甚至可以为PHP 5.4配置php.ini中有你的应用程序的工作。
警告:这涉及到改变你的php.ini文件中,以便注册全局的影响进行了仿真。这意味着所有 PHP脚本将受到注册全局,不只是你想要的人的影响。
如前所述,extract($_REQUEST);
将基本上完成注册表全局变量的用法。现在,使用auto_prepend_file
指令,您可以在每个脚本之前运行这一行代码。
也就是说,将该文件保存在某处(最好在您的PHP包含路径中),并且将其称为register_globals.php
。
<?php
extract($_POST);
现在php.ini
,加入这一行(路径可能是相对于你的PHP包含路径)。
auto_prepend_file = "register_globals.php" ; emulates register_globals
此更改的影响是require("register_globals.php");
发生在任何脚本运行之前。
警告 不要在不受信任的数据上使用extract(),如用户输入(即$ _GET,$ _FILES等)。如果你这样做,例如,如果你想运行临时依赖于register_globals的旧代码,确保你使用了一个非覆盖extract_type值,例如EXTR_SKIP,并且要知道你应该按照在variables_order中定义的相同顺序提取php.ini。 –
我不明白Col. Shrapnel的一些事情。首先,暂时使用register_globals意味着什么?其次,如果对'extract'的调用是脚本中的第一件事情,那么使用非覆盖提取选项的意义是什么?但是,是的,我同意提取顺序(如果存在冲突)可能会发挥作用,但我不同意它必须与'variables_orders'匹配,除非与该指令的一致性至关重要。 – erisco
所以,如果你不懂基本的东西,你最好问问答案。 –
我知道你不愿意改变很多代码,但不好的设计应该纠正,不管它意味着什么麻烦。改变你的全局变量到适当的后期变量,否则你会后悔的。有99%的机会你最终会自己得出这个结论,不妨现在就做。
我想知道为什么没有人抨击创可贴的方法。 –
register_globals是一种以获取提交的值作为变量而不是post,get,request变量的旧方法。但是这在新版本中已被弃用。你需要用你的代码来接受$ _post ['email']而不是$ email。
- 1. PHP $ _ POST变量
- 2. 变量在POST - php
- 3. PHP着POST变量
- 4. PHP:$ _ POST/$ _ COOKIE变量
- 5. PHP - $ _ POST变量具有变量同名
- 6. PHP - 回显POST变量
- 7. iframe中的PHP POST变量
- 8. 从php变量jQuery post
- 9. PHP的POST变量为空
- 10. POST变量不变
- 11. ajax post在php中返回php变量
- 12. CodeIgniter POST变量
- 13. POST变量空
- 14. PHP,$ _ POST像变
- 15. jQuery的ajax的POST变量到PHP
- 16. 调用变量POST循环PHP
- 17. PHP的AJAX POST发送多个变量
- 18. 在POST中自动增加php变量
- 19. 通行证JavaScript变量PHP POST
- 20. PHP - 捕获所有POST变量
- 21. 从CURL post中返回php变量
- 22. 获取代码,以$ _ POST变量PHP
- 23. PHP表单验证和POST变量
- 24. PHP的mysql查询忽略POST变量
- 25. 变量在POST
- 26. 阅读$ _ POST变量
- 27. 正确的变量,GET和POST变量
- 28. HTTP POST双变量
- 29. $ _ POST变量重复
- 30. 保存JavaScript变量为PHP变量? GET,POST,COOKIE
Anupam Jain ...非常感谢:-) –