实习记录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的值为“编程词典”)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    

原文地址:https://www.cnblogs.com/wj204/p/3574865.html