PHP URL編碼/解碼
P粉512363233
P粉512363233 2023-08-14 13:16:12
0
2
618
<p>我使用了這個問題中被接受的解決方案來對id進行加密,例如在<strong>/index.php?id=3</strong>中。問題是我無法將加密後的值作為url發送,例如<strong>/index.php?id=dsf13f3343f23/23=</strong>。因為有時候url中會有奇怪的字符,例如注意末尾的<code>=</code>符號</p>
P粉512363233
P粉512363233

全部回覆(2)
P粉214176639

使用PHP的urlencode()函數將值編碼後再放入URL中。

此函數將「奇怪」的字符,如=,轉換為安全放入URL中的格式。你可以像這樣使用它:

Header('Location: /index.php?id=' . urlencode($id))
P粉346326040

在URL中傳遞的值中的奇怪字元應該使用#urlencode()來轉義。


例如,以下程式碼片段:

echo urlencode('dsf13f3343f23/23=');

將給出:

dsf13f3343f23%2F23%3D

作為URL參數,這樣是有效的。


如果你想要建立一個包含多個參數的查詢字串,請查看http_build_query()函數。

例如:

echo http_build_query(array(
    'id' => 'dsf13f3343f23/23=',
    'a' => 'plop',
    'b' => '$^@test', 
));

將給出:

id=dsf13f3343f23%2F23%3D&a=plop&b=%24%5E%40test

這個函數會自動處理轉義和參數的拼接;-)

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板