繁体   English   中英

从PHP回显JavaScript无法正常工作?

[英]echo javascript from php not working?

因此,在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>';
    }
?>

从我在网上阅读的内容来看,这似乎是一种合法的处理方式,但是该页面似乎一直在阅读第一部分,直到第一个关闭V形字形(如下所示)为止。

<?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 ''; } ?>

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

这是怎么了?

听起来好像文件没有作为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>

(实际上,该功能与您已经拥有的功能相同,因此也许我误解了这个目的。)

We got the signed requestWe got the name ,我想您还没有提供导致错误的实际代码。 请仔细检查,并确保在发出alert之前没有任何单引号。

有失踪; alert 您是否尝试过首先纠正此问题?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM