爲什麼不能在每次提交表單後不斷對htmlspecialchars()進行編碼?看看下面的例子:php htmlspecialchars()從一種形式到另一種形式
<?php $_POST['txt'] = htmlspecialchars($_POST['txt']); ?>
<form method="post">
<input name="txt" value="<?=$_POST['txt'] ?>" />
<input type="submit" name="save" value="test" />
</form>
你可以看到它運行在http://verticalcms.com/htmlspecialchars.php。
現在做以下
1) Type & into the text field
2) Hit the test button once
3) When the page completes post back, hit the test button again
4) When the page completes post back, view the page source code
在輸入框中,該值是&放大器;
我期待着& amp;放大器;
爲什麼不是& amp;放大器; ???
「$ _POST中的值已經被html解碼了,以方便起見」 - 對不起,但這不是真的當您通過GET發送HTML編碼數據或POST,他們將可用「a s「在您的腳本中,不會進行自動解碼。 – 2009-02-05 22:00:22
猜猜我誤解了這個問題... – soulmerge 2009-02-06 09:26:25