搜尋
首頁後端開發PHP問題php頁面提交方式有什麼不同

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提交在位址上可以看到參數

php頁面提交方式有什麼不同

post提交在網址列上看不到參數

php頁面提交方式有什麼不同

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跳转
   <a>跳转</a>

2、JS跳转
<script>
	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')

小結:

##提交資料大小提交少量數據,不同的瀏覽器最大值不一樣,IE是255個字元提交大量數據,可以透過更改php.ini設定檔來設置post提交資料的最大值安全性低#高##提交原則彈性##很靈活,只要有頁面的跳躍就可以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 的地址栏

php頁面提交方式有什麼不同

php頁面提交方式有什麼不同

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

<?php
var_dump($_GET);
?>

php頁面提交方式有什麼不同

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

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

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'];
?>

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'];
?>

php頁面提交方式有什麼不同

小结: 

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

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

推荐学习:《PHP视频教程


#GET POST
外觀上 在位址上看到傳遞的參數與值 網址列上看不到資料
提交的資料和資料之間在獨立的 將提交的資料變成XML格式提交

以上是php頁面提交方式有什麼不同的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)