我的代码出错

Error with my code?

本文关键字:出错 代码 我的      更新时间:2023-09-26

我正在为我的学校做一个项目。

这是一个页面源查看器,但我遇到了一个问题。

使用谷歌浏览器,我收到此错误:Uncaught SyntaxError: Unexpected token : main.php:10

HTML

<html>
    <head>
        <title>Codeview - See how your code turns out!</title>
        <link rel="stylesheet" type="text/css" href="style.css">
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    </head>
    <body>
        <script>
        var url = <?php echo "$url"; ?>
        var oReq = new XMLHttpRequest();
            oReq.open("GET", url, true);
            console.log(oReq.response);
        </script>
        <div id="header">
            <h2>Codeview</h2>
        </div>
        <div id="main">
            <br>
            <h3>Code of <?php  echo $url;?>:</h3>
            <hr>
            <div id="code">
            </div>
            <iframe id="Code" class="code"></iframe>
        </div>
        </body>
</html>

PHP:

<?php
function contains($needle, $haystack)
{
    return strpos($haystack, $needle) !== true;
}
$url = $_POST['url'];
if (strpos($url, "http://") !== false) {
$url = $url;
} else {
$url = "http://" . $url;
}
?>

我找不到冒号(:)在我的代码中第 10 行的任何地方..

我做错了什么?

这个: var url = <?php echo "$url"; ?>

将输出如下内容:

var url = http://example.com

JavaScript 中的字符串需要用引号括起来。您也容易受到 XSS 攻击。

使用 json_encode 将 PHP 字符串转换为 JavaScript 字符串。

不依赖分号插入也是一种很好的做法。

var url = <?php echo json_encode("$url"); ?>;

在 JavaScript 中,你需要用引号括住字符串。

var url = <?php echo "$url"; ?>

这呈现为:

var url = http://google.com

这是一个语法错误! 试试这个:

var url = <?php echo json_encode($url); ?>;

这将为您添加引号。

JS 代码中打印到变量声明中时需要使用引号:

var url = "<?php echo $url; ?>";

但是不要使用此代码!它容易受到跨站点脚本攻击。要在 javascript 上下文中转义 URL,请使用 json_encode

var url = <?php echo json_encode($url); ?>;   /* this one is safe */

作为第一步,您应该在 js var 中添加引号

var url = '<?php echo "$url"; ?>';
<</div> div class="answers">

更改以下内容:

var url = <?php echo "$url"; ?>

对此:

var url = '<?php echo "$url"; ?>';
<</div> div class="answers">

尝试在此行的末尾添加一个分号,并将 PHP 代码括在引号中:

var url = "<?php echo "$url"; ?>";