问题描述
我需要执行JavaScript操作取决于$ _SESSION php状态:
if(isset($_SESSION['logged']) && $_SESSION['logged'] == true)
{
echo <<<END
$("#I-like-it").click(function()
{
$(this).css({"font-size": "20px" });
});
$("#I-dont-like-it").click(function()
{
$(this).css({"font-size": "20px" });
});
END;
}
else
{
echo 'alert("You must be logged in to vote!")';
}
这是外部js文件。 我应该如何在此JS文件中使用PHP语句? 我的代码不起作用:c
1楼
PHP在服务器上运行,Javacript在浏览器上运行。 您可以将信息从PHP传递到Javascript,也可以将信息从JavaScript传递到服务器。 但是它们不能同时执行。
我建议做的是在加载时使用Javascript读取PHP变量
<script>
var serverSession = <? echo $_SESSION['logged'] ?>
</script>
然后,您的JavaScript可以执行此操作。
2楼
不,不能,这是不同类型的文件,PHP是服务器端,JS是客户端,但是您可以像这样在您的php文件中编写JavaScript:
<?php if(isset($_SESSION['logged']) && $_SESSION['logged'] == true) { echo ' <script> $("#I-like-it").click(function(){ $(this).css({"font-size": "20px" }); }); $("#I-dont-like-it").click(function(){ $(this).css({"font-size": "20px" }); }); </script> '; } else { echo '<script>alert("You must be logged in to vote!")</script>'; }