首页  >  文章  >  后端开发  >  php页面提交方式有什么不同

php页面提交方式有什么不同

青灯夜游
青灯夜游原创
2023-01-07 15:47:113794浏览

php页面数据提交方式有get和post两种,区别为:1、get提交在url地址上可以看到参数,post提交在地址栏上看不到参数;2、get不安全,post安全;3、get提交是参数一个一个的提交,post提交是所有参数作为一个整体一起提交;4、get提交一般不超过255个字节,post提交的大小取决于服务器;5、get很灵活,只要有页面的跳转就可以传递参数,而post不灵活。

php页面提交方式有什么不同

本教程操作环境:windows7系统、PHP8版、DELL G3电脑

在php页面中,提交数据的方式有两种:get方式和post方式。

<form method="post" action=""></form>
<form method="get" action=""></form>

get方式和post方式的区别

1、外观上看

get提交在地址上可以看到参数

在这里插入图片描述

post提交在地址栏上看不到参数

在这里插入图片描述

2、安全性

get不安全,post安全

get提交的数据在url栏可以看见,而post提交的数据是不可见的,因此post更安全。

3、提交原理

get提交是参数一个一个的提交

post提交是所有参数作为一个整体一起提交

4、提交数据大小

get提交一般不超过255个字节

post提交的大小取决于服务器

// 在php.ini中,可以配置post提交的大小
post_max_size = 8M

5、灵活性

get很灵活,只要有页面的跳转就可以传递参数

post不灵活,post提交需要有表单的参与

1、 html跳转
   bc94307ffdedbd144f8ca9371d10dcd3跳转5db79b134e9f6b82c0b36e0489ee08ed

2、JS跳转
8019067d09615e43c7904885b5246f0a
	location.href='index.php?name=tom&age=20';
	location.assign('index.php?name=tom&age=20');
	location.replace('index.php?name=tom&age=20');
2cacc6d41bbb37262a98f745aa00fbf0

3、PHP跳转
header('location:index.php?name=tom&age=22')

小结:


GET POST
外观上 在地址上看到传递的参数和值 地址栏上看不到数据
提交数据大小 提交少量数据,不同的浏览器最大值不一样,IE是255个字符 提交大量数据,可以通过更改php.ini配置文件来设置post提交数据的最大值
安全性
提交原理 提交的数据和数据之间在独立的 将提交的数据变成XML格式提交
灵活性 很灵活,只要有页面的跳转就可以get传递数据 不灵活

服务器数据的三种方式

$_POST:数组类型,保存的POST提交的值
$_GET:数组类型,保存的GET提交的值
$_REQUEST:数组类型,保存的GET和POST提交的值

根据提交表单数据的方式不同,获取表单数据的方法也有所不同:get方式可以使用预定义变量$_GET来获取;post方式可以使用预定义变量$_POST来获取;如果不知道 form 表单通过哪种方式提交数据,就可以使用预定义变量$_REQUEST来获取,它两种方式的数据都可以获取。

下面就来一一了解:

1、使用预定义变量$_GET快速获取表单数据(form表单需要设置为method="get"

在程序的开发过程中,由于 GET 方法提交的数据是附加到 URL 上发送的,因此在 URL 的地址栏中将会显示“URL+用户传递的参数”类型的信息,如下所示:

http://url?name1=value1&name2=value2 ...
  • name1、name2 为表单元素的名称(有表单元素的name属性设置),value1、value2 为表单元素的值。url和表单元素之间用“?”隔开,而多个表单元素之间用“&”隔开,每个表单元素的格式都是“name=value”,固定不变。

我们添加一下user.html文件的表单看看URL 的地址栏

1.gif

1.png

user.php文件中可以直接使用预定义变量$_GET来获取数据,$_GET 全局变量是一个关联数组,数组的键名为表单元素 name 的值,数组的值为对应表单的值。(注只要是 URL 中的参数都可以使用 $_GET 获取。)

<?php
var_dump($_GET);
?>

2.png

可以使用$_GET['键名']的方式来一一获取每个表单元素的值:

<?php
header("content-type:text/html;charset=utf-8");
echo "用户名为:".$_GET['user']."<br>生日为:".$_GET['bday'];
?>

3.png

2、使用预定义变量$_POST快速获取表单数据(form表单需要设置为method="post"

post方法不依赖于 URL,不会将传递的参数值显示在地址栏中。

$_POST 全局变量也是一个关联数组,数组的键名为表单元素 name 的值,数组的值为对应表单的值。

<?php
header("content-type:text/html;charset=utf-8");
echo "用户名为:".$_POST['user']."<br>生日为:".$_POST['bday'];
?>

4.png

3、使用预定义变量$_REQUEST快速获取表单数据

$_REQUEST 全局变量是一个包含了  $_POST、$_GET 和 $_COOKIE 的数组,数组结构与 $_POST 和 $_GET 类似。

<?php
header("content-type:text/html;charset=utf-8");
var_dump($_REQUEST);
echo "用户名为:".$_REQUEST['user']."<br>生日为:".$_REQUEST['bday'];
?>

5.png

小结: 

 1、在开发的时候,如果明确是post提交就使用$_POST获取,如果明确get提交就用$_GET获取 

 2、request获取效率低,尽可能不要使用,除非提交的类型不确定的情况下才使用。

推荐学习:《PHP视频教程

以上是php页面提交方式有什么不同的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn