计算机网络/计算机科学与应用/系统/运维/开发

表单web交互注意的事项

PHP web交互

获取表单数据的2种方法:POST  GET 


# get方式URL传递参数

在URL的地址栏中将会显示“URL+用户传递的参数”

http://url?name1=value1&name2=value2...

URL的长度应限制在1MB字符以内

如果发送的数据量太大,数据将被截断,从而导致意外或失败的处理结果


# PHP参数传递常用的方法有3种

$_POST[]、$_GET[]、$_SESSION[],分别用于获取表单、URL与Session变量的值


# 获取参数值

$_POST["user"]

$_GET["name"]

$_SESSION["user"]

$_REQUEST["变量"]  同时可以获取以上三者的值


# urlencode() 编码

URL编码是一种浏览器用来打包表单输入数据的格式

是对用地址栏传递参数进行的一种编码规则

如在参数中带有空格,则传递参数时就会发生错误,而用URL编码后,空格转换成“%20”,

这样错误就不会发生了,对中文进行编码也是同样的情况,

最主要的一点就是对传递的参数起到了隐藏的作用

PHP中对查询字符串进行URL编码,可以通过urlencode()函数实现,该函数的语法如下

string urlencode(string str)

<?php
echo "urlencode";
$str = "w3cschool你好";
echo '<a href="w3cschool?foo='. urlencode($str). '">';
//<a href="w3cschool?foo=w3cschool%E4%BD%A0%E5%A5%BD">
?>


# 对URL传递的参数进行解码

对于URL传递的参数直接使用$_GET[]方法即可获取。

而对于进行URL加密的查询字符串,

则需要通过urldecode()函数对获取后的字符串进行解码,该函数的语法如下:

string urldecode(string str)

urldecode()函数可将URL编码后的str查询字符串进行解码

<?php
$str = "w3cschool%E4%BD%A0%E5%A5%BD";
// w3cschool你好
echo urldecode($str);
?>

调用urlencode()和rawurlencode()函数需要注意什么

由于在JavaScript中“+”是字符串类型的连接操作符,因此JavaScript在处理URL时无法识别其中的“+”,这时可以调用rawurlencode()函数对其进行处理


# 理解GET和POST的区别

1、POST是向服务器传送数据;GET是从服务器上获取数据
2、POST是通过HTTP POST机制将表单内各个字段与其内容放置在HTML HEADER中一起传送到ACTION属性所指的URL地址,用户看不到这个过程;GET是把参数数据队列添加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到
3、对于GET方式,服务器端用Request.QueryString获取变量的值;对于POST方式,服务器端用Request.Form获取提交的数据
4、POST传送的数据量较大,一般默认为不受限制,理论上IIS4中最大量为80KB、IIS5中最大量为100KB;GET传送的数据量较小,不能大于2KB
5、POST安全性较高;GET安全性非常低,但是执行效率比POST方法好
6、在添加、修改或删除数据时,建议用POST方式;在查询数据时,建议用GET方式
7、对于机密的信息或数据,建议用POST的数据提交方式


php web交互

天天晨练不仅为了健身,也为了体现生命的倔强

评论

^