目次
1. getメソッドリクエスト
2、post方式请求
ホームページ バックエンド開発 PHPチュートリアル +記号などの特殊文字パラメータを受け取るPHPの問題

+記号などの特殊文字パラメータを受け取るPHPの問題

Apr 13, 2018 pm 02:06 PM
php パラメータ 質問

この記事では、PHP が + 記号などの特殊文字パラメーターを受信する問題を紹介します。必要な方はぜひご覧ください。

送信プロセス中のパラメーター「+」記号に関する少し奇妙な問題を記録します。 . 逃げられるかどうか。

1. getメソッドリクエスト

phpで受け取ったパラメータの「+」がスペースになるので、「+」記号を元に戻す必要がある場合は、urldecodeを実行します。受信したパラメータを変更する必要があります。
curl とブラウザを使用すると、受け取ったすべてのパラメータの + 記号がスペースに変換されます。
リクエストアドレスはhttp://ip/xx?aa=+889ですhttp://ip/xx?aa=+889
使用 $_REQUEST['aa'] 接收到的参数值为“ 889”,参数+号被转为了空格,如果希望得到原样的+889,则需要使用urlencode($_REQUEST)来进行获取。

但是,如果传输的时候,使用的是http://ip/xx?aa=%2B889,即自行对+号进行了url编码,那$_REQUEST接收到的就是+889的参数。

2、post方式请求

使用post方式,curl执行接收到的参数也是将+号转为了空格;但是通过html form模拟的post,接收到的却是完整的+号(form提交的时候自动对参数进行了url编码?)。
接收参数使用$_POST。
如果在curl的时候,post的参数使用编码后的%2B889,那php接收到的就是+889$_REQUEST['aa']を使用し、受け取ったパラメータ値はです" 889 ” の場合、パラメータ + 記号はスペースに変換されます。元の +889 を取得したい場合は、urlencode($_REQUEST) を使用する必要があります。それを手に入れるために。

ただし、送信中に http://ip/xx?aa=%2B889 が使用される場合、つまり + 記号自体が URL エンコードされる場合、$_REQUEST code> code> が受け取るのは、<code>+889 のパラメータです。

2. Post リクエスト
post メソッドを使用すると、curl の実行で受け取ったパラメータも + 記号をスペースに変換しますが、HTML フォームを通じて投稿がシミュレートされると、完全な + 記号が受信されます。送信済み) パラメータは URL エンコードされていますか?)。 $_POSTを使用してパラメータを受け取ります。
curl 中に post パラメータでエンコードされた %2B889 が使用される場合、PHP が受け取るのは +889 です。

3. 結論

したがって、結論を導き出します: 🎜🎜php は、パラメーターを受信すると、そのパラメーターに対して urldecode デコード操作を自動的に実行します。 したがって、送信されたパラメーターが URL エンコードされていない場合、特殊文字 ( + 記号) はスペースとしてデコードされるため、パラメーターが正しく受信されません。 🎜 🎜 PHP が特殊文字を含むパラメータを正しく受信できるようにするには、クライアントとサーバーの間で合意する必要があります。たとえば、クライアントから送信されるパラメータはすべて URL エンコードされたパラメータであるため、クライアントが受信するパラメータはすべて URL エンコードされます。サーバーのパラメータは正しいです。 🎜🎜🎜🎜

以上が+記号などの特殊文字パラメータを受け取る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)

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:28 PM

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

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

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

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

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

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

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:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

See all articles