我的数据库中有一些信息正在加载到我的页面上,但我希望能够使用if语句关于this的值,然后将javascript值指定为布尔值。我怎么能这样做? (目前我只是打印价值)
<?php
if ($_SESSION['loggedin'] = true){
print_r($_SESSION['userlevel']); // THIS IS WHAT I WANT TO SPECIFY IN AN IF STATEMENT
}
?>
<script>
var userloggedin = false;
</script>
我想在伪代码中做什么:
<script>
var userloggedin = false;
function somefunction(){
if (userloggedin == true){
//Do stuff...//
}
}
</script>
对于我对这个主题缺乏了解,我很抱歉,我才开始学习后端Web开发。
答案 0 :(得分:0)
您可以通过以下方式设置带有php值的javascript变量:
<script>
var jsVar='<?php echo $phpVar ?>';
</script>
答案 1 :(得分:0)
您可以从PHP回显一些Javascript代码,如下所示:
<script>
var userloggedin = <?php echo ($_SESSION['loggedin'] ? 'true' : 'false'); ?>;
</script>
答案 2 :(得分:0)
如果希望表达式按预期工作,首先更改if语句以使用==
双等号。然后您可以将echo
变量简单地转换为javascript,如下例所示:
简单的解决方案类似于:
<?php
if ($_SESSION['loggedin'] == true){
$logged_in = "true";
} else {
$logged_in = "false";
}
?>
<script>
var userloggedin = <?php echo $logged_in;?>;
</script>
答案 3 :(得分:0)
一个简单的解决方案就是在脚本标记中回显变量值。但这是不安全的,因为变量是全局的,这意味着它可以在客户端控制台中进行修改。
更好的解决方案是ajax请求和php脚本返回一些响应,这样变量的范围是ajax响应函数,因此它可以安全地修改。这是一个例子:
...
echo json_encode($_SESSION['loggedin'] ? 'true' : 'false');
...
在javascript中,您可以使用jquery .get()
请求:
$.get("userLoggedIn.php", function(data) {
var response = JSON.parse(data);
if(data === true) {
// user is logged in
}
else {
// not logged in
}
});
如果在其他任何事情之前处理此功能非常重要,那么同步ajax请求:
$.ajax({
url: "userLoggedIn.php",
async: false, // this makes request synchronous
success: function (data) {
var response = JSON.parse(data);
if (data === true) {
// user is logged in
} else {
// not logged in
}
});
同步请求意味着客户端在执行任何其他操作之前将等待请求完成。不建议大量使用它,但有时它是唯一的方法。
答案 4 :(得分:0)
您是否尝试在论坛中搜索以前关于将PHP变量解析为javascript的帖子?
通过简单的搜索,我在这里找到了一个与PHP变量解析相关的提要:
Get variable from PHP to JavaScript
无论如何,根据我对你的问题的理解,这是一个合适的答案吗?
<?php
if ($_SESSION['loggedin'] == true){
$userLevel = $_SESSION['userlevel'];
$userLoggedIn = true;
}
else {
$userLevel = null;
$userLoggedIn = false;
}
?>
<script type="text/javascript">
var userLoggedIn = "<?php Print($userLoggedIn); ?>";
var userLevel = "<?php Print($userLevel); ?>";
if (userLoggedIn == true) {
if (userLevel == "levelOne") {
//Your code here
}
else if (userLevel == "levelTwo") {
//Your code here
}
else {
//Your code here
}
}
</script>