喜悦国际村 专业PHP开发者社区's Archiver

lee-free 发表于 2006-3-1 03:05 PM

有关$_post的问题

今天遇到了一个问题
我自己写的一个程序,在万网和新网的服务器上测试都可以使用
换了另外一家服务器提供的空间后,程序执行却得不到从表单中提取的变量值了

我以前的习惯是直接在提交的变量名名称前面加$  如:$name
这样就可以获取内容可是现在只有改成 $_POST['name'] 后才内获取值,是服务器的哪个配置影响的。

还有就是如果提交的值多的话是不是每个变量都要用这个表示才可以呀,有没有什么简单的方法呢?
我的代码你们可以看看
[PHP]
//新增友情链接

$name = $_POST['name'];
$url = $_POST['url'];
$areaid = $_POST['areaid'];
$file_type = $_POST['file_type'];

$sql = "INSERT INTO rc_link (name,url,file,file_type,area_id) VALUES ('$name','$url','$file','$file_type','$areaid')";
mysql_db_query($dbname,$sql) or die ("添加信息失败!");
[/PHP]


我觉得这样很麻烦,有没有简单些的方法

coldwind 发表于 2006-3-1 03:13 PM

受register_globals选项的影响
; You should do your best to write your scripts so that they do not require
; register_globals to be on;  Using form variables as globals can easily lead
; to possible security problems, if the code is not very well thought of.
register_globals = Off

在程序前使用
import_request_variables("GPC");
可以解决此问题

coldwind 发表于 2006-3-1 03:18 PM

不过你将得到一个E_NOTICE级的错误,建议用
extract($_REQUEST);

lee-free 发表于 2006-3-1 04:15 PM

加这个代表什么意思呢,可不可以解释一下呢?

liuxiulin 发表于 2006-3-1 04:37 PM

look 手册


import_request_variables
(PHP 4 >= 4.1.0)

import_request_variables -- 将 GET/POST/Cookie 变量导入到全局作用域中
描述
bool import_request_variables ( string types [, string prefix])


将 GET/POST/Cookie 变量导入到全局作用域中。如果你禁止了 register_globals,但又想用到一些全局变量,那么此函数就很有用。

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.