HTMLジャンプパラメータ

PHPz
リリース: 2023-05-15 16:58:08
オリジナル
1615 人が閲覧しました

HTML ジャンプ パラメータ: GET および POST メソッドを使用してパラメータを渡すためのヒント

HTML は一般的に使用されるフロントエンド プログラミング言語です。実際のアプリケーションでは、ページ上でジャンプするときにいくつかのパラメータを渡す必要がある場合があります。 。たとえば、検索ページでキーワードを検索し、検索結果ページにジャンプして、関連する検索結果を結果ページに表示する場合は、パラメーターを渡す必要があります。この記事では、HTMLでパラメータをジャンプする方法と、GETメソッドとPOSTメソッドを使用してパラメータを渡す方法を紹介します。

1. HTML でパラメータをジャンプする方法

HTML ページでパラメータをジャンプするには、URL パラメータでジャンプする方法とフォーム送信でジャンプする方法の 2 つがあります。

1. URL パラメーター ジャンプ

URL パラメーター ジャンプとは、URL アドレスの末尾にパラメーターを直接追加することを指し、ターゲット ページにジャンプするときに、バックグラウンドが URL を通じてパラメーターを取得できるようにします。解析中。

URL アドレスの形式は次のとおりです。

http://www.example.com/index.php?key=value
ログイン後にコピー

ここで、key はパラメータ名、value はパラメータ値です。複数のパラメータを渡す必要がある場合は、& 記号を使用して接続できます。例:

http://www.example.com/index.php?key1=value1&key2=value2
ログイン後にコピー

ジャンプする必要があるハイパーリンク タグ <a> の href 属性の値は、ジャンプ先の URL アドレスです。例:

&lt;a href=&quot;http://www.example.com/index.php?key=value&quot;&gt;跳转到目的地&lt;/a&gt;
ログイン後にコピー

ユーザーがこのリンクをクリックすると、自動的にターゲットページにジャンプし、パラメータが表示されます。

2. ジャンプを実現するためのフォーム送信

ジャンプを実現するためのフォーム送信とは、フォーム送信を通じてバックグラウンドにパラメータを渡すことを意味し、バックグラウンドはフォームデータを解析することでパラメータを取得します。

HTML フォームの一般的な形式には、テキスト入力ボックス、ドロップダウン選択ボックス、ラジオ ボタン、チェック ボックスなどが含まれます。フォームを送信するには、フォーム データのハンドラーを

タグで定義する必要があります。

例:

&lt;form method=&quot;post&quot; action=&quot;http://www.example.com/index.php&quot;&gt;
    &lt;input type=&quot;text&quot; name=&quot;key1&quot; value=&quot;value1&quot;&gt;
    &lt;input type=&quot;text&quot; name=&quot;key2&quot; value=&quot;value2&quot;&gt;
    &lt;input type=&quot;submit&quot; name=&quot;submit&quot; value=&quot;提交&quot;&gt;
&lt;/form&gt;
ログイン後にコピー

上記のコードでは、method="post" は、POST メソッドを使用してフォームを送信することを意味します。action="http: //www.example.com/index.php" は、指定されたページにフォームを送信することを意味します。

このうち、<input> タグ内の name 属性はパラメータ名を表し、value 属性はパラメータ値を表します。 。フォームが送信されると、バックグラウンドが解析を通じてパラメーターを取得できるように、フォーム データも一緒にバックグラウンドに送信されます。

2. GET メソッドと POST メソッドでパラメータを渡す場合のヒント

パラメータを渡すときは、GET メソッドと POST メソッドの違いとセキュリティの問題に注意する必要があります。 GET メソッドは URL の一部としてパラメーターを使用し、それらをクリア テキストで送信します。これは、悪意のある攻撃者によって簡単に傍受または改ざんされる可能性があります。 POSTメソッドはHTTPリクエストのメッセージボディにパラメータを含める方式であり、安全性は高くなりますが、伝送効率は低くなります。

パラメーターを渡すとき、GET メソッドまたは POST メソッドを使用するときに、パラメーターを処理するいくつかのテクニックを使用して、より柔軟かつ安全にすることができます。

1. URL エンコーディングを使用してパラメーターを渡す

