1.如何把数据传到服务器
* 前端:
构建表单
在form标签中声明处理用户数据的程序(action属性)提交用户数据的方式(method get post)
在输入框中一定要声明name属性
* 后端:
前端用get方式提交 后台用$_get数组接收
前端用post方式提交 后台用$_post数组接收
2.get方式和post方式的区别
1.get方式提交的会把表单信息显示到地址栏没有请求正文post方式有请求正文
2.get方式相对于post方式来说不太安全 post方式相对来说比较安全
3.get方式传输的信息量比较小 post方式 信息传输量是无限大
4.get方式Ajax提交必须把请求正文写在url后面 格式 key=value&key=vale post方式需要写在xhr.send()方法里
5.get方式可以不写请求头xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");而post必须写
3.如何上传文件到服务器
* 前端
构建表单
在from标签中声明处理用户数据的程序(action属性)必须使用post方式提交 enctype="multioart/form-data"
用input:file来上传
* 后端
用$_FILES来接受文件
用move_uploaded_file(临时文件的路径,目标文件的路径)
get与post的区别
__Get和Post都是向服务器发送的一种请求,只是发送机制不同。__
1.get请求会将参数跟在URL后进行传递,而post请求则是作为http消息的实体内容发送给web服务器。当然在Ajax请求中,这种区别对用户是不可见的。
2.首先是“Get方式提交的数据最多只能是1024字节”,因为Get是通过URL提交数据,那么get可提交的数据就跟URL的长度有直接关系了。而实际上,URL不存在参数上限的问题。
http协议规范没有对URL长度进行限制。这个限制是特定的浏览器以及服务器对他的限制。
IE对URL长度的限制是2083字节。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。注意这是限制是整个URL长度,而不仅仅是你的参数值数据长度。
3.GET方式请求的数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号和密码等。在某种情况下,get方式会带来严重的问题。而post方式相对来说就可以避免这些问题。
get请求和post请求在服务器的区别:
1.在客户端使用get请求时,服务器端使用Request.QueryString来获取参数,而客户端使用post请求时,服务器使用Request.Form来获取参数。
2.http标准包含这两种方法是为了达到不同的目的。postPOST用于创建资源,
资源的内容会被编入HTTP请示的内容中。例如,处理订货表单、在数据库中加入新数据行等。
当请求无副作用时(如进行搜索),便可使用GET方法;当请求有副作用时(如添加数据行),
则用POST方法。一个比较实际的问题是:GET方法可能会产生很长的URL,或许会超过某些浏览器与服务器对URL长度的限制。
若符合下列任一情况,则用POST方法:
* 请求的结果有持续性的副作用,例如,数据库内添加新的数据行。
* 若使用GET方法,则表单上收集的数据可能让URL过长。
* 要传送的数据不是采用7位的ASCII编码。
若符合下列任一情况,则用GET方法:
* 请求是为了查找资源,HTML表单数据仅用来帮助搜索。
* 请求结果无持续性的副作用。
* 收集的数据及HTML表单内的输入字段名称的总长不超过1024个字符。
总结
1.请求方式不同
2.在请求正文上
post请求 输入的信息在请求信息的请求正文中
get请求 请求正文在请求地址后面 url?+key=value&key1=value1
3.在请求头中
post需要写Content-Type:application/x-www-form-urlencoded
4.在请求内容的长度上
get请求的内容的长度是有限的
post请求的的内容的长度是无限的
5.在安全问题上
get请求相对来说不安全
post请求是相对安全的