在字符串中使用 PHP 作为字符串.(JQuery)

Using PHP inside string as a string. (JQuery)

本文关键字:字符串 JQuery PHP      更新时间:2023-09-26

好的,你好。

因此,在我下面的代码中,我使用 if 语句来检查用户是否是管理员,但问题是它不检查它,它甚至不调用它,并且在控制台中它说:"未捕获的语法错误:意外的令牌<"。我猜它会立即执行 PHP 代码,但这不是我想要的,我只是希望它将其放入div 中。 (由于它检查会话,它应该可以工作,因为我已经检查了会话是否包含有关div 的那些内容。

法典:

for (var x = 0; x < commentData.length; x++) {
    if(x!=(commentData.length-1)) {
        var commentSubData = commentData[x].split("^");
        commentDIV = commentDiv+"<p style='display:block'><font size='4' color='white'>"+commentSubData[(x+3)]+"</font><br><br><font size='2' color='lightgray'>Posted on <font color='lightblue'>"+commentSubData[(x+2)]+"</font> by <font color='lightblue'>"+commentSubData[(x+1)]+"</font></font>
<?
    if($poster == $_SESSION['user_forumname'] || $_SESSION['perm_removecomments'] == 1) {
?>
        &nbsp;<font color='red'><a onclick='dialog(<?=$post_id;?>, "+commentSubData[(x+0)]+")' title='Remove'><span class='glyphicon glyphicon-remove'></span></a></font>
<?
    }
?>
     </p>
     <hr>";
    }
}

您不能在 JS 文件中使用 PHP 代码。如果您使用的是内联的 JS 代码并且不在外部 JS 文件中,则可以执行

<script>
 var forumname = "<?php echo $_SESSION['user_forumname']; ?>";
 for (var x = 0; x < commentData.length; x++) {
        if(x!=(commentData.length-1)) {
            var commentSubData = commentData[x].split("^");
            var commentDIV = commentDiv+"<p style='display:block'><font size='4' color='white'>"+commentSubData[(x+3)]+"</font><br><br><font size='2' color='lightgray'>Posted on <font color='lightblue'>"+commentSubData[(x+2)]+"</font> by <font color='lightblue'>"+commentSubData[(x+1)]+"</font></font>";
<?php
     if($poster == $_SESSION['user_forumname'] 
     || $_SESSION['perm_removecomments'] == 1) {
?>
            if(commentSubData[x+1] == forumname)
            {
                 var string = "&nbsp;<font color='red'><a onclick='dialog(<?php echo $post_id; ?>, "+commentSubData[(x+0)]+")' title='Remove'><span class='glyphicon glyphicon-remove'></span></a></font>";
<?php
     }
?>
                 var string2 = "</p>
                               <hr>";
                 //This is the final string
                 var final = commentDIV.concat(string).concat(string2);
            }
        }
    }
</script>

你能试试这个吗

for (var x = 0; x < commentData.length; x++) {
        if(x!=(commentData.length-1)) {
            var commentSubData = commentData[x].split("^");
            commentDIV = commentDiv+"
                <p style='display:block'>
                <font size='4' color='white'>"+commentSubData[(x+3)]+"</font>
                <br><br>
                <font size='2' color='lightgray'>Posted on <font color='lightblue'>"+commentSubData[(x+2)]+"</font> by <font color='lightblue'>"+commentSubData[(x+1)]+"</font></font>
                <?php
                if($poster == $_SESSION['user_forumname'] || $_SESSION['perm_removecomments'] == 1) {
                ?>
                &nbsp;<font color='red'><a onclick='dialog(<?=$post_id;?>, "+commentSubData[(x+0)]+")' title='Remove'><span class='glyphicon glyphicon-remove'></span></a></font>
                <?php
                }
                ?>
                </p>
                <hr>";
        }
    }

这可能是因为起始 PHP 标记可以写成<?php