初学php的朋友,最容易在这一块有困惹,就是不知道如何接收页面或url中的参数值。
在PHP5中,默认接收参数传递的值时,会考虑使用:
如果在PHP.ini配置文件中,将register_globals = Off,修改为:register_globals = on,那么就可以直接使用,$value的值。
不过,为了安全起见,我们不推荐这样做。
下面,介绍下PHP获取Post的原始数据的方法。
在php编程中,一般都用$_POST或$_REQUEST两个预定义变量来接收POST提交的数据。
不过,当提交的数据无变量名,而是直接的字符串时,就需要考虑换种方式来接受这种数据了。
下面,为大家介绍两种变通的方法。
方法一,使用全局变量$GLOBALS['HTTP_RAW_POST_DATA']
在$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST过来的原始数据。
而$_POST或$_REQUEST存放的是PHP以key=>value的形式格式化以后的数据。
但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST过来的数据取决于centent-Type的设置,即POST数据时必须显式示指明Content-Type: application/x-www-form-urlencoded,POST的数据才会存放到 $GLOBALS['HTTP_RAW_POST_DATA']中。
方法二,使用file_get_contents("php://input")
对于未指定 Content-Type 的POST数据,则可以使用file_get_contents("php://input");来获取原始数据。
事实上,用PHP接收POST的任何数据均使用本方法。而不用考虑Content-Type,包括二进制文件流也是可行的。
推荐使用方法来,来获取无变量名的post原始数据。
最后,我们探讨下有关php中页面调用的一些问题。
在php中,调用其它页面,一般会考虑使用require()与require_once()。
一般就放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require所指定引入的文件,如果出现错误是致命的。
再来看include()与include_once()。
可以放在 PHP 程序的任何一个位置,PHP 程序在执行到时,才会先读入include 所指定引入的文件,如果出现错误将会提示。
有关php中include与require的深入探讨,可以参考文章:php中的include()与require()的对比分析 。
以下是简单的示例: