作者:run032_736 | 来源:互联网 | 2013-07-25 09:47
大家都知道,我们经常有这样的需求,希望将值从一个页面传递到另外一个页面,比如在百度的首页,我们搜索关键词,提交后就会跳转到搜索内容页面。先分别介绍下:
GET传值:它一般是通过URL传参的,我们常见URL后面有一个?,后面跟了很多参数和值,这就是通过GET方法传参的表现,我们有这个预定义变量$_GET数组来实现传值,URL所有的参数名都是$_GET数组中的一个数组元素的索引,上代码:
//传参的方式,在该页面的URL后加上:?keywords=hello
$getKeywords = $_GET["keywords"]; //接收GET方法传递的参数keywords
if(empty($getKeywords)){
echo “传递的参数为空或没有传递参数”;
}else{
echo $getKeywords;
}
在URL后面用?keywords=hello测试就OK。多个参数的话,就用&隔开。当然这只是测试,不会要用户自己输入这些参数和值,我们在具体的用法中,将GET传值放到标签中,点击时,就将参数传递过去了。如login_deal.php?act=in。
乱码问题:urldecode()进行解码。urlencode()进行编码。具体用法 ,百度去。
POST传值:这个是用$_POST数组实现的,一般是在表单中用,至少我觉得表单一定要用POST,这有关安全性问题。然后每一个表单里面的name属性就是$_POST数组的索引,通过$_POST["name"]访问对应的值。
POST传值和GET传值的区别:
相同点:页面上使用POST方法和GET方法都可以获得传递过来的值。
不同点:GET:提交的数据类型是文本,POST:可以为文本和二进制数据。
GET:传值长度是有限制的,而POST没有。
GET提交的消息URL是可以看见的,POST看不见。
GET传值会被浏览器缓存,POST不会。
GET执行效率较快,而安全性较差;POST执行效率较慢,但安全性好。
一般表单传值是用POST,动作参数传值可以采用GET。