搜尋

首頁  >  問答  >  主體

移除 "+" 字元是在 PHP 中回顯 $_GET 變數時的正確做法嗎?

我有URL字串,類似https://example.com/path/?welcome_screen=1&email_address=something else@example.com

在PHP中,我呼叫<?php echo $_GET['email_address']; ?>

這將產生something else@example.com

具體來說,電子郵件地址中的 被替換成了空格。

  1. 這是預期的嗎?
  2. 如果是,是否有辦法在上述的echo程式碼中防止這種情況發生?
  3. 還是應該在收集電子郵件地址時進行處理?

P粉481815897P粉481815897452 天前503

全部回覆(1)我來回復

  • P粉032900484

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

    1. 是的, 是在URL中表示空格的一種方式。 PHP在建立$_GET資料時會自動對值進行URL解碼,並將其轉換為空格,因為它假設這就是原始URL中的值應該表示的內容。

    2. 不,那時已經太晚了。

    3. 是的,您應該在將值包含在URL中之前進行URL編碼,以便 不被視為特殊字元。如果是PHP產生URL,您可以使用urlencode()函數。大多數其他程式語言都有等效的內建函數。

    回覆
    0
  • 取消回覆