我從MySQL數據庫中選擇數據,並執行以下操作進行urlencode/urldecode問題
echo "<input type=\"text\" name=\"distadd1\" id=\"distadd1\" class=\"textbox\" value=". urlencode($row['ADD1']). " >";
但是如下+規劃+%26 +開發部+正在顯示的值。
我如何刪除+和%26
我從MySQL數據庫中選擇數據,並執行以下操作進行urlencode/urldecode問題
echo "<input type=\"text\" name=\"distadd1\" id=\"distadd1\" class=\"textbox\" value=". urlencode($row['ADD1']). " >";
但是如下+規劃+%26 +開發部+正在顯示的值。
我如何刪除+和%26
URL編碼是不是你想要做這聽起來像什麼不同。嘗試改變URL編碼爲htmlentities,這將擺脫'+'和& 26;但仍會保護您免受XSS /腳本注入您的網頁。
Example #1 A htmlentities() example
<?php
$str = "A 'quote' is <b>bold</b>";
// Outputs: A 'quote' is <b>bold</b>
echo htmlentities($str);
// Outputs: A 'quote' is <b>bold</b>
echo htmlentities($str, ENT_QUOTES);
?>
不要擺在首位添加這些符號。顧名思義,urlencode()函數用於生成URL。你可能想要使用htmlspecialchars()。
我試過htmlentities,但它只是 返回字符串的第一個單詞。
您的HTML無效。您需要使用引號,以便您的屬性可以包含空格。比較:
<input name=user value=foo bar id=foo>
<input name="user" value="foo bar" id="foo">
你爲什麼要在首位對urlencoding進行編碼? – 2010-07-12 10:54:03
我想阻止XSS /腳本注入 – Tommy 2010-07-12 10:55:10
我想將字符串'Add1'放入表單輸入框中, 如果我只是說$ row ['ADD1'] 我得到字符串的第一個單詞,在這個case Department 但我發現通過使用urlencode我顯示整個字符串,但與空間字符。 我是PHP新手,可能會嘗試做這個錯誤。 – Scott 2010-07-12 11:04:55