Apakah perbezaan antara kaedah penyerahan halaman php?

青灯夜游
Lepaskan: 2023-03-17 17:56:02
asal
3806 orang telah melayarinya

Terdapat dua cara untuk menyerahkan data pada halaman PHP: dapatkan dan siarkan Perbezaannya ialah: 1. Anda boleh melihat parameter pada alamat url semasa menghantar dengan get, tetapi anda tidak dapat melihat parameter pada alamat. bar apabila menghantar melalui pos; 2. Dapatkan tidak selamat , kiriman adalah selamat; melebihi 255 bait, dan saiz penghantaran pos bergantung pada pelayan 5. Dapatkan adalah sangat Fleksibel, parameter boleh dilalui selagi terdapat lompatan halaman, manakala pos tidak fleksibel.

Apakah perbezaan antara kaedah penyerahan halaman php?

Persekitaran pengendalian tutorial ini: sistem windows7, versi PHP8, komputer DELL G3

Dalam halaman php, terdapat dua cara untuk hantar data: dapatkan mod dan mod pos.

<form method="post" action=""></form>
<form method="get" action=""></form>
Salin selepas log masuk

Perbezaan antara kaedah get dan kaedah pos

Penampilan

Parameter boleh dilihat pada bar alamat untuk mendapatkan penyerahan

Apakah perbezaan antara kaedah penyerahan halaman php?

Parameter tidak boleh dilihat pada bar alamat untuk penyerahan pos

Apakah perbezaan antara kaedah penyerahan halaman php?

2. Keselamatan

get tidak selamat, pos selamat

Data yang dihantar oleh get boleh dilihat dalam bar url, tetapi data yang dihantar melalui pos tidak kelihatan, jadi pos lebih selamat.

3 Prinsip penyerahan

mendapatkan penyerahan adalah dengan menyerahkan parameter satu persatu

penyerahan pos ialah menyerahkan semua parameter secara keseluruhan

4. Saiz data yang diserahkan

Dapatkan penyerahan secara amnya tidak melebihi 255 bait

Saiz penyerahan pos bergantung pada pelayan

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

5. Fleksibiliti

Dapatkan sangat fleksibel Anda boleh melepasi parameter selagi terdapat lompatan halaman

Siaran tidak fleksibel borang

1、 html跳转
   <a href="index.php?name=tom&age=20">跳转</a>

2、JS跳转
<script type="text/javascript">
	location.href='index.php?name=tom&age=20';
	location.assign('index.php?name=tom&age=20');
	location.replace('index.php?name=tom&age=20');
</script>

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

Ringkasan:


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

服务器数据的三种方式

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

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

下面就来一一了解:

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

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

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

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

Apakah perbezaan antara kaedah penyerahan halaman php?

Apakah perbezaan antara kaedah penyerahan halaman php?

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

<?php
var_dump($_GET);
?>
Salin selepas log masuk

Apakah perbezaan antara kaedah penyerahan halaman php?

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

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

Apakah perbezaan antara kaedah penyerahan halaman php?

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

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

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

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

Apakah perbezaan antara kaedah penyerahan halaman php?

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'];
?>
Salin selepas log masuk

Apakah perbezaan antara kaedah penyerahan halaman php?

小结: 

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

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

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci Apakah perbezaan antara kaedah penyerahan halaman php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan