2010-04-03 70 views
1

也許,這個問題之前已經被問過了,但我會再問一次。PHP:簡單的表格編碼/解碼

目前,我遇到了表單編碼問題。發佈我的表單時,所有空格均由「+」字符替換。我想用真實空間替換這個「+」字符。

有人對此有PHP解決方案嗎?

在此先感謝。

乾杯,倫納特

回答

0

無法重現

<form> 
<input type=text name="a" value="text with spaces"> 
<input type=submit> 
</form> 
<?php if (isset($_GET['a'])) echo $_GET['a'] ?> 

沒有空間可言。我做錯了什麼?

0

如果瀏覽器的行爲正確,這應該不會發生。我的假設是,JavaScript會搞亂你的數據。使用加號代替空格是在編碼url時完成的,也許這會有所幫助。

您可以使用firebug檢查是否有任何js干擾。

0

我使用AJAX(X =在這種情況下JSON),用於處理表單發送等

然後讓我們來看看代碼。

可能您正在嘗試在另一個組件也對其進行表單編碼之前手動對數據進行表單編碼。用+代替空格是相當標準的,並且對於表單編碼來說是預期的,但是如果你不小心做了兩次,那麼你會在編碼結尾留下編碼的+

如果您使用JavaScript escape函數:不要。 (當您需要對錶單值進行URL編碼以包含在參數中時,正確的方法是encodeURIComponentescape是一種非水果的非標準編碼,您應該幾乎從不需要使用它。)