好的,嗨。
所以在我下面的代码中我使用if语句来检查用户是否是管理员,但问题是它没有检查它,它甚至没有调用它并且在控制台中它说:“未捕获的SyntaxError:意外的令牌<”。 我猜它会立即执行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) {
?>
<font color='red'><a onclick='dialog(<?=$post_id;?>, "+commentSubData[(x+0)]+")' title='Remove'><span class='glyphicon glyphicon-remove'></span></a></font>
<?
}
?>
</p>
<hr>";
}
}
答案 0 :(得分:2)
您不能在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 = " <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>
答案 1 :(得分:0)
你能试试吗
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) {
?>
<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