PHP Error with Javascript


PHP Error with Javascript

下面是我在运行php程序时收到的错误。

注意:未定义的变量:输出 C:''xampp''htdocs''captchahtml''AdminAddPage.php 在第 147 行

注意:未定义的变量:输出 C:''xampp''htdocs''captchahtml''AdminAddPage.php 在第 148 行

注意:未定义的变量:输出 C:''xampp''htdocs''captchahtml''AdminAddPage.php 在第 156 行

"导致"错误的行是Javascript/Jquery代码,如下所示,

<?php
  ...

    ...
    echo<<<ADMINADDCAPTCHA_HEAD
        <!DOCTYPE html>
        <html>
        <head>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="./Admin_Add_2.css">
    <title>Admin Main Page</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script>
        .....
        .....
        Line 147:  var $output = $('#output');
        Line 148:  $output.empty();
        Line 156:  $output.append(a);
        ......
        ......
            </script>
    </head>
<body>
    ...
    ...
    ?>

我相信 php 正试图在这些行的位置放置一个变量。有没有办法解决这个问题。第 147 行是第一次出现"$..."。谢谢大家:)

这是使用

HEREDOC 语法从 PHP 中回显出来的客户端代码,使用 HEREDOC 语法,PHP 变量可以在输出中插值。

通常的做法是在 JQuery 变量前面加上 $ 符号,这是 JQuery 的简写,$但是 PHP 也使用它来表示变量的开头。这意味着 PHP 解释器正在拾取var $output,并试图回显变量$output的值 - 该值不存在,因此存在未定义的变量错误。

如果你想使用 HEREDOC 块,你可以通过转义任何$符号来解决这个问题,你想从字面上被视为$符号,例如:

var '$output = '$('#output');
'$output.empty();
'$output.append(a);

或者,你可以退出PHP解析(?> ... stuff .. <?php)或使用单个带引号的字符串,而不是使用HEREDOC。