实习记录8
1.获取表单数据的两种方法
1.1 使用POST()方法提交表单
POST()方法不依赖于URL,不会显示在地址栏。POST()方法可以没有限制地传递数据到服务器,所有提交的信息在后台传输,用户在浏览器是看不到这一过程的,安全性高。所以POST()方法比较适合用于发送一个保密的(如信用卡号)或者容量较大的数据到服务器。
1.2 使用GET()方法提交表单
GET()方法是<form>表单中method 属性的默认方法。使用GET()方法提交的表单数据被附加到URL后,并作为URL的一部分发送到服务器端。由于GET()方法提交的表单数据是附加到URL上发送的,因此,在URL的地址栏中将会显示"URL+用户传递的参数"。
使用GET()方法提交表单,URL的长度应限制在1MB字符以内。如果发送的数据量太大,数据将被截断,从而导致意外或失败的处理结果。
这种方法会将参数暴露。如果用户传递的参数是非保密性的参数,那么采用GET()方法传递数据是可行的。
2.PHP参数传递的常用方法
PHP参数传递的常用方法有三种:$_POST[]、$_GET[]、$_SESSION[],分别用于获取表单,URL于Session变量的值。
格式为:
$_POST[name]
$_GET[name] 用POST和GET获取表单元素名称区别字母大小写。
$_SESSION[name]
3. 对URL传递的参数进行编/解码
3.1 对URL传递的参数进行编码
使用URL传递参数数据,就是在URL地址后面加上适当的参数。URL实体对这些参数进行处理。
http://url?name1=value1&name2=value2...
URL编码是一种浏览器用来打包表单输入数据的格式,是对用地址栏传递参数进行的一种编码规则。如在参数中带有空格,则用URL传递参数时就会发生错误,而用URL编码后,空格转换成%20,这样错误就不会发生了。对中文进行编码也是同样的情况,最主要的一点是对传递的参数起到了隐藏的作用。
string urlencode(string str)
urlencode()函数实现将字符串str进行URL编码
如:<a href="index.php?id=<?php echo urlencode("编程词典");?>">PHP 编程词典</a>
3.2 对URL传递的参数进行解码
对于URL传递的参数直接使用$_GET[]方法即可获取。而对于进行过URL加密的查询字符串,则需要通过urlencode()函数对获取后的字符串进行解码。函数的语法是: string urlencode(string str) urlencode()函数可将URL编码后的str字符串进行解码。
举例:
<a href="index.php?id=<?php echo urlencode("编程词典");?>">PHP 编程词典</a>
<?php echo "你提交的查询的字符串的内容是:" .urldecode($_GET[id]);?> (将户输出id的值为“编程词典”)