来自php的echo javascript无法正常工作?

时间:2012-06-01 19:05:38

标签: php javascript html echo

所以,在一个html页面中,我试图让一个php段回显一些javascript代码,如下所示:

<?php
    echo "This was legitimately hit";
    if(!empty($_POST['name']))
    {
        echo '<script type="text/javascript">alert("We got the name");</script>';
    }
    else
    {
        echo '<script type="text/javascript">alert("We DID NOT get the name");</script>';
    }
?>

从我在网上看到的内容来看,这似乎是一种合法的做事方式,但该页似乎正在阅读第一部分,直到第一个关闭的雪佛龙(见下文)作为评论。 / p>

<?php
    echo "This was legitimately hit";
    if(!empty($_POST['name']))
    {
        echo '<script type="text/javascript">

然后它以纯文本形式读取else和next echo,并将其放在网页上。然后,下一个javascript代码块被读作常规的javascript代码块,因此该页面会弹出一个说它没有得到名称的弹出窗口。然后关闭括号和关闭V形符号会输出更多文本。

所以最后页面最终会有

alert("We got the name")'; } else { echo ''; } ?>

以纯文本形式打印在其上,并且弹出窗口显示我们没有收到任何姓名。

这里出了什么问题?

3 个答案:

答案 0 :(得分:4)

听起来这个文件没有像PHP一样处理。文件名是否以.php结尾?您确定PHP已安装并正确连接到Web服务器吗?

编辑:在同一页面中处理Facebook请求:

<?php

if (isset($_POST['facebook_request_field'])) {
  // handle the Facebook request, output any necessary response
  // then exit
  exit;
}

?>
<!-- display the web page normally here -->

所以对于你的测试页面:

<?php

if (isset($_POST['name'])) {
  echo '<script type="text/javascript">alert("got a name!");</script>';
  exit;
}

?>
<script type="text/javascript">alert("No name.");</script>

(这实际上与你已有的相同,所以也许我误解了目的。)

答案 1 :(得分:1)

We got the signed requestWe got the name之间,我认为您没有向我们提供导致错误的实际代码。仔细检查一下,确保在alert电话之前没有任何迷路单引号。

答案 2 :(得分:0)

;后缺少alert。你有没有尝试过纠正这个?