https://example.com/path/?welcome_screen=1&email_address=something else@example.com
のような URL 文字列があります。PHP では、<?php echo $_GET['email_address']; ?>
これにより、something else@example.com
具体的には、電子メール アドレスの はスペースに置き換えられます。
echo
コードでこれが起こらないようにする方法はありますか?
はい、
は URL 内のスペースを表す方法です。 PHP は、
$_GET
データを作成するときに、値を自動的に URL デコードしてスペースに変換します。これは、元の URL の値が表すものであると想定されるためです。いいえ、その時にはもう手遅れでした。
はい、 が特殊文字として扱われないように、URL に値を含める前に
URL エンコードする必要があります。 PHP が URL を生成する場合は、
urlencode()関数を使用できます。他のほとんどのプログラミング言語には、同等の組み込み関数があります。