Ist das Entfernen des „+'-Zeichens die richtige Vorgehensweise beim Echo von $_GET-Variablen in PHP?
P粉481815897
P粉481815897 2023-09-09 19:18:32
0
1
499

Ich habe eine URL-Zeichenfolge ähnlich wie https://example.com/path/?welcome_screen=1&email_address=something+else@example.com

In PHP rufe ich <?php echo $_GET['email_address']; ?>

auf

Dadurch entsteht something else@example.com

Konkret wurde das + in der E-Mail-Adresse durch ein Leerzeichen ersetzt.

  1. Ist das zu erwarten?
  2. Wenn ja, gibt es im obigen echoCode eine Möglichkeit, dies zu verhindern?
  3. Oder soll es bei der Erfassung der E-Mail-Adresse verarbeitet werden?

P粉481815897
P粉481815897

Antworte allen(1)
P粉032900484
  1. 是的,+ 是在URL中表示空格的一种方式。PHP在创建$_GET数据时会自动对值进行URL解码,并将其转换为空格,因为它假设这就是原始URL中的值应该表示的内容。

  2. 不,那时已经太晚了。

  3. 是的,您应该在将值包含在URL中之前进行URL编码,以便+不被视为特殊字符。如果是PHP生成URL,您可以使用urlencode()函数。大多数其他编程语言都有等效的内置函数。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage