作者terrybob (罪云樵)
看板PHP
标题[请益] 双引号字串的存取
时间Tue Dec 4 12:11:57 2012
在input type="text"时,若使用者输入双引号资料,并储存至资料库後;
若要再编辑,会因为双引号的关系,之後的资料都会没有显示在input里。
例如:
第1次新增时->我觉得这网站好"赞"呀…
「储存至资料库: 使用mysqli_real_escape_string($mysql, $value); 」
第2次编辑时->我觉得这网站好" (双引号之後的资料都不见)
从原始码看,因为 ↓value值因双引号已配对
<input type="text" value="我觉得这网站好"赞"呀… />
第2次更新时->「我觉得这网站好」 ←只储存这字串,而双引号後的资料没了!
若要改正,其实很快速从input type=text value,用单引号去包php变数就好了
但偏偏网站已经有很多input type=text value都是用双引号去显示值…
请问各位高手们,有更好的方式去解决吗?…
以上,谢谢。
--
习惯一个人在房间里,安静地享受书的内容…
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.75.186.7
1F:→ j094097:把value作处理先把"改成"? 12/04 12:34
2F:推 wayway2004:value="<? echo htmlspecialchars($value); ?>" 12/04 12:52
3F:→ gname:自己写过滤不要用内建 12/04 13:15
4F:→ davidou:楼上 为什麽不要内建 12/04 15:24
5F:推 carlcarl:同四楼疑问 12/04 18:14
6F:→ gname:根据你实际的需求去铣写你要的过滤函式才是王道 12/04 21:57
7F:→ buganini:楼上-1 正常的需求都有对应的内建含式,自己搞效率差又 12/05 13:17
8F:→ buganini:不完整。 12/05 13:17
9F:→ gname:内建的不见得能符合你的需求,你预期要拿什麽样的资料就设个 12/05 14:51
10F:→ gname:白名单,其余全排除 , 这是最简易的方式... 12/05 14:52
11F:推 buganini:以这篇的需求而言,没什麽好排除的,需要的是正确escape 12/05 15:18
12F:→ buganini:而且也并不困难,就像2楼那样而已 12/05 15:19
13F:→ terrybob:谢谢大家的建议,我最终采用2楼方式,因为有时程的压力 12/05 16:03
14F:→ terrybob:我也想过用自订的方式输出,不过需求来说暂时没这麽复杂 12/05 16:03
15F:→ terrybob:以能正常输出在前台与input type为主就好,谢谢大家。 12/05 16:03
16F:推 wayway2004:原PO的判断也算是正确,看你当时是要练功还是要赶件XD 12/05 16:24