php中预定义数组中$_POST和$_GET的用法
预定义数组
从php4.1版本开始提供了预定义数组,这些数组让我们节省了时间和提高了效率,预定义数组包含了来自web服务器、客户端、运行环境以及用户数据。这些数组比较特别,他们都是全局变量(又叫全局超变量)。php中用户不能自定义全局变量,在定义变量时避免和这些变量同名(全局变量)。今天主要给大家详解$_get和$_post
常见预定义数组
HTTP GET变量:$_GET
$_GET数组是超全局变量数组,是通过HTTPGET方法传递的变量组成的数组。它属于外部变量,(获取URL或者表单的GET方式传递过来的参数)。如http://locahost/index.php?action=1&user=zhang
可以将上面的URL加到A链接的href属性使用,也可以是在form表单中method属性中指定get方法传递到服务器的参数,还可以是直接在浏览器地址栏中的地址等。都是将请求的变量参数使用URL的get方法传递到http://locahost的index.php页面中。在index.php文件中就可以直接使用$_GET全局变量数组,获取客户端的GET通过url的get方式传递的参数。代码如下:
上面使用了$_GET超全局变量数组,取得URL中的2各参数action、user在index.php中使用。在PHP中,可以使用变量形式直接访问url附加参数,只需要将url传来的参数加上“$”符合,就可以像声明变量一样使用。php变量名称必须和url附带参数名称一致。如果是使用表单提交给服务器的,脚本中的变量名称应该与HTML表单中的表单域相同。代码如下所示:
附带参数直接在服务器脚本中以变量的形式使用,相对于在服务器页面声明变量一样,非常方便。
HTTP POST变量:$_POST
$_GET数组也是超全局变量数组,通过HTTP POST方式传递的变量组成的数组,是自动的全局变量,在所有的脚本中都又有效,不需要使用global关键字访问它。$_GET和$_POST都可以保存表单提交的变量,使用哪一个取决于提交表单form中属性method方法使用的get还是post,使用了$_post只能访问以post提交的表单数组。
上面的代码简单定义了一个post方式获取联系人表单页面,当用户提交单击按钮时,表单域以post方式提交到当前页面。再通过$_POST超全局变量数组获取提交表单的值。当然不推荐使用简短风格使用吗,因为可能会遇到代码不安全的错误。$_get和$_post使用不能像上面那样简单,需要做处理的,今天就先聊到这改天接着聊。