php echo添加“0”);“到输出结束

时间:2017-07-24 22:09:24

标签: javascript php apache echo

我运行的是我正在处理的本地服务器,而php echo似乎很吓人。这是错误:

echo "<script>console.log('test');</script>";

产量

<script>console.log('test');</script>;0')</script>

当我查看网页的“页面来源”时。在页面本身中,它显示为0');console.log()似乎正常工作。如果我更改其中一个以删除所有javascript并执行类似

的操作
echo "testing";
显示的是:

testing0');</script>

当我写一个新的回声它工作正常,当我尝试制作新的页面,它们也工作正常,当我在safari中查看它(我经常使用chrome)这个问题仍然存在。每次回显脚本时都会出现此问题,但是当回显其他内容时,它会正常运行。只有当我将现有的echo更改为纯文本时,它仍会附加;0')</script>,当我编写一个写入脚本的新echo时,它可以正常工作。

如果我在任何echo语句之后添加die();,那个(并且只有那个)缺少;0')</script>以上所有那些,它仍然在最后。

我为此做了什么?

信息: 我在mac和php版本5.5.36上使用默认的apache安装。随意问我澄清问题,如果需要,我可以在github上发布完整的php文件。

提前致谢,

路易斯

编辑清晰。

1 个答案:

答案 0 :(得分:0)

嗯,我觉得很愚蠢,我确实在每次回声之后吐出;0')</script>,因为我的所有console.log()成对出现,第二个看起来像这样:

echo "\n<script type=\"text/javascript\">\n    console.debug('".'  '+gettype($sql_peices)."');\n</script>";

并且那里的加号导致了这个问题,我应该:

echo "\n<script type=\"text/javascript\">\n    console.debug('".'  '.gettype($sql_peices)."');\n</script>";

有一段时间。我不知道我何时或如何把它放在那里,但现在一切都很完美。