第十二节:PHP发送POST请求

PHP发送POST请求-向指定的资源提交要被处理的数据用POST方法发送参数

Last Updated on

最后更新: 2019-11-13 09:06 下午

PHP发送POST请求:向指定的资源提交要被处理的数据,请求不会被缓存,请求不会保留在浏览器历史记录中,不能被收藏为书签,请求对数据长度没有要求。我们学习GET获取信息,同时也做了处理不能够通过get来修改页面内容。当我们需要处理敏感数据(密码)的时候,我们不能够使用get,我们使用POST请求提交敏感信息或更改应用程序的状态。我们使用$_POST超级全局变量获取post信息。

PHP发送POST请求-实操演示

创建3.0_post_requests文件夹并创建login.php文件,用post提交表单,使用$_POST超级全局变量获取发布文章的信息:

POST语法

程式解释:

  1. $_POST超级全局变量;
  2. 跟上数组[];
  3. ’email’是数组键。

发布POST请求

创建html表单:

程式解释:

  1. form表单,要有action,method;
  2. name属性值将用在$ _POST超全局变量中键来访问信息,我们想要获取电子邮件值,我们写成$_POST[’email’];如果表单没有name的属性和属性值,$_POST[]超级全局变量就没办法获取到电子邮件值;
  3. id属性当人们点击标签时,它会将焦点放在表单控件上;
  4. 提交 type=submit。

刷新浏览器报错:

上述报错信息因为我们$_POST[’email’];引起,解决方法:

程式解释:

  1. if()检查是否post request;
  2. 使用$_SERVER超级全局变量:$_SERVER[‘REQUEST_METHOD’]给我们作出的请求的类型进行比较,值是POST就用POST,是GET就用GET;
  3. 如果request_method是post,我们就要输出$_POST的超级变量。

刷新报错消失。

我们把表单输入的信息打印出来:

无论我们发出一个提交请求,我们点击刷新都会要求你发出相同的请求,我们用output函数输出$_POST超级全局变量:

我们就能够看到整个数组的信息,但是我们就看不到submit按钮的信息,这是以下原因:

第一情况:页面有多个表单

在页面有多种表单的情况下,你想要相同的php文件来处理多个表单,也就是说你的提交按钮的名称属性是有用的,那么你可以根据提交中该按钮名称的确定哪个表单被提交。

第二情况:页面只有一个表单

PHP发送POST请求-验证表单信息

在表单后面显示报错信息:

输出显示

请输入正确的电子邮箱地址

最后如果我们把电子邮箱验证修改由浏览器操作:

然而不要使用浏览器为我们验证信息,因为不是每一个浏览器都会支持html的表单验证。

PHP发送POST请求-总结

表单字段想要在post请求中使用它们需要有一个name属性;如果你在页面中有多个表单,并且它们都要处理,给你的提交按钮命名,在提交表单之前,在处理发布信息之前,请确保你有发布请求,如果你只有单一表单request method就足够了,但如果你有多个表单,请检查该按钮的名称,然后你可以根据需要处理提交信息。

Last modified: 2019年11月13日

前一篇

PHP零基础入门

第十一节 GET请求

GET请求:在浏览器输入地址就在使用get请求也就是请求检索信息,我只想要Web服务器的信息,我们点击网页的导航发出其它GET请求.

...

后一篇

PHP零基础入门

第三十一节 PHP MySQL预处理语句

预处理语句:对于防止MySQL注入是非常有用的,预处理语句及绑定参数,预处理语句用于执行多个相同的SQL语句,执行效率更高.

...