将localstorage密钥保存到MySQL中

时间:2012-03-12 20:27:27

标签: php javascript mysql ajax local-storage

我们镇上有一个小型竞赛,我们需要使用Ajax将本地存储密钥存储到MySQL中。

通过这个项目,我发现了一些问题。

这是我的localstorage键和值:

键:BM

值:

 [{"id":"item-1","icon":"google.com"},
    {"id":"item-3","icon":"tumblr.com"},
    {"id":"item-5","icon":"youtube.com"}]

基本上它的 id:ID,icon:URL ,两者都可以是随机的。

当我使用Ajax将其存储到MySQL中时,值将更改为:

[{\"id\":\"item-1\",\"icon\":\"google.com\"},
{\"id\":\"item-3\",\"icon\":\"tumblr.com\"},
{\"id\":\"item-5\",\"icon\":\"youtube.com\"}]

该行的结构是longtext。我试过纯文本但是一样。

我想听听更有经验的开发者的其他想法,你会怎么做。

使用JSON添加和解析localstorage值。

1 个答案:

答案 0 :(得分:1)

在插入数据之前,看起来php正在为您的输入添加斜杠。这可能是由魔术引起的。看看:http://php.net/manual/en/security.magicquotes.php

如果是这种情况,解决办法是关闭php中的magicquotes或使用stripslashes()

<?php

// Assuming your input is in the input variable
$input = stripslashes($_GET['input']);

mysql_query("insert into `table` ( `columnname` ) values( '" . mysql_real_escape_string($input) . "' )");

?>