ホームページ バックエンド開発 PHPの問題 PHPページの送信方法の違いは何ですか?

PHPページの送信方法の違いは何ですか?

Jan 07, 2023 pm 03:47 PM
php

PHP ページでデータを送信するには、get と post の 2 つの方法があります。違いは次のとおりです: 1. get で送信する場合は、URL アドレスのパラメーターを確認できますが、post で送信する場合は、URL アドレスのパラメーターを確認できません。アドレスバーのパラメータを参照してください; 2. Get は安全ではありません。post は安全です; 3. Get 送信はパラメータを 1 つずつ送信することであり、post 送信はすべてのパラメータを全体としてまとめて送信することです; 4. 一般的に送信を取得します255 バイトを超えず、ポスト送信のサイズはサーバーによって異なります; 5. Get は非常に柔軟で、ページジャンプがある限りパラメータを渡すことができますが、post は柔軟性がありません。

PHPページの送信方法の違いは何ですか?

このチュートリアルの動作環境: Windows7 システム、PHP8 バージョン、DELL G3 コンピューター

php ページでは、次の 2 つの方法があります。データの送信:get モードと post モード。

<form method="post" action=""></form>
<form method="get" action=""></form>
ログイン後にコピー

get メソッドと post メソッドの違い

1. 外観

get Submitアドレス

PHPページの送信方法の違いは何ですか?

post Submit にパラメータが表示され、アドレス バー

PHPページの送信方法の違いは何ですか?

## にパラメータが表示されます。

#2. セキュリティ

get は安全ではありませんが、post は安全です

get によって送信されたデータは URL バーに表示されますが、post によって送信されたデータは目に見えないので投稿の方が安全です。

3. 提出の原則

get 提出はパラメータを 1 つずつ提出することです

post 提出はすべてのパラメータをまとめて提出することです

4. 送信されたデータのサイズ

取得送信は通常 255 バイトを超えません

投稿送信のサイズはサーバーによって異なります

// 在php.ini中,可以配置post提交的大小
post_max_size = 8M
ログイン後にコピー

5. 柔軟性

get は非常に柔軟です。ページジャンプがある限りパラメータを渡すことができます。

post は柔軟性がありません。投稿には次の参加が必要です。フォーム

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')
ログイン後にコピー

概要:

外観送信データ サイズセキュリティ提出原則#提出データをXML形式に変換して提出します 柔軟性があり、ページジャンプがある限り、データの取得と受け渡しが可能です

##GET
POST
アドレスに渡されたパラメータと値が表示されますアドレスにはデータが表示されませんbar
少量のデータを送信します。ブラウザごとに最大値が異なります。IE は 255 文字です。大量のデータを送信します。データの最大値は、php.ini 設定ファイルを変更することで設定できます。 送信後データの最大値
LowHigh
提出データとデータは独立です #非常に柔軟です
柔軟性がありません

服务器数据的三种方式

$_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视频教程

以上がPHPページの送信方法の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles