2014-05-16 106 views
1

我有一個url從搜索表單中的變量顯示,但由於url編碼,它把「%3d」而不是「=」符號顯然不起作用。URL編碼問題%3D而不是(=)

我知道你不能「關閉」url編碼嗎?你不需要設置它來允許特殊字符?

下面是代碼:還是那句話,我需要以下=跡象所顯示的網址來展示,而不是%3D

<?php _e('Job Type'); ?><br /> 
    <select name="custom_field_id[]=10" class="do_input2"> 
    <option value=""></option> 
    <option value="custom_field_value_10=Full-time">Full-time</option> 
    <option value="custom_field_value_10=Part-time">Part-time</option> 
    </select> 

回答

0

你的意思是你要提交的表單數據,看起來像這樣:

custom_field_id[]=10=custom_field_value_10=Full-time 

在URL查詢字符串中,還是在application/x-www-webform-urlencoded請求的POST正文中?如果是這樣,那麼不,你不能那樣做。這違反了URL和application/x-www-webform-urlencoded規範。 =是不能在namevalue領域出現未編碼保留分隔符,它必須是URL編碼爲%3D

custom_field_id%5B%5D%3D10=custom_field_value_10%3DFull-time 

這是接收者的責任,那麼處理之前提交的數據URL的解碼。因此,它會看到custom_field_id[]=10custom_field_value_10=Full-time值,就像它們出現在原始HTML中一樣。

+0

這是事情... 我使用的主題在管理面板中可以將某些搜索字段分配給類別,但爲了使分配的搜索選項出現在搜索頁面上,它必須是設置爲「所有類別」,這是沒有意義的網站的另一部分,人們填寫初始表格......說一個房地產職位......我顯然不需要「工作類型」來顯示那裏。所以,我只將它分配到工作類別 - 它只顯示在職位頁面上。但是,如前所述,如果未將其分配給所有類別,則選項框將不會顯示在搜索頁面上。 – user3606735

+0

如果你確實這樣做,那麼得到的網址顯示正常 - custom_field_id [] = 10 = custom_field_value_10 =全職 雖然,我不能讓它像這樣設置... 因此,基本上,我只是創建我自己的搜索表單,我已經成功完成了所有其他類別的搜索,但由於某種原因,此類別具有分配給它的(相等)符號。因此,這個問題。如果我可以將%3D更改爲等號,那麼我就是金。 – user3606735

+0

我還看到(=)符號是一個保留字符,只要它用於特定的特定目的,就可以使用它。我不知道......我會繼續修補。 – user3606735