GET メソッドでは、パラメーターは URL にプレーン テキストで表示されます。パラメーターにスペース、中国語、中国語などの特殊文字が含まれている場合、記号など、問題が発生します。このとき、送信プロセス中に例外が発生しないように、URL エンコード技術を使用してパラメータをエンコードする必要があります。 URL エンコードは、特殊文字を %xx の 16 進表現に変換することによって機能します。たとえば、スペースは としてエンコードされ、中国語の「中国」は China としてエンコードされます。

URL では、すべての特殊文字をエンコードする必要があります。 HTML では、次に示すように、encodeURIComponent() 関数と decodeURIComponent() 関数を使用して URL エンコードとデコードを実行できます。

var keyword = &quot;中国&quot;;
var url = &quot;http://www.example.com/index.php?keyword=&quot; + encodeURIComponent(keyword);
ログイン後にコピー

上記のコードは ## を利用しています。 # encodeURIComponent() 関数は中国語をエンコードし、生成される URL アドレスは次のとおりです:

http://www.example.com/index.php?keyword=%e4%b8%ad%e5%9b%bd
ログイン後にコピー

バックグラウンド処理中に、パラメータをデコードする必要があります:

$keyword = urldecode($_GET['keyword']);
ログイン後にコピー

2. 隠しフォーム配信を使用するパラメータ

POST メソッドを使用してパラメータを渡す場合、隠しフォームを使用してパラメータを渡す手法があります。フォームを非表示にするということは、フォーム要素の

style 属性を display:none に設定してページ上で非表示にすることを意味します。隠しフォームに必要なパラメータを追加することで、フォーム送信時に一緒にバックグラウンドに送信することができます。

例:

&lt;form method=&quot;post&quot; action=&quot;http://www.example.com/index.php&quot;&gt;
    &lt;input type=&quot;text&quot; name=&quot;keyword&quot; value=&quot;中国&quot;&gt;
    &lt;input type=&quot;hidden&quot; name=&quot;id&quot; value=&quot;123&quot;&gt;
    &lt;input type=&quot;submit&quot; name=&quot;submit&quot; value=&quot;提交&quot;&gt;
&lt;/form&gt;
ログイン後にコピー

上記のコードでは、

<input> タグの type 属性が非表示になっており、これは、これが非表示フォーム。name 属性はパラメータ名を表し、value 属性はパラメータ値を表します。フォームを送信すると、これらのパラメータが一緒にバックグラウンドに送信されます。

3. JSON データ形式を使用してパラメータを転送する

JSON は、汎用性、柔軟性、読みやすさの特徴を備えた軽量のデータ交換形式です。パラメーターの受け渡しでは、パラメーターを JSON オブジェクトに直接カプセル化し、POST メソッドを通じて渡すことができます。

例:

var data = {&quot;id&quot;:123, &quot;name&quot;:&quot;中国&quot;};
$.post(&quot;http://www.example.com/index.php&quot;, JSON.stringify(data), function(response){
    console.log(response);
}, &quot;json&quot;);
ログイン後にコピー

上記のコードでは、jQuery の

$.post() 関数を使用して POST メソッドの送信を実装しています。この関数の最初のパラメータはデータを処理するページを表し、2 番目のパラメータは送信されるデータを表し、3 番目のパラメータは成功後のコールバック関数を表し、4 番目のパラメータはデータ型を表します。

バックグラウンドで処理する場合は、PHP の

json_decode() 関数を使用してデコードする必要があります。<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$data = json_decode(file_get_contents('php://input'), true);</pre><div class="contentsignin">ログイン後にコピー</div></div><p>这段代码中,<code>file_get_contents('php://input')表示获取提交的消息体,即POST方法中的参数。json_decode()函数将JSON格式的参数解码为PHP数组,第二个参数为true表示转换为关联数组形式。

注意:利用JSON进行参数传递时,需要注意安全性问题,防止恶意攻击者注入JS代码或跨站脚本攻击。此时,可以使用jQuery的$.param()函数将参数序列化为字符串进行安全性处理。

总结:

HTML跳转参数可以通过URL参数或表单提交实现,使用GET方法和POST方法进行参数传递时,需要注意安全性和参数的编码解码问题。可以利用URL编码、隐藏表单或JSON数据格式等技巧来实现参数的传递。

以上がHTMLジャンプパラメータの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート