【发布时间】:2013-03-27 09:26:00
【问题描述】:
早上,
我创建了一个小表单来将一些信息存储到数据库中。
我在我的服务器上关闭了 magic_quotes_gpc。
如果我在框中输入" 或£ 符号,则无需担心将其存储到数据库中。
当我用 php 回显它时,它会显示,但如果我在输入表单字段中使用值," 会关闭值字段。
<input type="text" name="variable" value="<?php echo $row[variable]; ?>" />
我现在在输入值周围使用了 htmlspecialchars,它可以工作了。
<input type="text" name="variable" value="<?php echo htmlspecialchars($row[variable]); ?>" />
但我已将开放购物车源视为参考,它们不使用 htmlspecialchars 而是以不同的方式存储数据。
我尝试使用他们使用的 urlencodes 方法:
urlencode(html_entity_decode($_POST[variable],ENT_QUOTES, 'UTF-8'));
但这似乎存储了很多没有正确显示的数字和+号。
我宁愿对更新数据库进行编码,而不是使用 htmlspecialschars 的方法。
但不太确定哪种方式最好?
谢谢
【问题讨论】:
-
"我宁愿对更新数据库进行编码,而不是使用我使用 htmlspecialschars 的方法。" ——别再想要那个了。在将数据插入 HTML 之前立即将数据编码为 HTML 是明智的做法。它以干净的格式保存数据直到最后一分钟,所以如果你需要把它放在不是 HTML 的地方,它仍然可以。
标签: php html mysql htmlspecialchars