我遇到了stripslashes的问题。我无法将我的 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\"}
引号必须在输入中,否则将无法正常工作。
谢谢你的帮助。
更新时间 7:58 EST 03/22
我最终将它发送到数据库中的一个表。
这是整个声明:
$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 时确实尝试了 stripslashes,如下所示:
$setImage = mysql_escape_string(stripslashes ($_POST['setImage']));
但给出了相同的结果。