【发布时间】:2013-03-22 21:14:41
【问题描述】:
我遇到了与带斜杠有关的问题。我无法将我的 Javascript 代码转换为 json_decode,因为我相信斜线会侵入。
这是我所拥有的:
$str = stripslashes ($_POST['setImage']);
$setImage = mysql_escape_string($str);
if(json_decode($str) == NULL)
{
echo("not valid json!");
}else{
$imageUrls = json_decode($setImage);
}
从这里获取信息:
<img src="<?php echo $photo['picurl']; ?>" onclick='javascript: setCoverForSet(
{"photo_id": "<?php echo $photo['photo_id']; ?>",
"original": "<?php echo $photo['piclink']; ?>",
"thumbnail": "<?php echo $photo['picurl']; ?>"});'/>
<input type="text" value='{"photo_id": <?php echo $photo['photo_id']; ?>, "original": <?php echo $photo['piclink']; ?>, "thumbnail": <?php echo $photo['picurl']; ?>}' name="photos[]" />
这是我打印时输出的内容
{\"photo_id\": \"2\", \"original\": \"content/employees/1/1363556600bsmiles.jpg\", \"thumbnail\": \"content/employees/thumbs/1/thumb_1363556600bsmiles.jpg\"}
引号必须在输入中,否则将无法正常工作。
感谢您的帮助。
美国东部时间 03 月 22 日 7:58 更新
我最终将它发送到数据库中的一个表。
这是整个声明:
$str = stripslashes ($_POST['setImage']);
$setImage = mysql_escape_string($str);
if(json_decode($str) == NULL)
{
echo("not valid json!");
}else{
$imageUrls = json_decode($setImage);
}
$photos = mysql_escape_string($_POST[photos]);
$piclink = print $imageUrls->{'thumbnail'};
$piclurl = print $imageUrls->{'original'};
$title = mysql_escape_string($_POST[title]);
$firstname = mysql_escape_string($_POST[firstname]);
$lastname = mysql_escape_string($_POST[lastname]);
$todaysdate = date("Y-m-d");
mysql_query("UPDATE staff SET title = '".$title."', staff_firstname = '".$firstname."',
staff_lastname = '".$lastname."',
piclink = '".$piclink."',
picurl = '".$picurl."',
last_update = '".$todaysdate."' WHERE staff_id = $EID") or die(mysql_error());
我唯一能想到的是多余的斜杠干扰了 json_decode。 我只放了 echo 语句,以便我可以看到帖子之后传递的内容。
我在执行 mysql_escape_string 时确实尝试过删除斜线,如下所示:
$setImage = mysql_escape_string(stripslashes ($_POST['setImage']));
但给出了相同的结果。
【问题讨论】:
-
stripslashes撤消了magic_quotes损坏(请仔细阅读!),但是您将反斜杠应用到mysql_escape_string,这是加倍愚蠢的,因为您没有将字符串发送到数据库,无论如何这将是错误的功能。 -
请解释一下,你在哪里打印什么。请使用您的调试语句增强您的代码。最后显示您在表单中输入的内容以及脚本打印的内容。
标签: php javascript mysql