有一个html输入字段文本具有来自数据库的值,值为:<input type=radio id="%id%" name="%name%" value="%valeur%" %checked% onclick="" />
。实际上,字段的数据是使用 htmlentities
函数在PHP
数据库中返回的列值上获取的。
问题是我不能在字段中键入任何字符,尽管该字段不是只读的!但是我可以使用后退键或删除键盘删除其中的字符。
那么它怎么可能是可写的呢?
不能使用单选按钮将文本写入其中。使用type="text"
或<textarea>
它是一个
单选按钮。 制作type=text
如果文本字段的值为 <input type=radio id="%id%" name="%name%" value="%valeur%" %checked% onclick="" />
<, >
则文本框中的值不值,请使用 <
、>
等。
在将东西放入value
之前使用htmlspecialchars
。
改用<input type="text" id="%id%" name="%name%" value="%valeur%" />
在我最初的帖子之后编辑:
您需要使用 "
从数据库中转义双引号。
所以这应该有效:
<input type="text" value="<input type=radio id="%id%" name="%name%" value="%valeur%" %checked% onclick=""/>" />
因此,您需要在插入数据库之前或将值放入文本字段时进行转义。但在这两种情况下,都需要更改双引号。
为此,请使用 php htmlspecialchars()
。
看这个小提琴。