繁体   English   中英

如何将用户会话保存在PHP中要在JavaScript中引用的变量中

[英]How to save user session in a variable in PHP to be referenced in JavaScript

案例:用户点击图片

  • 如果是回头用户(用户会话有效期为30分钟),请导航至图像的链接
  • 如果是新用户,则显示一个弹出div

现在,无论何时单击图像,我都会显示弹出div。 关于如何保存会话并将其作为JavaScript中的变量来执行以下功能的任何建议:

if {
    // user is log in.. do your task here..
} else {
    //user is not log in.. do your task here...
}

编辑:

<script>
<? if(isset($_SESSION["logged_in"])) {
    echo "var $check=1";
} else {
    echo "var $check=0";
} ?>

function SetMood() {
    if($check==1) {
        // user is log in.. do your task here..
        alert('URL');
    } else {
        //user is not log in.. do your task here...
        document.getElementById('light').style.display='block';
        document.getElementById('fade').style.display='block';
        document.getElementById('fade').scrollIntoView(true);
    }
}
</script>

该图像称为:

<a id="register" href = "javascript:void(0)" onclick = "SetMood();" data-fancybox-group="gallery">
    <img src="<cms:show my_image_thumb />" alt="" class="fade">
</a>

上面没有效果,现在onClick无法打开

不要在客户端代码中执行条件检查,而在服务器端代码中执行。

假设您具有要实现的JavaScript实现,则分别将它们称为:

navigateToLink();
showPopUp();

然后,您将根据服务器端会话检查有条件地发出一个或另一个的代码。 像这样:

<?php
if ($_SESSION['someValue'] == 'someKnownValue') {
?>
    navigateToLink();
<?php
} else {
?>
    showPopUp();
<?php
}
?>

这个想法是服务器端代码应确定用户可以做什么或不能做什么。 客户端代码发出的所有内容都对用户完全可见(并可以由用户修改)。

这应该可以帮助您:

<script>
    var yourValue = '<?php echo $_SESSION['yourSessionValue'] ?>';
    if(yourValue == 'hello') {
        console.log('hide yo kids');
    } else {
        console.log('hide yo wife');
    }
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM