// declare the request array which holds both // url-based (get) and form-based (post) parameters. $arr_request = array();
// move the url and form parameters into the // request array. form parameters supercede url // parameters. additionally, all keys are vonverted // to lower-case. if (count($http_get-vars)) { while (list($key, $value) = each ($http_get_vars)) { $arr_request[strtolower($key)] = $value; } } if (count($http_post_vars)) { while (list($key, $value) = each ($http_post_vars)) { $arr_request[strtolower($key)] = $value; } }
如果在所有的php脚本中都包含有common.inc文件的话,那么不用担心脚本是怎么运行的。所有传过去的信息都以小写形式保存在数组$arr_request中,这就意味着,可以使用$arr_request['username']得到用户名信息。 php提供了数组$http_get_vars和数组$http_post_vars的替代方式,html表单和基于url的信息都可以直接做为php变量进行访问。例如,在php 脚本中,一个定义为<input type = "input" name="last_name">的域信息可以直接在php程序中用$last_name访问,同样的基于url的信息,比方说,http://www.site.com?last_name=join,能由$last_name获得。不过,我还是比较喜欢使用数组$arr_request,因为对于要循环使用传递给程序的所有信息来讲,这是非常有用的。如果该信息是一个标量,那么它就不适合被循环使用。例如:将所有参数名改为大写,以保证不致于因为使用换档键而破坏程序;或者在错误检测时,会需要显示所有的输入参数。