検索

ホームページ  >  に質問  >  本文

PHP で $_GET 変数をエコーするときに「+」文字を削除するのは正しいことですか?

https://example.com/path/?welcome_screen=1&email_address=something else@example.com

のような URL 文字列があります。

PHP では、<?php echo $_GET['email_address']; ?>

を呼び出します。

これにより、something else@example.com

が生成されます

具体的には、電子メール アドレスの はスペースに置き換えられます。

  1. これは予想通りですか?
  2. そうであれば、上記の echo コードでこれが起こらないようにする方法はありますか?
  3. それとも、電子メール アドレスを収集するときに処理する必要がありますか?

P粉481815897P粉481815897490日前524

全員に返信(1)返信します

  • P粉032900484

    P粉0329004842023-09-10 12:11:53

    1. はい、 は URL 内のスペースを表す方法です。 PHP は、$_GET データを作成するときに、値を自動的に URL デコードしてスペースに変換します。これは、元の URL の値が表すものであると想定されるためです。

    2. いいえ、その時にはもう手遅れでした。

    3. はい、 が特殊文字として扱われないように、URL に値を含める前に URL エンコードする必要があります。 PHP が URL を生成する場合は、urlencode() 関数を使用できます。他のほとんどのプログラミング言語には、同等の組み込み関数があります。

    4. 返事
      0
  • キャンセル返事