ホームページ > バックエンド開発 > PHPチュートリアル > PHP関数base64_encodeの後のパラメータには、プラス記号解析エラーの解決策が含まれています

PHP関数base64_encodeの後のパラメータには、プラス記号解析エラーの解決策が含まれています

WBOY
リリース: 2016-06-23 13:29:59
オリジナル
1619 人が閲覧しました

トピックに入る前に、まず次のコードを見てみましょう。 / /localhost/test2.php?name=55So5p2l5YGa5rWL6K+V55qE5a2X56ym5Liy&age=23 アドレス、ブラウザの出力は次のようになります:

<?php$url = "test2.php?name=".base64_encode('用来做测试的字符串')."&age=23";header("Location:$url");
ログイン後にコピー

何が起こっているのですか? Base64_decode をデコードできません?

リダイレクトされたアドレスの暗号化された名前パラメータに注意してください。これには、「+」記号が含まれています。ブラウザのアドレス バーに「+」記号があると、プラス記号はスペースに変換されます。 Base64_decode が正しいデコード操作を確実に実行できるようにするには、次のコードに示すように、まずパラメーター内のスペースをプラス記号に置き換えます。

<?phpvar_dump(base64_decode($_GET['name']));die();
ログイン後にコピー
は正しい出力結果を取得します。


<pre class="n">string '用来做测??y??9ke??)?.,' (length=26)
ログイン後にコピー

著作権表示: この記事はブロガーによるオリジナル記事であり、ブロガーの許可なく複製することはできません。

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