一、前台数据的提交
前台数据的提交一般在form表单中完成,主要有两种方式,一种为post,一种为get。
1、get方式:
前台代码:
后台代码:
echo "提交成功";
提交结果:
说明:
(1)、是一种明文提交方式,提交的数据会在url中显示出来,不太安全,传输的数据量较小,受到地址栏长度的限制
(2)、提交的数据类型单一,只能传递文本数据
(3)、主要用于从服务器端获取数据
2、post方式:
前台代码:
后台代码:
echo "提交成功";
提交结果:
说明:
(1)、密文提交方式,提交在http协议内部。
(2)、提交的数据量大,提交的数据类型多样
(3)、主要用于向服务器端提交数据
(4)、提交数据的查看
在浏览器的控制台中查看:network——>后台文件——>headers——>from data
3、模拟get方式提交数据
主要应用在没有表单的情况下,向后台提交数据。
如何模拟:凡是html文档中能够输入url的地方,再所请求的文件名后加上?名=值&名=值方式向后台传递数据 。
二、后台数据的接收
根据前台提交数据的不同,主要有三种接收方式:
$_GET、$_POST:两种传输方式分别对应前台get和post传输方式,都是以数组的形式进行传输,传输过来是键值对的形式。
$_REQUEST:同时能够接受前台使用get和post方式提交的数据。
1、$_GET
前台是get方式提交:
后台接受:
提交结果:
说明:
(1)、将前台传递过来的各个键值对中的名作为关联数组的键名,名值对中的值作为关联数组元素的键值。
(2)、post方式与get方式一样,但是前台和后台必须统一,即前台为post,后台接受也应该是post方式。
2、$_request
前台既有post提交请求,又有get方式提交请求,或者你不知道前台使用的提交方式,就使用$_REQUEST方式接受前台提交的数据。
前台提交方式可以是get或者post中任意的一种,只是后台接受方式变为$_REQUEST即可,提交结果不变,都是以关联数组的形式展现。
三、特殊表单的提交
对于复选框表单的提交,在设置Html时,需要在name属性值的后面加一对中括号[ ],这个中括号一旦被php接收以后,会自动转换为数组。
前台代码:
后台代码:
提交结果:
四、get vs post
get:数据不安全、提交的数据量小且提交的数据类型单一,只能传递文本数据(由于它提交的数据会附在地址栏的url后面,无法传递其它数据,例如图片,无法将其附在地址栏的url后面),主要用于从服务端获取数据。
post:相对安全,提交的数据量大,提交的数据类型多样,主要用于向服务器提交数据。